Server picks first version of forge instead of latest this ensures that large modpacks will need the forge version manualy defined to the latest
Describe the problem
the container uses the first available forge for the minecraft version this means nothing requiring the final forge release for the version (which many modpacks require or they break in fun and suprising ways)
I would like to see the container choose the last compatible version of forge rather than the first compatible version of forge as it does now. This will solve alot of issues where the forge version isnt defined explicitly (and create a few where they will need to explicitly define the forge version)
I can't tell if you're using the features correctly.
As requested by the issue template, please provide compose file or similar, logs, and what you expected for the version.
# ~/.config/containers/systemd/minecraft2.container
[Container]
ContainerName=minecraft2
Environment=EULA=TRUE VERSION=1.18.2 TYPE=FORGE FORGE_VERSION=40.3.11 MAX_MEMORY=20G
Image=docker.io/itzg/minecraft-server
PublishPort=25565:25565
PublishPort=24454:24454/udp
Volume=/home/minecraft-server2/:/data/:z
PodmanArgs=--attach stdin --tty --network bridge
Environment=IPv6=True
# Remove if you don't want autostart
[Service]
Restart=always
[Install]
WantedBy=default.target
This is my quadlet If i do not pass the forge version=40.3.11 it picks forge 40.1.1 I think (i do not recall the actual version numbering.
I expect to pass 1.18.2 through enviroment varibles and have it choose the latest available forge for that version of minecraft . Ill scroll through the logs to find the snipits that are relevant but they are likely rotated out by now from mod pack error spam
I am not able to recreate this. When specifying VERSION and FORGE_VERSION the image will pull exactly what is requested:
> docker run -it --rm -e EULA=true -e TYPE=FORGE -e VERSION=1.18.2 -e FORGE_VERSION=40.3.11 itzg/minecraft-server
[init] Running as uid=1000 gid=1000 with /data as 'drwxr-x--- 2 1000 1000 4096 Nov 17 02:10 /data'
[init] Image info: buildtime=2025-11-23T19:15:55.613Z,version=java21,revision=c26119b512245df7e5e8ecfa50d6c638bd12030d
[init] Resolving type given FORGE
[mc-image-helper] 16:35:17.239 INFO : Downloading Forge installer 40.3.11 for Minecraft 1.18.2
[mc-image-helper] 16:35:18.135 INFO : Running Forge 40.3.11 installer for Minecraft 1.18.2. This might take a while...
I cannot provide any further help until you provide the startup logs like mine.
this isnt the issue the issue is when not specifying a forge version It defaults to first instead of latest id like it to determine the last available and use that.
❯ docker run -it --rm -e EULA=true -e TYPE=FORGE -e VERSION=1.18.2 itzg/minecraft-server
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
[init] Running as uid=1000 gid=1000 with /data as 'drwxr-x--- 1 1000 1000 0 Nov 17 02:10 /data'
[init] Image info: buildtime=2025-11-17T02:10:09.929Z,version=java21,revision=85673fb661e2c249d0640ac982090441b4f393e6
[init] Resolving type given FORGE
[mc-image-helper] 05:41:46.612 INFO : Downloading Forge installer 40.3.0 for Minecraft 1.18.2
[mc-image-helper] 05:41:47.386 INFO : Running Forge 40.3.0 installer for Minecraft 1.18.2. This might take a while...
^C[init] [ERROR] Failed to install Forge
if i ran `❯ docker run -it --rm -e EULA=true -e TYPE=FORGE -e VERSION=1.18.2 itzg/minecraft-server
`
and it picked 4.3.11 it would make setup much easier
It downloads the "recommended" version by default
https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/server-types/forge/