Hello,
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-14.23.5.2855.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-14.23.5.2855.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.
Thanks!