itzg/docker-minecraft-server

Unable to get Fabric upgrade within Minecraft versions

Closed this issue · 4 comments

itzg commented

Edit: Apparently Fabric released loader version 0.12.9 with a fix.

How do I force the fabric loader to be 1.12.9?

My workflow:

  • Downloaded the newest image: docker pull itzg/minecraft-server
  • Set the loader to be version FABRIC_LOADER_VERSION=0.12.9 in my docker-compose.yml
  • Restarted my server: docker-compose up -d

In my log I still see fabricloader@0.11.6:

minecraft_1  | [15:11:58] [main/INFO]: [FabricLoader] Loading 4 mods:
minecraft_1  | 	- fabricloader@0.11.6
minecraft_1  | 	- java@17
minecraft_1  | 	- lithium@0.7.5
minecraft_1  | 	- minecraft@1.17.1

Any hint will be appreciated.

Originally posted by @boldt in #1177 (comment)

itzg commented

#1177 (comment) was the original intent, to optimize away re-downloading...however, the flaw was not realizing Fabric did multiple releases within a Minecraft release. I'll fix this to also consider the installer version.

I've moved my comment here to keep things organized. Originally posted in #1177:

How do I force the fabric loader to be 1.12.9?

I've encountered this before too. It's a bit confusing.

The container only updates fabric and the fabric loader on the first start of a Minecraft version install. Specifically only if fabric-server-${VANILLA_VERSION}.jar is not present.

This is due to

export SERVER=fabric-server-${VANILLA_VERSION}.jar

and

if [[ ! -e ${SERVER} ]]; then

which is checked before new loader/installer versions are downloaded. (I'm not sure if this is intended behaviour @itzg but whatever)

Solution: Just delete the server jar and the fabric jar's from the data directory of your server. Starting the docker after that installs the newest/specified fabric loader version.

itzg commented

The fix for this is available in all image variants.