./start.sh funktioniert nicht?
Hey,
ich wollte auf ein Rootserver ein minecraft Gameserver installieren, hab alles wie hier beschrieben gemacht:
https://www.bennetrichter.de/anleitungen/minecraft-server-linux/
als ich dann "./start.sh" eingegeben habe ist nichts weiteres passiert. Kein screen wurde geöffnet, nichts.
5 Antworten
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 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0
Diese Zeile beschreibt das Problem perfekt.
In anderen Worten willst du den Server mit Java 17 Runtime starten. Der Minecraft Server (die Jar) möchte aber Java 21 haben.
Die Ursprung ist, dass du eine neuere Minecraft Version nutzt. Minecraft 1.19 hat noch Java 17 vorrausgesetzt. Bei Minecraft 1.20 wird Java 21 benötigt.
apt install openjdk-17-jre-headless -y
Vermutlich wirst du Java so installiert haben. Um Versionskonflikte zu vermeiden, solltest du diese Version zuerst deinstallieren. Es können auch meherere Java Versionen geleichzeitig installiert sein.
Im Anschluss kannst im Install Befehl die 17 mit einer 21 austauschen und du bekommst Java 21. Also:
# Java 17 deinstallieren
apt remove openjdk-17-jre-headless -y
# Java 21 installieren
apt install openjdk-21-jdk-headless -y
Eventuell musst du noch dein Terminal/Shell neustarten, um die neuen Umgebungsvariablen zu laden. Ansonsten sollte das start.sh Script dann funktionieren.
Mit Java 21 gab es glaube ich nur noch JDK Pakete und keine reinen JRE mehr.
JRE (Java Runtime Environment) beinhaltet nur die Komponenten zum Ausführen von Java. JDK (Java Development Kit) beinhaltet zusätzlich auch Komponenten zum Erstellen von Java Programmem.
apt install openjdk-21-jdk-headless -y
Je nachdem, welche Debian Version du nutzt, gibt es eventuell noch kein Java 21 in den Repos.
Suche sonst einfach nach Java 21 mit deiner Debian Version.
Eventuell ist die start.sh nicht ausführbar. Schau mal mit:
ls -l /home/minecraft/start.sh
ob die Datei ausführbar ist. Und schau auch mit:
nano /home/minecraft/start.sh
nach, in der ersten Zeile der start.sh sollte:
#!/bin/sh
oder
#!/bin/bash
stehen.
wie erkenne ich ob start.sh ausführbar ist?
es kommt nur: -rwxr-xr-x 1 minecraft minecraft 96 8. Okt 18:21 /home/minecraft/start.sh
Welche Distro nutzen Sie an sich können sie minecraft Server einfach herunterladen.
Dein shell datei ist nicht ausführbar.
sudo chmod -x. /start.sh
Sicher, dass dort wirklich kein Screen gestartet wird?
was sagt denn ein
screen -list
?
Alles andere kann so bleiben?