Wenn ein Plugin oder eine Mod im laufenden Betrieb auf einen Programmfehler stößt, schreibt Java eine Fehlermeldung mit Stacktrace ins Log. Der Stacktrace ist die Liste der „at“-Zeilen unter der Fehlerzeile. Er zeigt, welcher Programmteil gerade lief, und verrät so meist das verantwortliche Plugin oder die Mod. Die meisten dieser Fehler legen den Server nicht lahm, aber eine Funktion fällt aus, und wiederholte Fehler füllen die Konsole.
Jeder Abschnitt unten behandelt eine Meldung: wie sie aussieht, was dahintersteckt und was du tun kannst. Die vollständige Meldung findest du in der Konsole oder unter Dateien in logs/latest.log. Lies dort auch die Zeilen direkt davor und danach. Bevor du Konfigurations- oder Weltdateien änderst oder Plugins austauschst, lege unter Sicherungen eine Sicherung an. Plugin-Dateien tauschst du am besten bei gestopptem Server aus.
NullPointerException: Plugin oder Mod greift auf einen fehlenden Wert zu
So sieht die Meldung aus:
java.lang.NullPointerException: Cannot invoke "com.google.gson.JsonObject.entrySet()" because "jsonobject" is null
java.lang.NullPointerException: Cannot invoke "java.lang.invoke.MethodHandle.invoke(Object, String)" because "this.DESERIALIZE_METHOD" is null
java.lang.NullPointerException: Cannot invoke "com.google.gson.JsonElement.getAsBoolean()" because the return value of "com.google.gson.JsonObject.get(String)" is null
Was dahintersteckt: Ein Plugin oder eine Mod greift auf ein fehlendes Objekt zu; Java nennt diesen Wert „null“. Hinter „Cannot invoke“ steht die Methode, hinter „because“ der fehlende Wert. Auch beim Einlesen einer Sprachdatei oder Konfiguration kann das passieren. Die betroffene Aktion bricht ab; bei „Skipped language file“ wird die Sprachdatei übersprungen. Beim Start kann der Fehler auch den Startvorgang unterbrechen.
So behebst du es:
- Öffne die vollständige Meldung in der Konsole oder in
logs/latest.log. Lies auch davor: Eine genannte Sprach- oder Konfigurationsdatei hilft bei der Zuordnung. - Die „at“-Zeilen heißen Stacktrace: die Aufrufkette bis zum Fehler. Lies ab der ersten Zeile bis zum beteiligten Plugin oder Mod; die erste kann Minecraft selbst nennen.
- Aktualisiere das zugeordnete Plugin unter Plugins bzw. die Mod unter Mods passend zur Server-Version. Stoppe den Server vor dem Dateiaustausch und starte anschließend neu.
- Ist eine Konfiguration genannt, sichere sie und vergleiche die benötigten Einstellungen mit den Vorgaben des Autors. Bleibt der Fehler, melde ihm die vollständige Meldung und die auslösende Aktion.
Gut zu wissen: pl:mixin:APP:<Mod>.mixins.json nennt eine Mod mit einem Mixin, einem Eingriff in Spielabläufe.
„Could not pass event“: Plugin stürzt bei einem Spiel-Ereignis ab
So sieht die Meldung aus:
Could not pass event <Ereignis> to <Plugin> v<Version>
java.lang.NoSuchMethodError: …
java.lang.IllegalArgumentException: The found tag instance (ByteTag) cannot store Integer
Was dahintersteckt: Plugins reagieren auf Ereignisse (Events) wie Beitritt, Inventar-Klick oder Schaden. Wirft ein Plugin dabei eine Exception, also einen Java-Fehler, bricht seine Verarbeitung ab. Nach „to“ stehen Plugin und Version, davor das Ereignis. „NoSuchMethodError“ oder „NoSuchFieldError“ zeigt eine nicht passende Server-Version an. „IllegalArgumentException“ kann etwa einen ungültigen Farbwert oder einen unpassenden Datentyp bedeuten. Das muss der Plugin-Autor korrigieren. Der Server läuft weiter, die betroffene Plugin-Funktion fällt bei diesem Ereignis aus.
So behebst du es:
- Lies in der Konsole Plugin-Name und Version nach „to“ sowie die Fehlerzeile darunter.
- Prüfe unter Version, welche Server-Version läuft, und suche auf der Plugin-Seite eine Fassung, die diese Version unterstützt.
- Stoppe den Server, spiele die passende Fassung unter Plugins ein und starte neu.
- Bleibt der Fehler, melde ihn dem Plugin-Autor mit der auslösenden Aktion und der vollständigen Fehlermeldung.
Gut zu wissen: Ausführlich zu „NoSuchMethodError“ und „NoSuchFieldError“: Plugin passt nicht zur Server-Version.
„Task … generated an exception“: Plugin-Aufgabe scheitert im Hintergrund
So sieht die Meldung aus:
[<Plugin>] Task #<Nummer> for <Plugin> v<Version> generated an exception
java.lang.IllegalArgumentException: missing required data class java.lang.Float
java.lang.IllegalArgumentException: WATER isn't an item
Was dahintersteckt: Plugins planen Aufgaben (Tasks), etwa für Partikel, Hologramme oder das Speichern von Daten. Sie können einmalig oder regelmäßig laufen. Eine Aufgabe ist mit einem Java-Fehler, einer Exception, abgebrochen. Wiederholt sich das laufend, ist das Plugin häufig nicht mit der Server-Version verträglich, etwa nach einem Update. Auch ungültige Werte im Plugin können den Fehler auslösen. Der Server läuft weiter, aber eine Plugin-Funktion fällt aus und die Konsole läuft bei Wiederholungen voll.
So behebst du es:
- Lies den Plugin-Namen nach „for“ und die Fehlerzeile darunter.
- Prüfe unter Plugins, ob es eine passende neuere Fassung für deine Server-Version gibt. Stoppe den Server, spiele sie ein und starte neu.
- Gibt es keine passende Fassung, stoppe den Server und verschiebe die
.jar-Datei unter Dateien ausplugins/in einen eigenen Ordner. Starte anschließend neu. Dauernde Fehler können den Server ausbremsen. - Prüfe in der Konsole, ob die Meldung ausbleibt. Bleibt sie mit aktueller Fassung, melde sie dem Autor.
Gut zu wissen: „missing required data class“ zeigt fehlende Partikeldaten an; „WATER isn't an item“ einen ungültigen Gegenstand. „NoSuchMethodError“ oder „NoSuchFieldError“ weist auf Versionsunverträglichkeit hin.
„Exception … executing task“: Plugin-Aufgabe oder Befehl bricht ab
So sieht die Meldung aus:
[Essentials] Command <Befehl> failed:
[<Plugin>] Plugin <Plugin> v<Version> generated an exception while executing task <Nummer>
[MythicMobs] [SCHEDULER] Exception thrown whilst executing task
Was dahintersteckt: Ein Plugin ist bei einem Befehl oder einer geplanten Aufgabe mit einer Exception, also einem Java-Fehler, abgebrochen. Der Server läuft weiter, die betroffene Plugin-Funktion aber nicht. Die Ursache steht darunter, bei verschachtelten Fehlern hinter „Caused by“. „Cannot perform command async“ bedeutet, dass ein Plugin einen Befehl unzulässig aus einem Hintergrund-Thread, einem parallelen Arbeitsstrang, ausführt. Das muss der Plugin-Autor korrigieren.
So behebst du es:
- Suche unter der Meldung die „Caused by“-Zeile oder die erste Zeile mit „Exception“ oder „Error“.
- Ermittle das Plugin aus der Meldung oder den „at“-Zeilen, der Aufrufkette bis zum Fehler. Dort kann
<Plugin>.jarstehen. - Aktualisiere das Plugin unter Plugins auf eine Fassung für deine Server-Version. Stoppe den Server vor dem Dateiaustausch und starte anschließend neu.
- Wiederhole den Befehl oder beobachte den nächsten Lauf der Aufgabe. Bleibt der Fehler, melde ihn dem Autor mit Aktion, Uhrzeit und vollständiger Meldung.
Gut zu wissen: „NoSuchMethodError“, „NoSuchFieldError“ oder „NoSuchFieldException“ bedeutet, dass eine benötigte Methode oder ein Feld fehlt. Prüfe die vom Plugin unterstützte Server-Version und seine Abhängigkeiten; du brauchst zueinander passende Fassungen.
ClassCastException: Mod oder Plugin erwartet einen anderen Datentyp
So sieht die Meldung aus:
java.lang.ClassCastException: class <PaketA>.<KlasseA> cannot be cast to class <PaketB>.<KlasseB>
Cannot load key=<Eintrag>, type=<Datentyp> in config=<Konfiguration>
Was dahintersteckt: Eine Mod oder ein Plugin erwartet einen anderen Datentyp, als eine beteiligte Komponente liefert. Das passiert etwa, wenn eine Mod aktualisiert wurde und eine abhängige Mod nicht. Der Fehler kann auch beim Einlesen einer Mod-Konfiguration auftreten, wie im zweiten Beispiel mit anschließender ClassCastException. Oft fällt nur die betroffene Funktion aus, etwa das Laden von Beutedaten oder eines Konfigurationseintrags.
So behebst du es:
- Lies die vollständige Meldung in
logs/latest.logunter Dateien. Die Paketnamen vor den Klassennamen helfen, beteiligte Mods oder Plugins zu erkennen;java.lang.Stringbezeichnet dagegen den Java-Datentyp für Text. - Prüfe, welche Komponente zuletzt aktualisiert wurde. Bring die beteiligten Mods oder Plugins auf zueinander passende Versionen: gemeinsam aktualisieren oder auf den vorherigen Stand zurücksetzen.
- Läuft ein Modpack, aktualisiere das ganze Modpack statt einzelner Mods.
- Wird ein Konfigurationseintrag genannt, prüfe ihn anhand der Dokumentation der installierten Mod-Version.
- Starte neu und wiederhole den Vorgang.
Mehr zu Mod-Konflikten: Mod-Fehler auf Forge, NeoForge und Fabric.
ArrayIndexOutOfBoundsException: Zugriff auf einen fehlenden Listeneintrag
So sieht die Meldung aus:
java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
java.lang.ArrayIndexOutOfBoundsException: Index -3 out of bounds for length 16
Caught exception during event FMLCommonSetupEvent dispatch for modid <Mod>
Was dahintersteckt: Ein Plugin oder eine Mod greift auf eine ungültige Position in einem Array zu, also einer Liste fester Länge. Java zählt ab 0: Bei Länge 3 gibt es nur die Positionen 0 bis 2; auch negative Positionen sind ungültig. Häufig fehlen Befehlsargumente oder Konfigurationswerte, oder ein älteres Plugin liest die Server-Version falsch aus. Die Beispiele betreffen außerdem Geysers Verarbeitung von Weltdaten und den Mod-Start; je nach Stelle fällt eine Funktion aus oder der Start scheitert.
So behebst du es:
- Lies die Fehlerzeilen in der Konsole oder unter Dateien in
logs/latest.log. Die „at“-Zeilen darunter zeigen die Aufrufkette, auch Stacktrace genannt; suche darin das betroffene Plugin oder die Mod. - Trat der Fehler bei einem Befehl auf, prüfe dessen erforderliche Argumente. Nach eigenen Konfigurationsänderungen vergleiche die Werte mit der Vorlage oder einer Sicherung.
- Aktualisiere das betroffene Plugin unter Plugins oder die Mod unter Mods auf eine zu Server und Loader passende Ausgabe. Der Loader lädt die Mods. Starte neu.
- Bleibt der Fehler, melde dem Autor die Fehlermeldung samt Aufrufkette und Auslöser.
Konfigurationsdatei eines Plugins ist fehlerhaft.
NumberFormatException: Ein Text sollte eine Zahl sein
So sieht die Meldung aus:
java.lang.NumberFormatException: For input string: "%vault_eco_balance_fixed%"
java.lang.NumberFormatException: For input string: "craftbukkit"
Was dahintersteckt: Das Spiel, eine Mod oder ein Plugin wollte einen Textwert als Zahl lesen, und der Text war keine Zahl. In den Anführungszeichen steht, was tatsächlich ankam. Ursache kann eine Konfiguration, ein unerwarteter Datenwert oder ein Versions- bzw. Programmfehler sein. Zwei Fälle erkennst du am Wert: Ein Platzhalter mit Prozentzeichen wie oben wurde nicht ersetzt. Meist fehlt dann die passende Erweiterung für PlaceholderAPI, das Plugin, das solche Platzhalter füllt, oder das Plugin, das den Wert liefert. Ein Wort wie craftbukkit deutet darauf hin, dass ein älteres Plugin die Server-Version falsch ausliest.
So behebst du es:
- Prüfe den vollständigen Stacktrace und aktualisiere die dort genannte Komponente.
- Bei einem Platzhalter: Teste im Spiel mit
/papi parse me <Platzhalter>, ob er einen Wert liefert. Falls nicht, installiere die passende PlaceholderAPI-Erweiterung, zum Beispiel mit/papi ecloud download <Name>, und lade sie mit/papi reload. - Nennt die Meldung eine Datei oder Einstellung, vergleiche den Wert mit der Standardkonfiguration des Plugins.
- Starte neu und löse die Aktion erneut aus.
ArrayIndexOutOfBoundsException ohne weitere Angaben
So sieht die Meldung aus:
[<Plugin>] Error occurred while loading item: 2
java.lang.ArrayIndexOutOfBoundsException
Was dahintersteckt: Ein Plugin oder eine Mod hat einen ungültigen Listenindex verwendet, wie im Abschnitt davor. Hier fehlen aber Index und Länge. Das kommt vor, wenn derselbe Fehler sehr oft auftritt: Java lässt die Details dann aus Leistungsgründen weg. Die Zeile davor verrät oft, welches Plugin gerade was tun wollte, im Beispiel einen Eintrag laden. Die erste Stacktrace-Zeile darunter, falls vorhanden, nennt den Verursacher.
So behebst du es:
- Lies die Zeile direkt vor der Meldung. Dort steht oft das Plugin in eckigen Klammern.
- Lies die erste Stacktrace-Zeile unter der Meldung.
- Fehlt beides, suche in
logs/latest.logweiter oben das erste Auftreten. Dort steht der Fehler meist noch vollständig. Ältere Logs liegen gepackt im Ordnerlogs/. - Aktualisiere das zuerst genannte Plugin bzw. die Mod. Nennt die Zeile davor einen bestimmten Eintrag, prüfe ihn in der Konfiguration des Plugins.
- Bleibt der Fehler, melde ihn dem Autor.
ExceptionInInitializerError: Plugin- oder Mod-Klasse lässt sich nicht einrichten
So sieht die Meldung aus:
Exception in thread "ForkJoinPool-3-worker-1" java.lang.ExceptionInInitializerError
Caused by: <Fehlerart>: <Meldung>
Was dahintersteckt: Java richtet jede Klasse, also jeden Baustein eines Programms, beim ersten Gebrauch einmal ein. Genau dabei ist eine Klasse eines Plugins oder einer Mod abgestürzt. Danach bleibt sie für diesen Serverlauf unbrauchbar, deshalb folgen oft weitere Fehler wie „NoClassDefFoundError“ mit demselben Klassennamen. Die eigentliche Ursache und meist auch das betroffene Plugin oder die Mod nennt die „Caused by“-Kette darunter. Je nachdem, wo es passiert, fällt eine Funktion aus oder das Plugin bzw. die Mod lädt gar nicht.
So behebst du es:
- Lies in der Konsole oder in
logs/latest.logdie erste „Caused by“-Zeile unter der Meldung. - Ermittle aus den „at“-Zeilen darunter das Plugin oder die Mod, etwa am Dateinamen mit
.jar. - Aktualisiere es oder ersetze es durch eine Fassung, die zu deiner Server-Version und deiner Server-Software passt.
- Starte den Server neu. Die Klasse wird erst beim nächsten Start neu eingerichtet.
Bei Versionsfragen hilft: Plugin passt nicht zur Server-Version.
Interner Fehler in einem Plugin, etwa beim Speichern
So sieht die Meldung aus:
[MultiWorld] ERROR HAPPEND: <Meldung>
Unable to save player profile for <Spieler>
<Plugin> v<Version> generated an exception whilst handling plugin message
Was dahintersteckt: Ein Plugin ist bei einer eigenen Aufgabe auf einen Fehler gestoßen, etwa beim Speichern, beim Verarbeiten einer Nachricht oder beim Start. Plugin-Nachrichten sind Datenpakete, die zum Beispiel ein Proxy wie BungeeCord oder Velocity mit dem Server austauscht. Den Namen des Plugins zeigt die Meldung in eckigen Klammern oder am Zeilenanfang. Je nach Fehler fällt nur diese Aktion aus oder das Plugin schaltet sich ab. Geht es ums Speichern, kümmere dich zeitnah darum, damit keine Daten verloren gehen.
So behebst du es:
- Lies den Plugin-Namen und die Zeilen direkt unter der Meldung in der Konsole.
- Aktualisiere das Plugin unter Plugins und starte neu.
- Bleibt der Fehler, lege eine Sicherung an, entferne das Plugin testweise und prüfe, ob die Meldung verschwindet.
- Melde den Fehler dem Plugin-Autor mit den Zeilen aus der Konsole.
Scheitert das Speichern wiederholt: Plugin kann Datenbank oder Dateien nicht speichern.
Skript-Fehlerbericht mit #!#!: ein Script lädt nicht
So sieht die Meldung aus:
#!#! Current node: <Zeile aus der .sk-Datei>
#!#! End of Error.
Was dahintersteckt: Skript ist ein Plugin, mit dem du Serverfunktionen in einfachen Textdateien mit der Endung .sk schreibst. Stellt es beim Laden eines Scripts oder eines Addons einen schweren Fehler fest, schreibt es einen Bericht, dessen Zeilen alle mit #!#! beginnen. Häufige Ursachen: Ein Addon wie skript-reflect oder SkBee passt nicht zur installierten Skript-Version, oder eine Plugin-Datei wurde bei laufendem Server ersetzt. Dann steht „zip file closed“ im Bericht. Das betroffene Script funktioniert nicht, der Server läuft weiter.
So behebst du es:
- Lies im Bericht die Zeile „Current node“ (sie nennt die betroffene .sk-Datei) und die Zeile „Caused by“.
- Prüfe auf den Projektseiten, welche Addon-Versionen zu deiner Skript-Version passen, und bring Skript und Addons auf zueinander passende Stände.
- Tausche Plugin-Dateien nur bei gestopptem Server aus und starte den Server danach neu.
- Lade das Script mit
/sk reload <datei>und lies die Ausgabe in der Konsole.
Gut zu wissen: Die Scripts liegen unter Dateien im Ordner plugins/Skript/scripts/. Sichere eine Datei, bevor du sie änderst.
IndexOutOfBoundsException: „must be less than size“
So sieht die Meldung aus:
Caused by: java.lang.IndexOutOfBoundsException: index (1) must be less than size (1)
Was dahintersteckt: Das Spiel, eine Mod oder ein Plugin hat einen Listeneintrag abgefragt, den es nicht gibt. „index (1) must be less than size (1)“ heißt: Die Liste hat genau einen Eintrag mit der Nummer 0, gefragt war Nummer 1. Eine Konfiguration kann beteiligt sein, die Meldung allein belegt das aber nicht. Steht „Caused by:“ davor, ist sie die Ursache eines Fehlers, der weiter oben gemeldet wurde. Was ausfällt, zeigt diese obere Meldung.
So behebst du es:
- Lies den vollständigen Stacktrace in
logs/latest.log, auch die Fehlermeldung darüber. - Suche die erste „at“-Zeile, die eine externe Komponente nennt, also ein Plugin oder eine Mod statt Java oder einer Bibliothek wie
java.baseodercom.google.common. - Aktualisiere diese Komponente und starte neu.
- Nur wenn der Zusammenhang auf eine konkrete Liste verweist, etwa Menüeinträge oder Belohnungen, prüfe deren Konfiguration auf fehlende oder leere Einträge.
„Asynchronous Save Players“: Plugin speichert aus dem falschen Thread
So sieht die Meldung aus:
Asynchronous Save Players! Blocking thread until it returns
java.lang.IllegalStateException
at io.papermc.paper.util.MCUtil.ensureMain(MCUtil.java:<Zeile>)
Was dahintersteckt: Ein Plugin hat das Speichern aller Spielerdaten aus einem Hintergrund-Thread angestoßen, also aus einem parallelen Arbeitsstrang neben dem Haupt-Thread, der die Welt berechnet. Das ist nicht vorgesehen. Paper blockiert den Thread, bis das Speichern durch ist, und schreibt diese Warnung. Das ist ein Fehler im Plugin, der kurze Ruckler verursachen kann. Der Server läuft weiter.
So behebst du es:
- Lies die „at“-Zeilen unter der Meldung. Die ersten gehören zu Paper und Minecraft (
io.papermc,net.minecraft); gesucht ist die erste „at“-Zeile, die ein Plugin nennt. - Aktualisiere dieses Plugin unter Plugins und starte neu.
- Bleibt die Warnung, melde den Fehler dem Plugin-Autor mit der vollständigen Meldung.
Gut zu wissen: Eine einzelne Warnung kannst du gelassen sehen. Kommt sie regelmäßig und merken Spieler Ruckler, lohnt sich das Update.
„Unhandled exception executing command“: Plugin-Befehl bricht ab
So sieht die Meldung aus:
org.bukkit.command.CommandException: Unhandled exception executing command '<befehl>' in plugin <Plugin> v<Version>
Caused by: <Fehlerart>: <Meldung>
Was dahintersteckt: Ein Plugin hat beim Ausführen eines seiner Befehle einen Fehler geworfen. Befehl und Plugin stehen in der Meldung. Meist passt das Plugin nicht zur Serverversion oder zu einem anderen Plugin, von dem es abhängt. Wer den Befehl eingegeben hat, sieht im Chat meist nur einen allgemeinen Hinweis auf einen internen Fehler. Der Befehl wurde nicht ausgeführt, der Server läuft weiter.
So behebst du es:
- Lies die „Caused by“-Zeile unter der Meldung.
- Prüfe unter Version deine Serverversion und aktualisiere das Plugin unter Plugins auf eine Fassung dafür.
- Nennt die Fehlerzeile ein anderes Plugin, von dem das Plugin abhängt, bring dieses ebenfalls auf eine passende Version.
- Starte neu und teste den Befehl. Tritt der Fehler weiter auf, melde ihn mit dieser Zeile beim Plugin-Autor.
Mehr zu Abhängigkeiten: Plugin braucht ein anderes Plugin.
Befehlsfehler mit „[ACF]“ im Log
So sieht die Meldung aus:
[<Plugin>] [ACF] Exception in command: <befehl>
[<Plugin>] [ACF] java.lang.NoSuchMethodError: <Methode>
Was dahintersteckt: Viele Plugins bauen ihre Befehle mit einer fertigen Bibliothek, dem Aikar Command Framework (ACF). Bricht ein Befehl mit einer Exception ab, gibt ACF den Fehler samt Stacktrace aus, jede Zeile mit dem Plugin-Namen davor. Der Name in der ersten Klammer ist also das betroffene Plugin, nicht ACF. Steht „IncompatibleClassChangeError“ oder „NoSuchMethod“ in der Ausgabe, passt das Plugin nicht zur Server-Version. Der Befehl wurde nicht ausgeführt, der Server läuft weiter.
So behebst du es:
- Lies den Plugin-Namen in der ersten eckigen Klammer und die erste Fehlerzeile mit „Exception“ oder „Error“.
- Aktualisiere das Plugin unter Plugins auf eine Version für deine Server-Version.
- Starte neu und teste den Befehl.
- Bleibt der Fehler, melde ihn dem Plugin-Autor mit der ersten Fehlerzeile.
Gut zu wissen: ACF musst du nicht selbst installieren oder aktualisieren. Es steckt im jeweiligen Plugin.
GravesX: Fehler in einer Hintergrundaufgabe
So sieht die Meldung aus:
[GravesX] Async task for GravesX v<Version> generated an exception
java.lang.NullPointerException: Cannot invoke "<Methode>" because "version2" is null
Was dahintersteckt: GravesX legt beim Tod eines Spielers ein Grab mit seinen Gegenständen an. Das Plugin wirft in einer Hintergrundaufgabe eine NullPointerException, etwa beim Vergleich zweier Versionsnummern, wenn ein Wert („version2“) fehlt. Das ist ein Fehler im Plugin selbst, kein Server- oder Hosting-Problem. Der Server läuft normal weiter.
So behebst du es:
- Aktualisiere GravesX unter Plugins auf die neueste Version und starte neu.
- Prüfe in der Konsole, ob die Meldung wiederkommt.
- Besteht der Fehler weiter, melde ihn beim GravesX-Projekt mit der vollständigen Meldung.
- Willst du das Plugin bis zum Fix testweise deaktivieren, lass vorher offene Gräber leeren. Ohne das Plugin lassen sie sich nicht wie gewohnt öffnen.
FastAsyncWorldEdit: Befehl ist intern fehlgeschlagen
So sieht die Meldung aus:
An unexpected error while handling a FastAsyncWorldEdit command
java.lang.NullPointerException
Was dahintersteckt: FastAsyncWorldEdit (FAWE) ist eine schnelle Variante von WorldEdit, mit der du große Bereiche auf einmal bearbeitest. Bei einem Befehl ist FAWE auf einen fehlenden Wert gestoßen. Der Vorgang wurde nicht vollständig ausgeführt, die Änderung kann also nur zum Teil in der Welt angekommen sein. Der Server läuft weiter.
So behebst du es:
- Prüfe im Spiel, was der Befehl verändert hat. Mit
//undonimmst du den letzten Schritt bei Bedarf zurück. - Aktualisiere FAWE unter Plugins auf eine Fassung für deine Server-Version und starte neu.
- Führe den Befehl erneut aus.
- Bleibt der Fehler, melde den vollständigen Stacktrace mit dem genauen Befehl an die FAWE-Entwickler.
Grundlagen zum Rückgängigmachen: WorldEdit: bauen und rückgängig machen.
Gut zu wissen: Installiere FAWE nicht zusätzlich zum normalen WorldEdit. Beide zusammen vertragen sich nicht; nutze nur eines.
LibreLogin: Befehl ist intern fehlgeschlagen
So sieht die Meldung aus:
[LibreLogin] An unexpected exception occurred while performing command …
Was dahintersteckt: LibreLogin ist ein Login-Plugin: Spieler melden sich mit einem Passwort an, oft auf Servern im Offline-Modus. Beim Ausführen eines seiner Befehle, etwa zum Anmelden oder Registrieren, ist es mit einer unerwarteten Exception abgebrochen. Für den Spieler schlägt der Befehl fehl. Trifft es das Anmelden, kommt er nicht weiter, bis der Befehl wieder klappt. Der Server selbst läuft weiter.
So behebst du es:
- Lies in der Konsole die Exception unter der Meldung und notiere, welcher Befehl es war.
- Aktualisiere LibreLogin unter Plugins und starte neu.
- Teste den Befehl mit einem Spieler erneut.
- Bleibt der Fehler, melde die Exception samt Befehl an den Plugin-Autor.
Nennt die Exception eine Datenbank: Plugin kann seine Datenbank nicht öffnen.
LibreLogin: Netzwerk-Handler ist doppelt registriert
So sieht die Meldung aus:
java.lang.IllegalArgumentException: Duplicate handler name: pe-decoder-librelogin
Was dahintersteckt: Jede Spielerverbindung läuft durch eine Kette von Verarbeitungsschritten, die Netzwerk-Pipeline. LibreLogin oder die Bibliothek PacketEvents versucht, denselben Schritt, einen Decoder für eingehende Daten, ein zweites Mal einzubauen. Neue Verbindungen können dann fehlschlagen. Typische Auslöser sind zwei LibreLogin-Dateien im Plugin-Ordner, unpassende Versionen von LibreLogin und PacketEvents oder ein Neuladen der Plugins im laufenden Betrieb.
So behebst du es:
- Öffne unter Dateien den Ordner
plugins/und prüfe, ob LibreLogin nur einmal vorhanden ist. Entferne ältere Kopien, nachdem du eine Sicherung angelegt hast. - Aktualisiere LibreLogin und, falls installiert, PacketEvents gemeinsam.
- Stoppe den Server und starte ihn vollständig neu. Ein Neuladen mit
/reloadoder einem Plugin-Manager reicht hier nicht. - Teste den Beitritt mit einem Spieler.
Mehr zu doppelten Dateien: Plugin-Datei ist beschädigt oder doppelt.
LightAntiCheat-Plus: Fehler in einer Bewegungsprüfung
So sieht die Meldung aus:
[LightAntiCheat-Plus] Exception in event bus subscription: <Prüfung>
java.lang.UnsupportedOperationException: remove
Was dahintersteckt: LightAntiCheat-Plus ist ein Anti-Cheat-Plugin, das unter anderem Spielerbewegungen prüft. Eine seiner Prüfungen versucht, eine Liste zu leeren, die sich nicht verändern lässt. Das ist ein Fehler im Plugin. Die betroffene Prüfung kann ausfallen oder falsche Ergebnisse liefern, also Cheats übersehen oder ehrliche Spieler zu Unrecht verdächtigen. Der Server läuft weiter.
So behebst du es:
- Aktualisiere LightAntiCheat-Plus unter Plugins und starte neu.
- Kommt die Meldung weiter, deaktiviere bis zum Fix die betroffene Prüfung SpeedD in der Konfiguration des Plugins. Du findest sie unter Dateien im Ordner des Plugins unter
plugins/. Sichere die Datei vorher. - Starte neu und prüfe in der Konsole, ob die Meldung ausbleibt.
- Schalte die Prüfung wieder ein, sobald eine korrigierte Fassung erschienen ist.
Gut zu wissen: Solange die Meldung erscheint, nimm Verdachtsfälle wegen Bewegung mit Vorsicht.
MagicSpells meldet einen Fehler bei einem Zauber
So sieht die Meldung aus:
[MagicSpells] AN EXCEPTION HAS OCCURED:
[MagicSpells] This error has been saved in the errors folder.
Error saving spellbook for player '<Spieler>'
Was dahintersteckt: MagicSpells ist ein Plugin für eigene Zauber. Es meldet einen Fehler beim Ausführen oder Speichern von Zaubern, häufig wegen eines Eintrags in seiner Konfiguration, den diese Version nicht versteht. Die Effekte laufen über die Bibliothek EffectLib; Meldungen mit „Unexpected EffectLib Error“ betreffen diese Effekte. Zusätzlich legt MagicSpells einen Bericht im Ordner plugins/MagicSpells/errors ab. Scheitert das Speichern des Zauberbuchs (spellbook), wird der Stand dieses Spielers nicht gesichert.
So behebst du es:
- Öffne unter Dateien den Ordner
plugins/MagicSpells/errorsund den neuesten Bericht. Er nennt den Zauber und die Einstellung. - Prüfe diese Einstellung in deinen Zauber-Dateien, etwa auf Schreibfehler oder Werte aus einer älteren MagicSpells-Version. Sichere die Datei vorher.
- Halte MagicSpells und EffectLib aktuell und passend zur Server-Version.
- Starte neu und teste den Zauber.
SinglePlayerSleep: Schlafen im Bett klappt nicht
So sieht die Meldung aus:
[SinglePlayerSleep] INTERNAL ERROR: Unable to process PlayerBedEnterEvent
Was dahintersteckt: SinglePlayerSleep lässt die Nacht vergehen, wenn ein einzelner Spieler schläft, statt dass alle ins Bett müssen. Beim Betreten eines Betts ist das Plugin abgestürzt. Die Schlaf-Funktion kann für diesen Versuch ausfallen, die Nacht wird dann nicht übersprungen. Meist passt die Plugin-Fassung nicht zur Minecraft-Version. Der Server läuft weiter.
So behebst du es:
- Prüfe unter Version, welche Minecraft-Version läuft.
- Aktualisiere SinglePlayerSleep unter Plugins auf eine Fassung für diese Version und starte neu.
- Teste im Spiel: nachts ins Bett legen und prüfen, ob die Nacht vergeht.
- Bleibt der Fehler, melde die Exception unter der Meldung an den Plugin-Autor.
Mehr dazu: Minecraft-Gameregeln erklärt.
Gut zu wissen: Neuere Minecraft-Versionen haben eine eigene Spielregel dafür, wie viel Prozent der Spieler schlafen müssen. Sie kann das Plugin ersetzen.
PacketEvents kann sich nicht in die Verbindung einklinken
So sieht die Meldung aus:
PacketEvents failed to add a decoder to the netty pipeline
Was dahintersteckt: PacketEvents ist eine Bibliothek, über die andere Plugins, etwa Anti-Cheat- oder Login-Plugins, Netzwerkpakete mitlesen. Dafür baut sie einen eigenen Schritt, einen Decoder, in die Netzwerk-Pipeline jeder Verbindung ein. Netty ist die Netzwerkbibliothek, über die der Server Verbindungen abwickelt. Das Einbauen ist gescheitert: Ein anderer Netzwerk-Handler oder eine unverträgliche PacketEvents-Version blockiert die erwartete Reihenfolge. Plugins, die auf PacketEvents aufbauen, arbeiten dann für diese Verbindung nicht richtig.
So behebst du es:
- Aktualisiere PacketEvents, Geyser und Floodgate sowie Login- und Anti-Cheat-Plugins gemeinsam auf Fassungen für deine Server-Version.
- Prüfe unter Dateien im Ordner
plugins/, dass keine Datei doppelt liegt. - Stoppe den Server und starte ihn vollständig neu, ohne Neuladen im laufenden Betrieb.
- Teste den Beitritt mit Java und, falls du Geyser nutzt, auch mit Bedrock.
Für Bedrock-Spieler: Bedrock und Geyser: Meldungen im Log.
StringIndexOutOfBoundsException: leerer oder zu kurzer Textwert
So sieht die Meldung aus:
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
Was dahintersteckt: Ein Plugin oder eine Mod wollte ein bestimmtes Zeichen aus einem Text lesen, zum Beispiel das erste Zeichen eines Präfixes. Der Text ist aber kürzer, bei „length 0“ sogar leer. Häufig ist ein erwarteter Konfigurationswert leer, etwa ein Präfix, eine Farbangabe oder ein Name, der nur als '' eingetragen ist. Der Server läuft weiter; die Funktion, die den Text braucht, fällt aus.
So behebst du es:
- Lies im Stacktrace die erste Zeile mit einem Plugin- oder Mod-Namen.
- Öffne unter Dateien die Konfiguration dieses Plugins im Ordner
plugins/<Plugin>/und suche leere Werte wie''oder Einträge ohne Wert. Sichere die Datei vorher. - Trage einen gültigen Wert ein oder übernimm den Standardwert aus der Vorlage des Plugins.
- Aktualisiere das Plugin und starte neu.
Mehr zu fehlerhaften Einstellungen: Konfigurationsdatei eines Plugins ist fehlerhaft.
„NoSuchFieldException: childHandler“: Netzwerk-Plugin passt nicht zum Server
So sieht die Meldung aus:
java.lang.NoSuchFieldException: childHandler
Was dahintersteckt: Netty ist die Netzwerkbibliothek, über die der Server Verbindungen annimmt. Manche Plugins greifen direkt auf interne Teile davon zu, um sich in Verbindungen einzuklinken. Hier sucht ein Netzwerk-Plugin das interne Feld „childHandler“, das in der installierten Server- oder Netty-Version nicht verfügbar ist. Das Plugin ist also für einen anderen Server-Build gebaut. Betroffen sind meist Netzwerk-, Proxy- oder Protokoll-Plugins; ihre Funktion fällt aus.
So behebst du es:
- Lies den Stacktrace unter der Meldung und suche das erste Netzwerk-, Proxy- oder Protokoll-Plugin, zum Beispiel ViaVersion, ProtocolLib oder Geyser.
- Prüfe unter Version, welche Server-Version läuft. Die genaue Fassung der Server-Software (Build) steht außerdem in den ersten Zeilen von
logs/latest.log. - Aktualisiere das gefundene Plugin auf eine Version für diesen Server-Build und starte neu.
- Gibt es noch keine passende Fassung, deaktiviere das Plugin vorübergehend, bis der Autor nachzieht.
Ausführlich: Plugin passt nicht zur Server-Version.
Tab-Vorschläge eines Plugin-Befehls funktionieren nicht
So sieht die Meldung aus:
Unhandled exception during tab completion for command '<Befehl>' in plugin <Plugin>
Was dahintersteckt: Beim Drücken der Tab-Taste fragt Minecraft das zuständige Plugin nach möglichen Ergänzungen. Dabei schlägt die Vorschlagsfunktion des Plugins fehl. Der Server läuft weiter, nur die Vorschläge für den betroffenen Befehl fehlen. Die Fehlerspur darunter, der sogenannte Stacktrace, zeigt die beteiligten Programmaufrufe.
So behebst du es:
- Lies die vollständige Meldung in der Konsole oder unter Dateien in
logs/latest.log. Notiere das Plugin, den Befehl und die erste konkrete Fehlermeldung darunter. - Prüfe unter Version deine Server-Version und installiere unter Plugins eine dafür geeignete Ausgabe des genannten Plugins.
- Starte den Server vollständig neu und teste denselben Befehl erneut mit der Tab-Taste.
- Bleibt der Fehler, schicke dem Plugin-Autor die vollständige Fehlerspur und beschreibe, an welcher Stelle die Vorschläge ausfallen.
StackOverflowError beim Auswerten einer Suchregel
So sieht die Meldung aus:
Exception in thread "<Hintergrundaufgabe>" java.lang.StackOverflowError
Was dahintersteckt: Ein regulärer Ausdruck ist eine Suchregel für Text, etwa für Befehlsfilter. Java benötigt beim Prüfen dieser Regel zu viele ineinander verschachtelte Aufrufe und füllt damit den Aufrufstapel. Die genannte Hintergrundaufgabe wird beendet und ihre Arbeit bleibt unvollständig; der Server läuft weiter. StackOverflowError ist ein anderer Fehler als ein voller Java-Arbeitsspeicher.
So behebst du es:
- Öffne die vollständige Fehlerspur in der Konsole oder unter Dateien in
logs/latest.log. Suche anhand des Thread-Namens und der Plugin-Aufrufe das zuständige Plugin. - Sichere dessen Einstellungen und prüfe konfigurierbare Such- oder Befehlsregeln. Vereinfache die auslösende Regel, sofern du sie selbst eingestellt hast.
- Aktualisiere das Plugin unter Plugins auf eine passende Ausgabe und starte den Server vollständig neu.
- Ist die Regel fest eingebaut, melde dem Autor die vollständige Fehlerspur und die Eingabe, bei der sie auftritt.
Paper blockiert „entity add“ aus einem Hintergrund-Thread
So sieht die Meldung aus:
Thread <Thread> failed main thread check: entity add
Was dahintersteckt: Paper prüft, ob Änderungen an der Spielwelt auf dem richtigen Thread ausgeführt werden. Ein Thread ist ein eigener Ausführungsstrang des Programms. Hier versucht eine Hintergrundaufgabe, ein Wesen zur Welt hinzuzufügen, und wird durch die Schutzprüfung gestoppt. Die betroffene Aktion scheitert; der Server läuft weiter.
So behebst du es:
- Öffne in der Konsole oder unter Dateien die vollständige Fehlerspur in
logs/latest.log. Die verkürzte Meldung zeigt oft nur Server-Aufrufe. - Lies weiter bis zum ersten Plugin-Aufruf und notiere, welche Aktion den Fehler ausgelöst hat.
- Installiere unter Plugins eine zu deiner Server-Version passende Ausgabe dieses Plugins und starte den Server vollständig neu.
- Tritt der Fehler weiter auf, melde ihn dem Plugin-Autor mit der vollständigen Fehlerspur. Der Plugin-Aufruf muss auf den richtigen Thread verlegt werden.
Gut zu wissen: Lass die Schutzprüfung aktiv. Ihr Abschalten behebt den fehlerhaften Zugriff auf die Welt nicht.
Beute-Berechnung scheitert an fehlenden Pflichtwerten
So sieht die Meldung aus:
java.lang.IllegalArgumentException: Missing required parameters: [<Parameter>]
Was dahintersteckt: Minecraft benötigt für Beute und Gegenstands-Ausgaben Angaben zur jeweiligen Situation. Die aufrufende Funktion liefert hier nicht alle Pflichtwerte. Deshalb bricht diese Berechnung ab. Welche Aktion betroffen ist, erkennst du am vollständigen Fehlerbericht und am Zeitpunkt der Meldung.
So behebst du es:
- Öffne die Meldung in der Konsole oder unter Dateien in
logs/latest.log, einschließlich der folgenden Aufrufliste. Diese Liste heißt Stacktrace. - Suche darin nach dem ersten beteiligten Plugin und notiere, welche Aktion den Fehler auslöst.
- Aktualisiere dieses Plugin unter Plugins und prüfe unter Version, ob deine Server-Software dazu passt.
- Teste dieselbe Aktion erneut. Bleibt der Fehler, gib dem zuständigen Projekt den vollständigen Bericht weiter.
Oritech scheitert bei einer Gegenstandsaktion am Block
So sieht die Meldung aus:
Failed to handle packet <Paket>, suppressing error
java.util.NoSuchElementException: null
at <Paket>.ItemFluidApi.tryFluidBlockItemInteraction(<Datei>:<Zeile>)
Was dahintersteckt: Die Mod Oritech verarbeitet eine Aktion, bei der ein Gegenstand an einem Block benutzt wird. Ihre Flüssigkeits-Verarbeitung versucht dabei, den ersten Eintrag einer leeren Liste zu lesen. Java meldet dafür eine NoSuchElementException, also einen Zugriff auf einen nicht vorhandenen Eintrag. Die Aktion bricht ab; der Server verarbeitet andere Aufgaben weiter.
So behebst du es:
- Notiere den verwendeten Gegenstand, den Block und die Uhrzeit. Erstelle unter Sicherungen eine Sicherung vor Änderungen.
- Prüfe unter Mods ein passendes Oritech-Update. Minecraft-Version, Loader und bei einem Modpack dessen vorgesehene Mod-Versionen müssen zusammenpassen.
- Tritt der Fehler weiter auf, vermeide zunächst die auslösende Aktion. Melde sie dem Oritech-Autor zusammen mit der vollständigen Fehlerspur aus
logs/latest.log.
BeautyQuests: Questfortschritt wird nicht in der Seitenanzeige aktualisiert
So sieht die Meldung aus:
[BeautyQuests.ScoreboardManager] Failed to refresh line {quest_advancement} for player <Spieler>
java.util.NoSuchElementException: No value present
Was dahintersteckt: BeautyQuests setzt in der Seitenanzeige einen Platzhalter für den Questfortschritt ein. Dabei fehlt ein Zahlenwert, den das Plugin erwartet. Die betroffene Anzeigezeile wird nicht aktualisiert, der Server läuft weiter.
So behebst du es:
- Prüfe in der Konsole oder unter Dateien in
logs/latest.log, bei welcher Quest die Meldung auftritt. Die Fehlerspur darunter zeigt die beteiligten Plugin-Aufrufe. - Sichere die Plugin-Konfiguration und aktualisiere BeautyQuests unter Plugins auf eine zu deiner Serverversion passende Ausgabe. Starte den Server vollständig neu.
- Bleibt der Fehler, entferne unter Dateien vorübergehend die Anzeigezeile mit
{quest_advancement}aus der BeautyQuests-Konfiguration. - Melde dem Plugin-Autor die vollständige bereinigte Fehlerspur und die betroffene Questkonfiguration. Entferne persönliche Angaben vor der Weitergabe.
TAB verwendet nach dem Neuladen ein verworfenes Objekt
So sieht die Meldung aus:
[TAB] java.lang.IllegalStateException: This instance got discarded because plugin was reloaded. Obtain a new instance.
Was dahintersteckt: TAB hat beim Neuladen interne Objekte ersetzt. Eine weitere Aktion greift noch auf ein altes Objekt zu, das TAB bereits verworfen hat. Dadurch bricht die betroffene Platzhalter-Registrierung ab und Teile der Anzeige können fehlen. Der Server läuft weiter.
So behebst du es:
- Starte den Server vollständig neu und prüfe danach die Konsole. Ein vollständiger Neustart lädt die beteiligten Komponenten gemeinsam neu.
- Kommt die Meldung zurück, sichere die Konfiguration und aktualisiere TAB sowie seine Erweiterungen auf zusammenpassende Versionen. Auf Fabric nutzt du Mods, für selbst hochgeladene Dateien Dateien.
- Verwende vorerst vollständige Neustarts. Notiere, welche Aktion die Meldung erneut auslöst.
- Gib dem TAB-Autor bei anhaltenden Fehlern die bereinigte Fehlerspur und die installierten Versionen.
Ein Plugin lässt beim Neuladen oder Stoppen Hintergrundaufgaben laufen
So sieht die Meldung aus:
Nag author: '<Autor>' of '<Plugin>' about the following: This plugin is not properly shutting down its async tasks when it is being shut down.
Was dahintersteckt: Das genannte Plugin beendet seine asynchronen Aufgaben nicht sauber. Das sind Arbeiten, die neben der Hauptschleife des Servers laufen. Nach einem Neuladen können alte und neue Plugin-Aufgaben miteinander in Konflikt geraten; beim regulären Stoppen können noch Fehlermeldungen entstehen.
So behebst du es:
- Prüfe in der Konsole, welches Plugin genannt wird und ob die Meldung beim Neuladen oder beim normalen Stoppen erscheint.
- Ist sie nach einem Neuladen aufgetreten, starte den Server vollständig neu. Verwende danach vollständige Neustarts für Plugin-Änderungen.
- Sichere die Plugin-Konfiguration und aktualisiere das betroffene Plugin unter Plugins auf eine passende Version.
- Erscheint die Meldung weiterhin bei regulären Stopps, melde sie dem Plugin-Autor mit den zugehörigen Logzeilen und deiner Serverversion.
Paper blockiert einen POI-Zugriff aus einem Hintergrund-Thread
So sieht die Meldung aus:
[ca.spottedleaf.moonrise.common.util.TickThread] Thread failed main thread check: Accessing poi chunk off-main, context=<Threadkontext>
Was dahintersteckt: POI bedeutet „Point of Interest“ und bezeichnet wichtige Orte, etwa Arbeitsplätze von Dorfbewohnern. Ein Hintergrund-Thread versucht hier auf die zugehörigen Daten eines Weltabschnitts zuzugreifen. Paper lässt diesen Zugriff nur im zuständigen Spiel-Thread zu und bricht die betroffene Aktion ab.
So behebst du es:
- Öffne in der Konsole oder unter Dateien in
logs/latest.logdie vollständige Fehlerspur. Das sind die Aufrufzeilen unter der Meldung; prüfe, ob darin ein Plugin genannt wird. - Erstelle unter Sicherungen eine Sicherung. Aktualisiere Paper unter Version und beteiligte Plugins unter Plugins auf zusammenpassende Ausgaben.
- Starte den Server vollständig neu und beobachte, ob dieselbe Aktion den Fehler wieder auslöst.
- Bleibt die Meldung ohne Plugin-Bezug bestehen, gib Paper die bereinigte Fehlerspur, die Serverversion und die Schritte zum Auslösen. Bei genanntem Plugin melde sie dessen Autor.
LuckPerms-Spielerdaten sind beim Beitritt noch nicht bereit
So sieht die Meldung aus:
Couldn't place player in world
java.lang.IllegalStateException: Capability has not been initialised
Was dahintersteckt: Der Beitritt scheitert an einer Berechtigungsabfrage. Die Fehlerspur führt über LuckPerms; dessen spielerbezogener Datenspeicher, die sogenannte Capability, ist zu diesem Zeitpunkt noch nicht bereit. Der betreffende Spieler wird dadurch nicht erfolgreich in die Welt gesetzt.
So behebst du es:
- Lies in der Konsole oder
logs/latest.logdie LuckPerms-Meldungen vor dem Fehler und notiere die beteiligten Mods. - Prüfe unter Mods, ob LuckPerms und die abfragende Mod zu deiner NeoForge- und Minecraft-Version passen. Verwende gemeinsam unterstützte Ausgaben.
- Starte den Server vollständig neu und teste den Beitritt erneut. Bleibt der Fehler, melde ihn mit vollständiger Fehlerspur und Versionsangaben an die beteiligten Mod-Autoren.
Eine Flüssigkeitsabfrage findet den erwarteten Kessel nicht
So sieht die Meldung aus:
java.lang.IllegalStateException: Unexpected error: no cauldron at location BlockPos{<Position>}
Was dahintersteckt: Eine Flüssigkeitsschnittstelle erwartet an der abgefragten Stelle einen Kessel, trifft aber auf einen anderen Blockzustand. In der Fehlerspur fragt Jade diese Schnittstelle ab, um Flüssigkeitsinformationen zu lesen. Die betroffene Abfrage bricht ab; Informationen zu diesem Block können dadurch fehlen.
So behebst du es:
- Lies die vollständige Fehlerspur in
logs/latest.logund prüfe, bei welcher Blockaktion die Meldung wiederkehrt. - Erstelle unter Sicherungen eine Sicherung. Gleiche unter Mods Jade und beteiligte Flüssigkeits-Mods sowie die NeoForge-Version auf gemeinsam unterstützte Ausgaben ab.
- Starte vollständig neu und wiederhole die Aktion. Bleibt der Fehler, melde die genaue Aktion und die Fehlerspur an die beteiligten Autoren.
MoreRelics berechnet bei einer Kampfaktion einen ungültigen Zahlenwert
So sieht die Meldung aus:
Exception caught during firing event: max is NaN
Was dahintersteckt: NaN steht für „Not a Number“, einen ungültigen Rechenwert. MoreRelics übergibt diesen Wert bei einer Kampfaktion als Obergrenze an eine Zahlenprüfung. Die Prüfung lehnt ihn ab und die betroffene Ereignisverarbeitung wird abgebrochen; der Server verarbeitet danach weitere Ereignisse.
So behebst du es:
- Lies in der Konsole oder
logs/latest.logdie vollständige Fehlerspur und notiere die auslösende Aktion. - Erstelle unter Sicherungen eine Sicherung. Prüfe unter Mods eine mit deinem Modpack und NeoForge abgestimmte MoreRelics-Ausgabe.
- Starte vollständig neu und teste dieselbe Aktion. Bleibt der Fehler, melde ihn dem Autor mit Fehlerspur, Mod-Auswahl und den verwendeten Gegenständen oder Effekten.
Citizens scheitert beim Senden von Paketdaten an einem leeren Wert
So sieht die Meldung aus:
java.lang.NullPointerException
at Citizens-<Version>.jar//net.citizensnpcs.PacketEventsHook.<Methode>(<Datei>:<Zeile>)
Was dahintersteckt: Beim Senden von Paketdaten greift Citizens über seine PacketEvents-Anbindung auf einen fehlenden Wert zu. Java nennt diesen leeren Wert null und bricht mit einer NullPointerException ab. Die betroffene Paketverarbeitung schlägt fehl; Aktualisierungen von NPCs, also computergesteuerten Figuren, können dadurch unvollständig sein.
So behebst du es:
- Lies die vollständige Fehlerspur in
logs/latest.logund notiere, bei welcher NPC-Aktion der Fehler auftritt. - Sichere unter Sicherungen den aktuellen Stand. Prüfe unter Plugins gemeinsam unterstützte Ausgaben von Citizens, PacketEvents und deiner Server-Software.
- Ersetze bei Bedarf die Dateien unter Dateien, starte vollständig neu und teste dieselbe Aktion. Bleibt der Fehler, melde Fehlerspur und Versionsangaben an den Autor.
NovaSync findet den Helfer für Betriebssystem-Updates nicht
So sieht die Meldung aus:
[NovaSyncPlugin] [os-updates] helper start failed subcmd=status err=IOException:Cannot run program "sudo": Exec failed, error: 2 (No such file or directory)
Was dahintersteckt: NovaSync versucht, ein externes Hilfsprogramm für Betriebssystem-Updates zu starten. Dazu ruft das Plugin sudo auf, ein Programm zum Ausführen von Befehlen mit anderen Benutzerrechten. Die Serverumgebung findet dieses Programm nicht, deshalb scheitern die Vorbereitung oder die Statusabfrage der Update-Funktion. Der Spielserver läuft weiter.
So behebst du es:
- Lies in der Konsole oder unter Dateien in
logs/latest.logdie vollständige Meldung und notiere die Uhrzeit. - Prüfe in der Anleitung deiner installierten NovaSync-Version die Voraussetzungen für os-updates und den benötigten Helfer.
- Öffne ein Ticket und nenne die Uhrzeit der Meldung sowie die Plugin-Version, um die Verfügbarkeit des Helfers in deiner Serverumgebung zu klären.
Gut zu wissen: Die Meldung betrifft die Betriebssystem-Updatefunktion von NovaSync, nicht die Aktualisierung deiner Minecraft-Plugins.
ProtocolLib kann einen Fehlerbericht nicht zuordnen
So sieht die Meldung aus:
[ProtocolLib] Error filtering reports: java.lang.IllegalArgumentException: Cannot find report name for Plugin %s tried to register listener for unknown packet %s
Was dahintersteckt: ProtocolLib unterstützt andere Plugins bei der Verarbeitung von Netzwerkpaketen, den Nachrichten zwischen Server und Spielclient. Hier scheitert zusätzlich die Zuordnung eines Diagnoseberichts. Der Bericht betrifft die Registrierung eines unbekannten Pakettyps. Der Server läuft weiter; die betroffene Paketfunktion und ihre Diagnose müssen geprüft werden.
So behebst du es:
- Lies in der Konsole oder in
logs/latest.logdie Zeilen unmittelbar vor und nach der Meldung. Suche dort nach dem beteiligten Plugin und Pakettyp. - Prüfe die unterstützten Server-Versionen von ProtocolLib und diesem Plugin. Aktualisiere beide unter Plugins auf passende Ausgaben.
- Stoppe den Server vor dem Dateiaustausch und starte anschließend vollständig neu. Prüfe die zuvor betroffene Funktion erneut.
- Bleibt die Meldung, gib dem Plugin-Autor den vollständigen Fehlerblock und die verwendeten Versionen weiter.
EliteMobs kann seine Munitionsfunktion nicht aktivieren
So sieht die Meldung aus:
[EliteMobs] Cannot enable native ammunition for <Verbindung>: java.util.NoSuchElementException: packet_handler
Was dahintersteckt: EliteMobs versucht, seine native Munitionsfunktion für eine Verbindung einzurichten. Ein Handler ist ein interner Verarbeitungsschritt für Netzwerkdaten. Der erwartete Schritt mit dem Namen packet_handler fehlt an der abgefragten Stelle. Dadurch wird diese Teilfunktion nicht aktiviert; der Server läuft weiter.
So behebst du es:
- Lies in der Konsole oder in
logs/latest.logdie benachbarten Meldungen. Achte auf vorhergehende Fehler beim Aufbau der Verbindung. - Vergleiche die von EliteMobs unterstützten Server-Versionen mit deiner Version. Prüfe auch die vom Autor genannten Abhängigkeiten.
- Stoppe den Server und aktualisiere EliteMobs unter Plugins auf eine passende Ausgabe. Starte den Server danach vollständig neu und teste die betroffene Funktion.
- Bleibt der Fehler, melde ihn dem EliteMobs-Autor mit vollständigem Fehlerblock, Server-Version und Plugin-Liste. Diese Angaben helfen, den fehlenden Verarbeitungsschritt einzugrenzen.
LuckPerms blockiert einen widersprüchlich freigegebenen Login
So sieht die Meldung aus:
[LuckPerms] Player connection was re-allowed for <Spieler-ID>
Was dahintersteckt: Während eines Beitritts haben Plugins widersprüchliche Entscheidungen getroffen. LuckPerms blockiert die erneut zugelassene Verbindung, um seine Rechteverarbeitung abzusichern. Der betroffene Beitritt scheitert; der Server läuft weiter.
So behebst du es:
- Lies in der Konsole oder in
logs/latest.logdie Meldungen unmittelbar vor dem fehlgeschlagenen Beitritt. Suche nach Datenladefehlern und Meldungen der Login-Plugins. - Wird ein Datenbank- oder Datenladefehler genannt, behebe zuerst diesen Fehler. Prüfe anschließend, welches Login-Plugin eine vorherige Ablehnung wieder aufhebt.
- Aktualisiere die betroffenen Komponenten unter Plugins auf zueinander und zur Server-Version passende Ausgaben. Stoppe den Server vor dem Austausch und starte danach neu.
- Teste den Beitritt erneut. Bleibt der Konflikt, gib den beteiligten Plugin-Autoren den vollständigen Fehlerblock und die Plugin-Liste weiter.
Gut zu wissen: Schalte die Anmeldeprüfung nicht ab, um den Konflikt zu umgehen.
Apotheosis: Eine Blockaktion scheitert an einem leeren Gegenstand
So sieht die Meldung aus:
Failed to handle packet <Paket>, suppressing error
java.lang.IllegalArgumentException: Expected resource to be non-empty: minecraft:air [0]
at <Loader>/dev.shadowsoffire.apotheosis.affix.salvaging.<Aufruf>
Was dahintersteckt: Apotheosis erreicht bei einer Blockaktion seine Zerlegefunktion. Dabei wird ein leerer Gegenstandsstapel an NeoForges Transferschnittstelle übergeben; diese verlangt einen vorhandenen Gegenstand. Deshalb bricht die Interaktion ab, während der Server weiterläuft. Der Stacktrace, also die Aufrufkette unter der Fehlermeldung, führt hier durch Apotheosis und NeoForge.
So behebst du es:
- Sichere den aktuellen Stand unter Sicherungen. Notiere, welche Blockaktion die Meldung auslöst, und vermeide sie vorerst.
- Öffne die vollständige Meldung in der Konsole oder über Dateien in
logs/latest.log. Halte auch die Zeilen vor dem Fehler fest. - Prüfe unter Mods, ob Apotheosis und seine benötigten Mods zu deiner Minecraft- und NeoForge-Version passen. Bei einem Modpack verwende einen zusammenpassenden Pack-Stand. Stoppe den Server vor dem Dateiaustausch und starte anschließend neu.
- Bleibt die Meldung, gib dem Mod-Autor die vollständige Fehlerspur, die installierten Versionen und die auslösende Aktion weiter.
ProtocolLib: Plugin fragt die UUID eines vorläufigen Spielers ab
So sieht die Meldung aus:
[<Plugin>] Unhandled exception occurred in onPacketSending(PacketEvent) for <Plugin>
java.lang.UnsupportedOperationException: The method getUniqueId is not supported for temporary players.
Was dahintersteckt: ProtocolLib stellt während des Verbindungsaufbaus vorläufige Spielerobjekte bereit. Die eindeutige Kontokennung UUID lässt sich über dieses Objekt noch nicht abfragen. Ein Plugin versucht dies beim Senden eines Pakets trotzdem. Sein Paket-Handler, also die zuständige Verarbeitungsfunktion, bricht dadurch ab; der Server läuft weiter.
So behebst du es:
- Lies in der Konsole, welches Plugin nach „for“ genannt wird. Sichere die vollständige Fehlerspur aus
logs/latest.log. - Prüfe unter Plugins für dieses Plugin und ProtocolLib die Unterstützung deiner Server-Version. Verwende zueinander passende Ausgaben.
- Stoppe den Server vor dem Dateiaustausch. Starte ihn anschließend vollständig neu und teste den Beitritt erneut.
- Bleibt der Fehler, melde ihn dem Autor des betroffenen Plugins mit vollständiger Fehlerspur, installierten Versionen und auslösender Aktion.
Deine Meldung ist nicht dabei?
Lies die ganze Meldung, auch die Zeilen davor. Dort steht oft, was das Plugin gerade tun wollte. Im Stacktrace verraten die Dateinamen in den „at“-Zeilen, etwa <Plugin>.jar, und die Paketnamen das Plugin oder die Mod. Zeilen mit java.base, net.minecraft, org.bukkit oder io.papermc gehören zu Java und zum Server. Lege eine Sicherung an, aktualisiere den Verursacher und starte neu. Kommst du nicht weiter, öffne ein Ticket und nenne die Uhrzeit der Meldung.
Gemessene Aufwachzeiten: Die Dauer schwankt mit Auslastung und Warteschlange und kann deutlich länger als eine Minute sein. Aktuelle P50-, P95- und Erfolgswerte: mcfreehost Produktdaten.
Den passenden Server bestellst du hier: Minecraft Server mieten.