Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: mcserver is using JRE class file version 65 but LGSM installs 61 on Deb12 #4744

Open
DerDomml opened this issue Jan 8, 2025 · 1 comment

Comments

@DerDomml
Copy link

DerDomml commented Jan 8, 2025

User story

I want to install mcserver and all its dependencies using LinuxGSM so that I can start it

Game

Minecraft

Linux distro

Debian 12 (minimal)

Command

command: start

Further information

Upon installing the dependencies from the list given by ./mcserver install, I get [ FAIL ] Starting mcserver: Unable to start Server!. Manually starting the minecraft server reveals the message 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 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0

After manually installing JDK version 23.0.1 using wget https://download.oracle.com/java/23/latest/jdk-23_linux-x64_bin.deb && sudo dpkg -i ./jdk-23_linux-x64_bin.deb && rm ./jdk-23_linux-x64_bin.deb, the server starts normally again.

There was also one package in the dependencies which seems to not exist anymore when using apt install <dependencies>, but unfortunately I do not remember that. It is not being checked for when installing the server but was in the apt install command printed out by it.

Maybe the dependency list for mcserver needs an update?

Best regards
Domml

Relevant log output

No response

Steps to reproduce

  1. Have Debian 12 (I am using minimal)
  2. Follow the steps from the Install section at the LGSM Minecraft Server site
  3. Install the dependencies listed by the ./mcserver install command
  4. Start the server with ./mcserver start
  5. See that the server won't start because of the java version mismatch in the newest Minecraft version and Debian 12's default-jdk (Java 21 vs Java 17)
@dgibbs64
Copy link
Member

dgibbs64 commented Jan 8, 2025

So to be clear
Debian 12 "bookworm" only has openjdk-17 as the highest version available in its repo
Debian 13 "trixie" (in development) has up to openjdk-24
Ubuntu 22.04 and above has openjdk-21

Minecraft now requires at least openjdk-21 to run.

Debians mindset is for slower released and stability over the latest versions of stuff. This can cuase issues somtimes as game dev's often use newer dependencies that Debian can provide.

Looks like Mojang has taken to decision to not support debian 12 (although it can be done manually) and has probably built their binaries with Ubuntu 24.04 in mind.

I prefer not to have LinuxGSM doing fancy things with dependencies unless absolutely required.

So the currently suggestions are

  1. Use a distro that has Java 21 such as Ubuntu 24.04
  2. Use the docker image that is built on Ubuntu
  3. Manually install Java 21 (like you have already done)

From a LinuxGSM perspective, there is not a lot we can do about this issue and we just need to wait for the next Debian release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🆕 New Issues
Development

No branches or pull requests

2 participants