Step: Installing PaperMC: Highly optimised Minecraft server with plugins, written in Java
[FAILED] DietPi-Software | Automatic latest PaperMC download URL detection failed.
[FAILED] DietPi-Software | "https://fill-data.papermc.io/v1/objects/da497e12b43e5b61c5df150e4bfd0de0f53043e57d2ac98dd59289ee9da4ad68/paper-1.21.11-127.jar" will be used as fallback, but a newer version might be available.
[FAILED] DietPi-Software | Please report this at: https://github.com/MichaIng/DietPi/issues
[ OK ] DietPi-Software | cd /tmp/DietPi-Software
[ OK ] DietPi-Software | curl -sSfL https://fill-data.papermc.io/v1/objects/da497e12b43e5b61c5df150e4bfd0de0f53043e57d2ac98dd59289ee9da4ad68/paper-1.21.11-127.jar -o paper-1.21.11-127.jar
[ OK ] DietPi-Software | mv paper-1.21.11-127.jar /opt/papermc/paperclip.jar
Mai 12 17:50:42 DietPi systemd[1]: Started papermc.service - PaperMC (DietPi).
Mai 12 17:50:44 DietPi PaperMC[713]: Starting org.bukkit.craftbukkit.Main
Mai 12 17:50:44 DietPi PaperMC[713]: Exception in thread "ServerMain" java.lang.UnsupportedClassVersionError: org/bukkit/craftbukkit/Main has been compiled by
a more recent version of the Java Runtime (class file version 69.0), this version of the Java Runtime only recognizes class file versions up to 65.0
Mai 12 17:50:44 DietPi PaperMC[713]: at java.base/java.lang.ClassLoader.defineClass1(Native Method)
Mai 12 17:50:44 DietPi PaperMC[713]: at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
Mai 12 17:50:44 DietPi PaperMC[713]: at java.base/java.security.SecureClassLoader.defineClass(Unknown Source)
Mai 12 17:50:44 DietPi PaperMC[713]: at java.base/java.net.URLClassLoader.defineClass(Unknown Source)
Mai 12 17:50:44 DietPi PaperMC[713]: at java.base/java.net.URLClassLoader$1.run(Unknown Source)
Mai 12 17:50:44 DietPi PaperMC[713]: at java.base/java.net.URLClassLoader$1.run(Unknown Source)
Mai 12 17:50:44 DietPi PaperMC[713]: at java.base/java.security.AccessController.doPrivileged(Unknown Source)
Mai 12 17:50:44 DietPi PaperMC[713]: at java.base/java.net.URLClassLoader.findClass(Unknown Source)
Mai 12 17:50:44 DietPi PaperMC[713]: at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
Mai 12 17:50:44 DietPi PaperMC[713]: at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
Mai 12 17:50:44 DietPi PaperMC[713]: at java.base/java.lang.Class.forName0(Native Method)
Mai 12 17:50:44 DietPi PaperMC[713]: at java.base/java.lang.Class.forName(Unknown Source)
Mai 12 17:50:44 DietPi PaperMC[713]: at java.base/java.lang.Class.forName(Unknown Source)
Mai 12 17:50:44 DietPi PaperMC[713]: at io.papermc.paperclip.Paperclip.lambda$main$0(Paperclip.java:38)
Mai 12 17:50:44 DietPi PaperMC[713]: at java.base/java.lang.Thread.run(Unknown Source)
Mai 12 17:50:44 DietPi systemd[1]: papermc.service: Deactivated successfully.
Mai 12 17:50:44 DietPi systemd[1]: papermc.service: Consumed 1.179s CPU time, 433.9M memory peak.
Mai 12 17:54:56 DietPi systemd[1]: Started papermc.service - PaperMC (DietPi).
Mai 12 17:54:58 DietPi PaperMC[15039]: Starting org.bukkit.craftbukkit.Main
Mai 12 17:54:58 DietPi PaperMC[15039]: Exception in thread "ServerMain" java.lang.UnsupportedClassVersionError: org/bukkit/craftbukkit/Main has been compiled b
y a more recent version of the Java Runtime (class file version 69.0), this version of the Java Runtime only recognizes class file versions up to 65.0
Mai 12 17:54:58 DietPi PaperMC[15039]: at java.base/java.lang.ClassLoader.defineClass1(Native Method)
Mai 12 17:54:58 DietPi PaperMC[15039]: at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
Mai 12 17:54:58 DietPi PaperMC[15039]: at java.base/java.security.SecureClassLoader.defineClass(Unknown Source)
Mai 12 17:54:58 DietPi PaperMC[15039]: at java.base/java.net.URLClassLoader.defineClass(Unknown Source)
Mai 12 17:54:58 DietPi PaperMC[15039]: at java.base/java.net.URLClassLoader$1.run(Unknown Source)
Mai 12 17:54:58 DietPi PaperMC[15039]: at java.base/java.net.URLClassLoader$1.run(Unknown Source)
Mai 12 17:54:58 DietPi PaperMC[15039]: at java.base/java.security.AccessController.doPrivileged(Unknown Source)
Mai 12 17:54:58 DietPi PaperMC[15039]: at java.base/java.net.URLClassLoader.findClass(Unknown Source)
Mai 12 17:54:58 DietPi PaperMC[15039]: at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
Mai 12 17:54:58 DietPi PaperMC[15039]: at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
Mai 12 17:54:58 DietPi PaperMC[15039]: at java.base/java.lang.Class.forName0(Native Method)
Mai 12 17:54:58 DietPi PaperMC[15039]: at java.base/java.lang.Class.forName(Unknown Source)
Mai 12 17:54:58 DietPi PaperMC[15039]: at java.base/java.lang.Class.forName(Unknown Source)
Mai 12 17:54:58 DietPi PaperMC[15039]: at io.papermc.paperclip.Paperclip.lambda$main$0(Paperclip.java:38)
Mai 12 17:54:58 DietPi PaperMC[15039]: at java.base/java.lang.Thread.run(Unknown Source)
Mai 12 17:54:59 DietPi systemd1]: papermc.service: Deactivated successfully.
Mai 12 17:54:59 DietPi systemd[1]: papermc.service: Consumed 1.203s CPU time, 397.3M memory peak.
soo the PaperMC version download depends on the installed java version.
If there is a version java 21 and higher, we will download latest PaperMC. If fetching the version is not working, we will fall back to PaperMC 26.1.2-7.
But the latest paper version is 26.1.
And I have java 21, so I can not get the newst paperMC, which makes sense.
I don’t understand why he’s “falling back” to paper 26, which is the latest. Edit: ah because of the typo. Still a bit weird why I experience a different behavior when updating.
So Java 26 will be installed from next version on. You can also do that manually:
apt install temurin-26-jre
Then adjust the java executable path in /etc/systemd/system/papermc.service:
sed -i 's/temurin-21/temurin-26/' /etc/systemd/system/papermc.service
systemctl daemon-reload
systemctl restart papermc
Multiple Java versions can be installed alongside each other. And since we use absolule paths in our systemd services, it does not affect other installed Java applications, in case.