Veröffentlicht am · zuletzt aktualisiert am
Welche Java-Version brauche ich?
Mojang hat die Anforderung mehrfach angehoben. Die Zuordnung für Vanilla- und Paper-Server:
| Minecraft-Version | benötigtes Java |
|---|---|
| 1.20.5 und neuer | Java 21 oder neuer |
| 1.18 bis 1.20.4 | Java 17 oder neuer |
| 1.17.x | Java 16 oder neuer |
| 1.16.5 und älter | Java 8 genügt |
Angegeben ist jeweils das Minimum. Eine neuere Java-Version ist bei Vanilla und Paper in der Regel unproblematisch - bei Modloadern nicht immer, dazu unten mehr.
Die Fehlermeldung erkennen
Ist Java zu alt, bricht der Start sofort ab. Im Log steht:
java.lang.UnsupportedClassVersionError: net/minecraft/server/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
Die Zahlen sind lesbar: class file version 61 entspricht Java 17, 65 entspricht Java 21. Die erste Zahl ist also die geforderte, die zweite die vorhandene Version. Wo du das Log findest, steht in Server startet nicht.
Java-Version umstellen
Die Java-Version steckt im Docker Image deines Servers. Du findest die Auswahl im Webinterface unter Startup, rechts neben dem Startbefehl. Vorgehen:
- Server stoppen - ein Wechsel im laufenden Betrieb greift nicht.
- Im Webinterface auf Startup wechseln.
- Im Feld Docker Image die passende Java-Version wählen, etwa „Java 21" oder „Java 25".
- Server neu starten.
- In der Konsole prüfen, dass der Start bis „Done" durchläuft.
Auf derselben Seite stehen unter Server Variables auch die Jar-Datei und die Minecraft-Version - dort wechselst du den Spielstand, nicht die Java-Version. Das eine hat mit dem anderen nichts zu tun, wird aber oft verwechselt.
Der Startbefehl selbst muss dabei nicht angefasst werden: Der Speicher wird über -XX:MaxRAMPercentage anteilig aus dem Tarif bezogen, ein festes -Xmx gibt es also nicht zu pflegen.
Vor größeren Sprüngen lohnt eine Sicherung der Welt - wie das geht, steht in Backups erstellen.
Wenn der Start danach immer noch scheitert
Nicht jeder Fehler nach einem Java-Wechsel ist wieder ein Versionsproblem. Drei Meldungen kommen regelmäßig vor und meinen völlig Verschiedenes:
Unrecognized VM optionoderCould not create the Java Virtual Machine- im Startbefehl steht ein Parameter, den die gewählte Java-Version nicht mehr kennt. Ältere Flag-Sammlungen aus Foren wählen gern einen Garbage Collector aus, den es in aktuellen Java-Versionen gar nicht mehr gibt. Der Parameter muss raus, nicht die Java-Version zurück.NoClassDefFoundErroroderNoSuchMethodErrorbeim Laden eines Plugins - hier greift eine Erweiterung auf etwas zu, das es in dieser Kombination nicht gibt. Das liegt fast nie an Java, sondern an einer Plugin- oder Server-Version, die nicht zur Minecraft-Version passt.- Der Server startet, bleibt aber vor „Done" stehen - dann läuft er auf der neuen Java-Version und hängt an einer anderen Stelle. Die üblichen Ursachen sammelt Server startet nicht.
Der große Vorteil gegenüber anderen Änderungen: Ein Java-Wechsel lässt sich folgenlos rückgängig machen. Stell im Feld Docker Image einfach das vorherige Image wieder ein - Welt, Plugins und Konfiguration bleiben davon unberührt. Das ist der schnellste Test, wenn ein Modpack nach dem Wechsel streikt, und der wesentliche Unterschied zum Wechsel der Minecraft-Version, bei dem die Welt konvertiert wird und der Rückweg verbaut ist.
Besonderheiten bei Forge, Fabric und Modpacks
Bei Modloadern ist „neuer ist besser" nicht automatisch richtig:
- Forge für ältere Stände reagiert empfindlich auf zu neue Java-Versionen. Ein Forge-Server für 1.12.2 erwartet Java 8; unter Java 17 oder 21 startet er meist gar nicht.
- Modpacks nennen die erwartete Java-Version fast immer auf ihrer CurseForge- oder Modrinth-Seite. Diese Angabe hat Vorrang vor der Tabelle oben.
- Fabric folgt in der Regel der Anforderung der jeweiligen Minecraft-Version.
Merksatz: Bei Vanilla und Paper richtest du dich nach der Minecraft-Version, bei einem Modpack nach dessen eigener Angabe. Mehr zu den Loadern in Forge und Fabric.
Java-Version, Speicher und Leistung
Ein Sprung von Java 8 auf einen aktuellen Stand bringt nebenbei einen moderneren Garbage Collector mit. Der räumt in kleineren Schritten auf, wodurch die kurzen Aussetzer seltener werden, die auf alten Ständen als regelmäßiges Ruckeln auffallen. Ein Allheilmittel ist das nicht: Was an zu wenig Arbeitsspeicher, zu großer Sichtweite oder einer überladenen Farm liegt, bleibt auch unter der neuesten Java-Version bestehen.
An der Speicherzuteilung ändert der Wechsel nichts. Weil der Startbefehl den Arbeitsspeicher über -XX:MaxRAMPercentage anteilig aus dem gebuchten Tarif bezieht, gibt es kein festes -Xmx, das nach einem Java-Wechsel angepasst werden müsste. Wie viel dein Projekt tatsächlich braucht, steht in Wie viel RAM braucht ein Server? - und wenn die Tickrate trotz passender Java-Version einbricht, führt Lag und TPS verbessern durch die Ursachensuche.
- Vanilla und Paper: die Java-Version nehmen, die die Server-Software für die eingesetzte Minecraft-Version empfiehlt.
- Modpacks: die Angabe des Packs schlägt jede allgemeine Empfehlung - siehe Modpack installieren.
- Im Zweifel unverändert lassen. Läuft der Server stabil, ist ein Java-Wechsel ohne Anlass kein Optimierungsschritt, sondern nur ein weiteres bewegliches Teil.
Häufige Fragen
Eigenen Minecraft Server mieten
Unbegrenzte Slots, 1-Klick-Modpacks, Konsole, Config-Editor und WebFTP - ab 2,95 € pro Monat, made in Germany.
Tarife & Preise ansehen