I recently updated my MineOS TKL box to the new version (nuked and paved to Debian buster) so I could run Minecraft 1.17. I had to install OpenJDK 16 (OpenJDK Runtime Environment (build 16.0.1+9-24)) to make it work.
On the old server, I had Vanilla, PlotSquared and a RAD server.
Vanilla: Works great!
I also have a PlotSquared server that I updated: works great!
RAD: No go. RAD is built on 1.12.2 and 1.12.2 does NOT like OpenJDK 16.
Java on the server:
update-alternatives --display java java - manual mode link best version is /usr/lib/jvm/java-11-openjdk-amd64/bin/java link currently points to /usr/java/openjdk/jdk-16.0.1/bin/java link java is /usr/bin/java slave java.1 is /usr/share/man/man1/java.1 slave java.1.gz is /usr/share/man/man1/java.1.gz /usr/java/openjdk/jdk-16.0.1/bin/java - priority 1 /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java - priority 1081 slave java.1: /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/man/man1/java.1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java - priority 1111 slave java.1.gz: /usr/lib/jvm/java-11-openjdk-amd64/man/man1/java.1.gz
So I tried with OpenJDK 11 from the CLI:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar forge-1.12.2-126.96.36.19955.jar
Get this error:
A problem occurred running the Server launcher.java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at net.minecraftforge.fml.relauncher.ServerLaunchWrapper.run(ServerLaunchWrapper.java:70) at net.minecraftforge.fml.relauncher.ServerLaunchWrapper.main(ServerLaunchWrapper.java:34) Caused by: java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap') at net.minecraft.launchwrapper.Launch.<init>(Launch.java:34) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) ... 6 more
Same thing with 16, but if I run it with this from the CLI the server launches normally:
.../servers/RAD$ /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java -jar forge-1.12.2-188.8.131.5255.jar
Is there anyway for me to specify in the MineOS UI that I want to use Java 8 for this RAD server? I’ve been looking at JAR and Java arguments, but nothing seems to fit (though my Google Fu may be weak). I don’t want to mess with all my path variables because that would break the servers on 1.17.
Could that be a feature request? I have older mod packs I want to run, but can’t because they won’t play well with Java 16, and a lot of the mods I enjoy haven’t been migrated to newer Minecraft versions yet.