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.55k stars 1.56k forks source link

Server not starting with the new build #374

Closed Klemen1337 closed 5 years ago

Klemen1337 commented 5 years ago

My server updated a few minutes ago and now is not starting

Starting the Minecraft server...
2019/08/10 22:21:35 Failed to start: exec: "java": executable file not found in $PATH
landonstewart commented 5 years ago

I'm experiencing the exact same thing.

usermod: no changes
Running as uid=1000 gid=1000 with /data as 'drwxrwxr-x    7 1000     1000          4096 Aug 10 22:32 /data'
Checking version information.
ecking type information.
server.properties already created, skipping
Checking for JSON files.
Copying any mods over...
Setting initial memory to 1G and max to 3072M
Starting the Minecraft server...
2019/08/10 22:32:54 Failed to start: exec: "java": executable file not found in $PATH
itzg commented 5 years ago

Can you provide your environment variable settings (except for any sensitive ones)? I switched the based image to OpenJ9, so need to see if I should just switch back due to commonly used JVM settings.

Klemen1337 commented 5 years ago
docker run -d \
--name minecraft \
--restart unless-stopped \
-p 25565:25565 \
-e VERSION=LATEST \
-e EULA=TRUE \
-d -v /path/minecraft/:/data \
itzg/minecraft-server
itzg commented 5 years ago

Very strange. I pulled and ran the latest, but I'll experiment more:

PS C:\Users\itzg\git\docker-minecraft-server> docker pull itzg/minecraft-server
Using default tag: latest
latest: Pulling from itzg/minecraft-server
Digest: sha256:bc3f15f77dcb75b358d3c33f8625c83c486640823e4d98ee0904cc90e0106ebb
Status: Image is up to date for itzg/minecraft-server:latest
docker.io/itzg/minecraft-server:latest
PS C:\Users\itzg\git\docker-minecraft-server> docker run -it --rm -e EULA=TRUE itzg/minecraft-server
usermod: no changes
Running as uid=1000 gid=1000 with /data as 'drwxrwxrwx    2 1000     1000          4096 Aug 10 22:42 /data'
Checking version information.
Checking type information.
Downloading minecraft_server.1.14.4.jar ...
Creating server.properties in /data/server.properties
Setting server-name to 'Dedicated Server' in /data/server.properties
Setting server-port to '25565' in /data/server.properties
Setting motd to 'A Vanilla Minecraft Server powered by Docker' in /data/server.properties
Skip setting allow-nether
Skip setting announce-player-achievements
Skip setting enable-command-block
Skip setting spawn-animals
Skip setting spawn-monsters
Skip setting spawn-npcs
Skip setting generate-structures
Skip setting view-distance
Skip setting hardcore
Skip setting snooper-enabled
Skip setting max-build-height
Skip setting force-gamemode
Skip setting max-tick-time
Skip setting enable-query
Skip setting query.port
Setting enable-rcon to 'true' in /data/server.properties
Setting rcon.password to 'minecraft' in /data/server.properties
Setting rcon.port to '25575' in /data/server.properties
Skip setting max-players
Skip setting max-world-size
Setting level-name to 'world' in /data/server.properties
Skip setting level-seed
Setting pvp to 'true' in /data/server.properties
Skip setting generator-settings
Setting online-mode to 'true' in /data/server.properties
Skip setting allow-flight
Setting level-type to 'DEFAULT' in /data/server.properties
Setting difficulty to '1' in /data/server.properties
Checking for JSON files.
Copying any mods over...
Setting initial memory to 1G and max to 1G
Starting the Minecraft server...
[22:42:55] [main/WARN]: Ambiguity between arguments [teleport, destination] and [teleport, targets] with inputs: [Player, 0123, @e, dd12be42-52a9-4a91-a8a1-11c01849
e498]
[22:42:55] [main/WARN]: Ambiguity between arguments [teleport, location] and [teleport, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[22:42:55] [main/WARN]: Ambiguity between arguments [teleport, location] and [teleport, targets] with inputs: [0.1 -0.5 .9, 0 0 0]
[22:42:55] [main/WARN]: Ambiguity between arguments [teleport, targets] and [teleport, destination] with inputs: [Player, 0123, dd12be42-52a9-4a91-a8a1-11c01849e498
]
[22:42:55] [main/WARN]: Ambiguity between arguments [teleport, targets, location] and [teleport, targets, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[22:42:55] [Server thread/INFO]: Starting minecraft server version 1.14.4
xcjs commented 5 years ago

I'm having the same issue. Here's the container log. Please don't mind the garbled output, it's from ctop on my phone.

┌Logs──────────────────────────────────────────────────────────────────────────────┐│ ││ usermod: no changes ││ Running as uid=1001 gid=1001 with /data as 'drwxrwxr-x 8 1001 1001 ││ 4096 Aug 10 22:43 /data' ││ Checking version information. ││ Checking type information. ││ server.properties already created, skipping ││ Checking for JSON files. ││ Copying any mods over... ││ Setting initial memory to 1G and max to 4G ││ Starting the Minecraft server... ││ 2019/08/10 22:44:18 Failed to start: exec: "java": executable file not found ││ in $PATH ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ │┌Logs──────────────────────────────────────────────────────────────────────────────┐│ ││ usermod: no changes ││ Running as uid=1001 gid=1001 with /data as 'drwxrwxr-x 8 1001 1001 ││ 4096 Aug 10 22:43 /data' ││ Checking version information. ││ Checking type information. ││ server.properties already created, skipping ││ Checking for JSON files. ││ Copying any mods over... ││ Setting initial memory to 1G and max to 4G ││ Starting the Minecraft server... ││ 2019/08/10 22:44:18 Failed to start: exec: "java": executable file not found ││ in $PATH ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ │└──────────────────────────────────────────────────────────────────────────────────┘

Klemen1337 commented 5 years ago

It works after I

docker stop minecraft
docker rm minecraft
docker run -d \
--name minecraft \
--restart unless-stopped \
-p 25565:25565 \
-e VERSION=LATEST \
-e EULA=TRUE \
-d -v /path/minecraft/:/data \
itzg/minecraft-server
landonstewart commented 5 years ago

Can you provide your environment variable settings (except for any sensitive ones)? I switched the based image to OpenJ9, so need to see if I should just switch back due to commonly used JVM settings.

Using docker-compose:

version: '3'

services:
  minecraft:
    container_name: minecraft
    ports:
      - "25565:25565"
    volumes:
      - "/home/lstewart/minecraft:/data"
    environment:
      EULA: "TRUE"
      MAX_MEMORY: 3072M 
      RCON_PORT: XXXXXX
      RCON_PASSWORD: "XXXXXXXX"
    image: itzg/minecraft-server:latest
    restart: always

...snip...
itzg commented 5 years ago

I'm reverting the switch to OpenJ9 since that would be the likely cause. It's building now...

landonstewart commented 5 years ago

A side note - for new builds can you tag them with the Minecraft server version and tag the latest with 'latest'. This way if something goes awry we can revert the tag back to the last version that worked.

xcjs commented 5 years ago

Is the OpenJ9 image not adding java to the path until after it's started once?

I wonder if it would work after any orphaned volumes are removed.

itzg commented 5 years ago

@LandonStewart yes, I need to figure out a better tagging system

joshjhall commented 5 years ago

On the latest forge build, I got an error saying it required the HotSpot JVM instead of OpenJ9 as well. Different from what others are seeing above, because it didn't seem to have problems finding the JVM.

itzg commented 5 years ago

@xcjs I'm really confused about what happened since it runs fine for me with the latest pulled image (see above)

It has built an image with the OpenJ9 change reverted. Please pull the latest...which should be sha256:10216a9d4c0d3707861c106f9f26e45ea669bc89deb14292ff91912924ce4171

itzg commented 5 years ago

If still encountering issues, please let me know what this reports:

> docker run --entrypoint java itzg/minecraft-server -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (IcedTea 3.12.0) (Alpine 8.212.04-r0)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)

or if java can't be found, what is reported by

docker run --entrypoint env itzg/minecraft-server
landonstewart commented 5 years ago
usermod: no changes
Running as uid=1000 gid=1000 with /data as 'drwxrwxr-x    7 1000     1000          4096 Aug 10 22:58 /data'
Checking version information.
ecking type information.
server.properties already created, skipping
Checking for JSON files.
Copying any mods over...
Setting initial memory to 1G and max to 3072M
Starting the Minecraft server...
Picked up JAVA_TOOL_OPTIONS: -XX:+IgnoreUnrecognizedVMOptions -XX:+UseContainerSupport -XX:+IdleTuningCompactOnIdle -XX:+IdleTuningGcOnIdle
Unrecognized VM option 'IdleTuningCompactOnIdle'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
2019/08/10 22:58:29 Done
$ docker run --entrypoint env itzg/minecraft-server
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin
HOSTNAME=729652553c66
LANG=C.UTF-8
JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk/jre
JAVA_VERSION=8u212
JAVA_ALPINE_VERSION=8.212.04-r0
UID=1000
GID=1000
JVM_XX_OPTS=-XX:+UseG1GC
MEMORY=1G
TYPE=VANILLA
VERSION=LATEST
FORGEVERSION=RECOMMENDED
SPONGEBRANCH=STABLE
SPONGEVERSION=
FABRICVERSION=LATEST
LEVEL=world
PVP=true
DIFFICULTY=easy
ENABLE_RCON=true
RCON_PORT=25575
RCON_PASSWORD=minecraft
LEVEL_TYPE=DEFAULT
GENERATOR_SETTINGS=
WORLD=
MODPACK=
MODS=
SERVER_PORT=25565
ONLINE_MODE=TRUE
CONSOLE=true
SERVER_NAME=Dedicated Server
REPLACE_ENV_VARIABLES=FALSE
ENV_VARIABLE_PREFIX=CFG_
HOME=/root
itzg commented 5 years ago

I wonder where JAVA_TOOL_OPTIONS came from in your first snippet?

landonstewart commented 5 years ago

I wonder where JAVA_TOOL_OPTIONS came from in your first snippet?

I dunno. I just nuked the container and all unused volumes. Then I re-ran the docker-compose.

Seems OK now.

usermod: no changes
Running as uid=1000 gid=1000 with /data as 'drwxrwxr-x    7 1000     1000          4096 Aug 10 23:04 /data'
Checking version information.
ecking type information.
server.properties already created, skipping
Checking for JSON files.
Copying any mods over...
Setting initial memory to 1G and max to 3072M
Starting the Minecraft server...
[...snip...]
[23:05:46] [Server thread/INFO]: Starting minecraft server version 1.14.4
[23:05:46] [Server thread/INFO]: Loading properties
[...snip...]
[23:06:20] [Server thread/INFO]: Time elapsed: 28483 ms
[23:06:20] [Server thread/INFO]: Done (33.823s)! For help, type "help"
[23:06:20] [Server thread/INFO]: Starting remote control listener
[23:06:20] [RCON Listener #1/INFO]: RCON running on 0.0.0.0:23888
itzg commented 5 years ago

@Klemen1337, is the latest image working for you now?

itzg commented 5 years ago

FYI there's now a tag 20190803, which built the image source before today's fun.

Klemen1337 commented 5 years ago

@itzg It is working yes :)

itzg commented 5 years ago

Excellent and sorry for the disruption. I have shifted the OpenJ9 stuff off to another branch for further testing.