itzg / docker-minecraft-server

Docker image that provides a Minecraft Server that will automatically download selected version at startup
https://docker-minecraft-server.readthedocs.io/
Apache License 2.0
9.23k stars 1.52k forks source link

Error: Unable to access jarfile *forge*.jar #1056

Closed briandilley closed 3 years ago

briandilley commented 3 years ago

I get the error Error: Unable to access jarfile *forge*.jar on startup with empty directories (ie: no mods installed yet, a fresh install) and the following docker-compose:

  # minecraft
  minecraft:
    container_name: minecraft
    hostname: minecraft
    image: itzg/minecraft-server
    tty: true
    stdin_open: true
    restart: unless-stopped
    ports:
      - ${MINECRAFT_IP}:25565:25565
      - ${MINECRAFT_IP}:7091:7091
    environment:
      - TZ=${TZ}
      - EULA=TRUE
      - UID=${MINECRAFT_UID}
      - GID=${MINECRAFT_GID}
      - MAX_MEMORY=32G
      - MEMORY=5G
      - ENABLE_JMX=true
      #- USE_AIKAR_FLAGS=true
      - REMOVE_OLD_MODS=true
      - TYPE=FORGE
      #- FORGEVERSION=37.0.70
      #- GENERIC_PACK=modpacks/RLCraft+Server+Pack+1.12.2+-+Beta+v2.8.2.zip
      #- GENERIC_PACK_STRIP_DIRS=1
      # - DISABLE_HEALTHCHECK=true
      - DIFFICULTY=normal
      - OPS=admin
      - MAX_PLAYERS=50
      - MAX_WORLD_SIZE=50000
      - ALLOW_NETHER=true
      - ANNOUNCE_PLAYER_ACHIEVEMENTS=true
      - ENABLE_COMMAND_BLOCK=true
      - GENERATE_STRUCTURES=true
      - SPAWN_ANIMALS=true
      - SPAWN_MONSTERS=true
      - SPAWN_NPCS=true
      - VIEW_DISTANCE=15
      - MODE=survival
      - MOTD=Welcome To DilleyCraft
      - PVP=true
      - ALLOW_FLIGHT=false
      #- VERSION=SNAPSHOT
      - LEVEL_TYPE=LARGEBIOMES
      - TUNE_VIRTUALIZED=true
      - USE_LARGE_PAGES=true
    volumes:
      - /storage/docker/minecraft/data:/data
      - /storage/docker/minecraft/mods:/mods
      - /storage/docker/minecraft/config:/config
itzg commented 3 years ago

Can you provide the container logs up to that point?

briandilley commented 3 years ago

@itzg here you go:

brian@master-chief:~/home-lab/master-chief$ sudo docker-compose --env-file=master-chief.env -f docker-compose.yml run minecraft
[init] Changing uid of minecraft to 1009
[init] Changing gid of minecraft to 1010
[init] Running as uid=1009 gid=1010 with /data as 'drwxrwxr-x 5 1009 1010 4096 Sep 24 21:55 /data'
[init] Resolved version given LATEST into 1.17.1
[init] Resolving type given FORGE
[init] **********************************************************************
[init] WARNING: The image tag itzg/minecraft-server:java8 is recommended
[init]          since some mods require Java 8
[init]          Exception traces reporting ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader
[init]          can be fixed with java8
[init] **********************************************************************
[init] Checking Forge version information.
[init] Copying any mods over...
[init] Copying any configs from /config to /data/config
[init] server.properties already created, skipping
[init] Updating ops
[init] Checking for JSON files.
[init] Setting initial memory to 5G and max to 32G
[init] JMX is enabled. Make sure you have port forwarding for 7091
[init] Starting the Minecraft server...
Error: Unable to access jarfile *forge*.jar
2021-09-24T21:55:17.982-0700    WARN    mc-server-runner    sub-process failed  {"exitCode": 1}
2021-09-24T21:55:17.982-0700    INFO    mc-server-runner    Done
brian@master-chief:~/home-lab/master-chief$
itzg commented 3 years ago

Thanks, that helped a lot. A previous run of the forge installer failed and the wrong server file identifier was persisted. I'll add some logic to avoid that scenario and in this case force a redownload of the installer.

briandilley commented 3 years ago

So what should I do to get this working?

briandilley commented 3 years ago

A fresh run results in the same problem (fresh as in empty directories)

briandilley commented 3 years ago

this is from a fresh run:


  Patching net/minecraft/client/gui/screens/MenuScreens$ScreenConstructor 1/1
  Patching net/minecraft/client/multiplayer/ClientLevel$ClientLevelData 1/1
  Patching net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$RenderChunk$ChunkCompileTask 1/1
  Patching net/minecraft/client/gui/screens/inventory/CreativeModeInventoryScreen$CustomCreativeSlot 1/1
  Patching net/minecraft/client/multiplayer/ServerStatusPinger$2$1 1/1
  Patching com/mojang/blaze3d/vertex/VertexFormatElement$Usage 1/1
  Patching net/minecraft/client/renderer/block/ModelBlockRenderer$AmbientOcclusionFace 1/1
  Patching net/minecraft/client/multiplayer/ClientHandshakePacketListenerImpl 1/1
  Patching net/minecraft/client/multiplayer/ClientPacketListener$1 1/1
  Patching net/minecraft/client/gui/screens/controls/ControlList$CategoryEntry$1 1/1
  Patching net/minecraft/client/particle/ParticleEngine$MutableSpriteSet 1/1
  Patching net/minecraft/client/color/item/ItemColors 1/1
  Patching net/minecraft/client/renderer/block/model/ItemTransform$Deserializer 1/1
  Patching com/mojang/blaze3d/vertex/BufferBuilder$SortState 1/1
  Patching net/minecraft/client/gui/screens/packs/PackSelectionModel$SelectedPackEntry 1/1
  Patching net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$RenderChunk$RebuildTask 1/1
  Patching net/minecraft/client/renderer/ScreenEffectRenderer 1/1
  Patching net/minecraft/client/gui/screens/MenuScreens 1/1
  Patching net/minecraft/client/gui/screens/TitleScreen 1/1
  Patching net/minecraft/client/main/Main$2 1/1
  Patching net/minecraft/client/gui/screens/worldselection/CreateWorldScreen$SelectedGameMode 1/1
  Patching net/minecraft/client/main/Main$1 1/1
  Patching net/minecraft/client/main/Main$3 1/1
  Patching net/minecraft/client/resources/model/SimpleBakedModel 1/1
  Patching com/mojang/blaze3d/platform/GlStateManager 1/1
  Patching net/minecraft/client/multiplayer/MultiPlayerGameMode 1/1
  Patching net/minecraft/client/gui/screens/inventory/CreativeModeInventoryScreen$ItemPickerMenu 1/1
  Patching net/minecraft/client/renderer/entity/ItemRenderer 1/1
  Patching com/mojang/blaze3d/vertex/VertexFormatElement$Usage$SetupState 1/1
The server installed successfully
You can delete this installer file now if you wish
[init] Finding installed server jar...
[init] Using server *forge*.jar
[init] Copying any mods over...
update:mods/.:Last Modified 2021/09/23-19:23:26
[init] Copying any configs from /config to /data/config
update:config/.:Last Modified 2021/09/23-19:23:26
[init] Creating server.properties in /data/server.properties
[init] Disabling whitelist
[init] Setting whitelist to 'false' in /data/server.properties
[init] Setting white-list to 'false' in /data/server.properties
[init] Adding server-name with 'Dedicated Server' in /data/server.properties
[init] Setting server-port to '25565' in /data/server.properties
[init] Setting motd to 'Welcome To DilleyCraft' in /data/server.properties
[init] Setting allow-nether to 'true' in /data/server.properties
[init] Setting announce-player-achievements to 'true' in /data/server.properties
[init] Setting enable-command-block to 'true' in /data/server.properties
[init] Setting spawn-animals to 'true' in /data/server.properties
[init] Setting spawn-monsters to 'true' in /data/server.properties
[init] Setting spawn-npcs to 'true' in /data/server.properties
[init] Setting generate-structures to 'true' in /data/server.properties
[init] Setting view-distance to '15' in /data/server.properties
[init] Setting enable-rcon to 'true' in /data/server.properties
[init] Setting rcon.password to 'minecraft' in /data/server.properties
[init] Setting rcon.port to '25575' in /data/server.properties
[init] Setting max-players to '50' in /data/server.properties
[init] Setting max-world-size to '50000' in /data/server.properties
[init] Setting level-name to 'world' in /data/server.properties
[init] Setting pvp to 'true' in /data/server.properties
[init] Setting online-mode to 'true' in /data/server.properties
[init] Setting allow-flight to 'false' in /data/server.properties
[init] Setting level-type to 'LARGEBIOMES' in /data/server.properties
[init] Setting enable-jmx-monitoring to 'true' in /data/server.properties
[init] Setting difficulty to 'normal' in /data/server.properties
[init] Setting mode
[init] Setting gamemode to 'survival' in /data/server.properties
[init] Updating ops
[init] Checking for JSON files.
[init] Setting initial memory to 5G and max to 32G
[init] JMX is enabled. Make sure you have port forwarding for 7091
[init] Starting the Minecraft server...
Error: Unable to access jarfile *forge*.jar
2021-09-25T10:35:05.482-0700    WARN    mc-server-runner    sub-process failed  {"exitCode": 1}
2021-09-25T10:35:05.483-0700    INFO    mc-server-runner    Done```
itzg commented 3 years ago

This is with 1.17.1, right? I remember now, I addressed this in #986 . Re-pull the latest image and the indication of the new logic appears as:

[init] Setting initial memory to 1G and max to 1G
[init] Using Forge supplied run.sh script...
briandilley commented 3 years ago

I'm trying to run an RLCraft server for my kids, so I've reverted back to 1.12.2.

Here's the logs now:

[init] Running as uid=1009 gid=1010 with /data as 'drwxrwxr-x    5 1009     1010           207 Sep 25 10:46 /data'
[init] Resolved version given 1.12.2 into 1.12.2
[init] Resolving type given CURSEFORGE
[init] Looking for Feed-The-Beast / CurseForge server modpack.
[init] Unpacking FTB server modpack /modpacks/RLCraft+Server+Pack+1.12.2+-+Beta+v2.8.2.zip ...
.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
[init] Please make sure you are using the server version of the FTB modpack!

and here's my latest config:

  # minecraft
  minecraft:
    container_name: minecraft
    hostname: minecraft
    image: itzg/minecraft-server:java8
    #image: doubleem/rlcraft-server
    tty: true
    stdin_open: true
    restart: unless-stopped
    ports:
      - ${MINECRAFT_IP}:25565:25565
      - ${MINECRAFT_IP}:7091:7091
    environment:
      - TZ=${TZ}
      - EULA=TRUE
      - UID=${MINECRAFT_UID}
      - GID=${MINECRAFT_GID}
      - MAX_MEMORY=32G
      - MEMORY=5G
      #- RAM=5G
      - ENABLE_JMX=true
      - USE_AIKAR_FLAGS=true
      #- REMOVE_OLD_MODS=true
      - TYPE=CURSEFORGE
      - CF_SERVER_MOD=/modpacks/RLCraft+Server+Pack+1.12.2+-+Beta+v2.8.2.zip
      #- FORGEVERSION=37.0.70
      #- GENERIC_PACK=modpacks/RLCraft+Server+Pack+1.12.2+-+Beta+v2.8.2.zip
      #- GENERIC_PACK_STRIP_DIRS=1
      #- DISABLE_HEALTHCHECK=true
      - DIFFICULTY=normal
      - OPS=admin
      - MAX_PLAYERS=50
      - MAX_WORLD_SIZE=50000
      - ALLOW_NETHER=true
      - ANNOUNCE_PLAYER_ACHIEVEMENTS=true
      - ENABLE_COMMAND_BLOCK=true
      - GENERATE_STRUCTURES=true
      - SPAWN_ANIMALS=true
      - SPAWN_MONSTERS=true
      - SPAWN_NPCS=true
      - VIEW_DISTANCE=15
      - MODE=survival
      - MOTD=Welcome To DilleyCraft
      - PVP=true
      - ALLOW_FLIGHT=false
      - VERSION=1.12.2
      - LEVEL_TYPE=LARGEBIOMES
      - TUNE_VIRTUALIZED=true
      - USE_LARGE_PAGES=true
    volumes:
      - /storage/docker/minecraft/data:/data
      - /storage/docker/minecraft/mods:/mods
      - /storage/docker/minecraft/modpacks:/modpacks
      - /storage/docker/minecraft/config:/config

I'm guessing i downloaded the wrong modpack :D

briandilley commented 3 years ago

I'm guessing i downloaded the wrong modpack :D

Nevermind, I did download the server pack (RLCraft+Server+Pack+1.12.2+-+Beta+v2.8.2.zip)

briandilley commented 3 years ago

At this point this issue is all over the place, sorry. The original problem isn't even a problem anymore.

briandilley commented 3 years ago

Ok, closing this issue. I got it working with this:

  # minecraft
  minecraft:
    container_name: minecraft
    hostname: minecraft
    image: itzg/minecraft-server:java8
    #image: doubleem/rlcraft-server
    tty: true
    stdin_open: true
    restart: unless-stopped
    ports:
      - ${MINECRAFT_IP}:25565:25565
      - ${MINECRAFT_IP}:7091:7091
    environment:
      - TZ=${TZ}
      - EULA=TRUE
      - UID=${MINECRAFT_UID}
      - GID=${MINECRAFT_GID}
      - MAX_MEMORY=32G
      - MEMORY=5G
      - ENABLE_JMX=true
      - USE_AIKAR_FLAGS=true
      - TYPE=FORGE
      - VERSION=1.12.2
      - FORGEVERSION=14.23.5.2854
      - GENERIC_PACK=/modpacks/RLCraft+Server+Pack+1.12.2+-+Beta+v2.8.2.zip
      - DIFFICULTY=normal
      - OPS=admin
      - MAX_PLAYERS=50
      - MAX_WORLD_SIZE=50000
      - ALLOW_NETHER=true
      - ANNOUNCE_PLAYER_ACHIEVEMENTS=true
      - ENABLE_COMMAND_BLOCK=true
      - GENERATE_STRUCTURES=true
      - SPAWN_ANIMALS=true
      - SPAWN_MONSTERS=true
      - SPAWN_NPCS=true
      - VIEW_DISTANCE=15
      - MODE=survival
      - MOTD=Welcome To DilleyCraft
      - PVP=true
      - ALLOW_FLIGHT=false
      - LEVEL_TYPE=LARGEBIOMES
      - TUNE_VIRTUALIZED=true
      - USE_LARGE_PAGES=true
    volumes:
      - /storage/docker/minecraft/data:/data
      - /storage/docker/minecraft/mods:/mods
      - /storage/docker/minecraft/modpacks:/modpacks
      - /storage/docker/minecraft/config:/config