binhex / arch-minecraftserver

Docker build script for Arch Linux base with Minecraft Java server
GNU General Public License v3.0
17 stars 27 forks source link

The game now requires Java 17 instead of Java 16. #9

Closed BobTheCoder42 closed 2 years ago

BobTheCoder42 commented 2 years ago

The newest pre-release requires a newer version of java. The first PR from 1.18 worked via setting the CUSTOM_JAR_PATH.

JAVA_VERSION does not seem to respect 17 as a setting.

https://minecraft.fandom.com/wiki/Java_Edition_1.18_Pre-release_2

BobTheCoder42 commented 2 years ago

From logs/screen.log Error: LinkageError occurred while loading main class net.minecraft.bundler.Main java.lang.UnsupportedClassVersionError: net/minecraft/bundler/Main has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 60.0

BobTheCoder42 commented 2 years ago

CUSTOM_JAR_PATH is set to the latest pre-release. Permissions and ownership were set to match the server.jar included in the container. Pre-release 1 still works (before their MC updated their java version)

BobTheCoder42 commented 2 years ago

From the unraid docker log 2021-11-18 07:33:40.991618 [info] CUSTOM_JAR_PATH defined as '/config/minecraft/minecraft_server-1.18-pre2.jar' 2021-11-18 07:33:46.893976 [info] JAVA_VERSION defined as '17' 2021-11-18 07:33:46.908932 [warn] Java version '17' not valid, defaulting to Java version 'latest

binhex commented 2 years ago

OK i can certainly rebuild the image which will then bump up the version of java to 17, i guess my only concern is will Java 17 break the existing official release of minecraft (as in v1.17.1) as that is currently built for Java 16?.

BobTheCoder42 commented 2 years ago

I am not sure if it will break it. I would assume it was backwards compatible. If you are concerned, is there a way to make 17 optional?

BobTheCoder42 commented 2 years ago

Also, they announced 1.18 would be released on the Nov 30th. Maybe you can have a PR version of this template? Then merge that in once they release...

binhex commented 2 years ago

I am not sure if it will break it. I would assume it was backwards compatible. If you are concerned, is there a way to make 17 optional?

this is tricky, latest is named that for a reason as i cannot tell what version will be available as the upstream base os changes the java version, all i have is 8, 11, and now, 17, im going to just go for it i think and take the hit for any breakage as it sounds like the next version of minecraft requires java 17 in any case!.

BobTheCoder42 commented 2 years ago

Thank you! I just pulled the latest and it's working.