Hier geht es um Meldungen rund um den Serverstart, die Anmeldung von Spielern und Netzwerkverbindungen, etwa zu Ports oder zu einem Proxy wie Velocity oder BungeeCord. Jeder Abschnitt behandelt genau eine Meldung. Einige verhindern den Start des Servers, andere betreffen nur einzelne Spieler oder eine Zusatzfunktion.

Den vollständigen Wortlaut findest du in der Konsole und unter Dateien in logs/latest.log. Meldungen, bei denen ein Proxy seinen Zielserver nicht erreicht, stehen im Log des Proxys. Lies jeweils auch die Zeilen direkt davor und danach.

Bevor du server.properties, Plugin-Konfigurationen oder Weltdateien änderst, lege unter Sicherungen eine Sicherung an. So kommst du jederzeit zum alten Stand zurück.

Der Port ist bereits belegt

So sieht die Meldung aus:

**** FAILED TO BIND TO PORT!
java.net.BindException: Address already in use
[<Plugin>] Failed to start HTTP server: Address already in use

Was dahintersteckt: Ein Port ist wie eine Türnummer, über die Verbindungen zum Server ankommen. Jeder Port kann je Protokoll nur von einem Programm gleichzeitig belegt werden. Steht „FAILED TO BIND TO PORT“ in der Meldung, konnte der Minecraft-Server seinen Spielport nicht öffnen und startet nicht. Dieselbe BindException kann auch von einem Plugin kommen, das einen eigenen Port öffnet, etwa für Voice-Chat oder eine Webkarte. Dann läuft der Server, aber diese Funktion des Plugins fällt aus.

So behebst du es:

  1. Lies die Zeile vor der BindException. Steht dort ein Plugin-Name in eckigen Klammern, betrifft es nur dieses Plugin.
  2. Betrifft es den Spielport, stoppe den Server über die Konsole, warte, bis er vollständig aus ist, und starte ihn neu. Den Spielport verwaltet das Panel automatisch, ändere server-port nicht von Hand.
  3. Betrifft es ein Plugin, öffne unter Dateien dessen Konfiguration in plugins/<Plugin>/. Trage dort einen Port ein, der deinem Server im Panel zugewiesen ist und den kein anderer Dienst nutzt, oder schalte die Funktion ab.
  4. Starte neu und prüfe in der Konsole, ob die Meldung wegbleibt.

Gut zu wissen: Für Voice-Chat steht der Ablauf hier: Simple Voice Chat einrichten.

Ein Login-Plugin startet nicht, weil der Server im Online-Modus läuft

So sieht die Meldung aus:

[LibreLogin] !!!The server is running in online mode! LibreLogin won't start unless you set it to false!!!
[FastLogin] Server has to be in offline mode

Was dahintersteckt: Im Online-Modus (online-mode=true in server.properties) prüft der Server jedes Java-Konto direkt bei Mojang. Anmelde-Plugins wie LibreLogin, AuthMe oder FastLogin sind für Server gedacht, die diese Prüfung nicht selbst machen, und regeln die Anmeldung dann über Passwörter. Läuft der Server trotzdem im Online-Modus, verweigert das Plugin den Start oder kann die Anmeldung nicht steuern. Spieler ohne gekauftes Konto werden weiterhin abgewiesen.

So behebst du es:

  1. Entscheide, wer auf den Server soll: nur Spieler mit gekauftem Minecraft-Konto oder bewusst auch andere.
  2. Sollen nur echte Konten beitreten, entferne das Anmelde-Plugin unter Plugins und starte den Server neu. Der Online-Modus schützt dann alle Namen.
  3. Sollen bewusst auch Spieler ohne gekauftes Konto beitreten, nutze in den Minecraft-Einstellungen deines Servers den Tab Cracked-/Non-Premium-Spieler erlauben. Er stellt online-mode=false ein und richtet das Login-Plugin passend ein, sodass Spielernamen mit einem Passwort geschützt sind.
  4. Stelle online-mode nicht von Hand auf false, nur damit die Meldung verschwindet. Ohne Login-Plugin oder abgesicherten Proxy kann sich dann jeder mit jedem Namen anmelden, auch mit dem eines Admins.

Ausführlich: Cracked-/Offline-Modus aktivieren bzw. Cracked-Server: Login und Grenzen

Die Minecraft-EULA ist nicht akzeptiert

So sieht die Meldung aus:

You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

Was dahintersteckt: Die EULA ist der Lizenzvertrag von Mojang bzw. Microsoft für Minecraft-Server. Ein Java-Server startet erst, wenn in der Datei eula.txt die Zeile eula=true steht. Fehlt sie oder steht dort eula=false, beendet sich der Server direkt nach dem Start wieder. Bei uns wird dieser Wert automatisch gesetzt. Die Meldung taucht deshalb meist erst auf, wenn eula.txt gelöscht oder überschrieben wurde, zum Beispiel beim Hochladen eigener Serverdateien.

So behebst du es:

  1. Öffne unter Dateien im Hauptordner des Servers, dort wo auch server.properties liegt, die Datei eula.txt.
  2. Ändere eula=false in eula=true und speichere. Fehlt die Datei, lege sie mit genau dieser einen Zeile an.
  3. Starte den Server und verfolge den Start in der Konsole.

Gut zu wissen: Mit eula=true stimmst du den Bedingungen der Minecraft-EULA zu.

Ausführlich: Minecraft-EULA und erster Serverstart

Ein Spieler ohne gültiges Minecraft-Konto wurde abgewiesen

So sieht die Meldung aus:

Username '<Spieler>' tried to join with an invalid session

Was dahintersteckt: Ein Spieler wollte mit einem Java-Client beitreten, der kein gültiges, gekauftes Minecraft-Konto (Microsoft) vorweisen konnte. Im Online-Modus (online-mode=true) weist der Server solche Verbindungen ab. Genau diese Zeile erzeugen Cracked- oder TLauncher-Clients. Gelegentlich steckt bei einem echten Konto nur eine abgelaufene Sitzung dahinter. Dein Server ist gesund und läuft normal weiter.

So behebst du es:

  1. Frag den Spieler, ob er Minecraft: Java Edition mit einem Microsoft-Konto gekauft hat und im offiziellen Launcher damit angemeldet ist.
  2. Hat er ein gültiges Konto, soll er den Minecraft-Client komplett neu starten. Das erneuert die abgelaufene Sitzung.
  3. Spielt er mit Bedrock auf Handy, Konsole oder Windows, kann er stattdessen über die Crossplay-Adresse deines Servers beitreten, sofern Crossplay aktiv ist.
  4. Schalte deswegen nicht den Online-Modus von Hand ab.

Gut zu wissen: Willst du nur echte Konten zulassen, musst du nichts tun. Die Meldung zeigt dann nur, dass der Schutz greift.

Ausführlich: Cracked-/Offline-Modus aktivieren bzw. Cracked-Server: Login und Grenzen

Die Anmeldung ist gestört, weil Mojang nicht antwortet

So sieht die Meldung aus:

Couldn't verify username because servers are unavailable

Was dahintersteckt: Im Online-Modus fragt der Server bei jedem Beitritt die Anmelde-Server von Mojang bzw. Microsoft, ob das Konto echt ist. Antworten diese gerade nicht, kann der Server das Konto nicht prüfen und lässt den Spieler nicht hinein. Das liegt nicht an deinem Server: Bei einer Störung dort trifft es alle Server mit aktivem Premium-Check gleichzeitig. Neue Spieler kommen so lange nicht auf den Server, wer schon online ist, spielt in der Regel weiter.

So behebst du es:

  1. Warte die Störung ab. Sie behebt sich meist innerhalb weniger Minuten von selbst.
  2. Den aktuellen Stand siehst du auf der Statusseite von Mojang.
  3. Bitte deine Spieler, es in ein paar Minuten erneut zu versuchen.
  4. Schalte deswegen nicht online-mode ab. Das würde deinen Server dauerhaft für gefälschte Konten öffnen, statt ein kurzes Problem zu lösen.

Gut zu wissen: Kommen Spieler auf anderen Servern problemlos hinein und hält die Meldung bei dir lange an, öffne ein Ticket und nenne die Uhrzeit der Meldung.

Das Query-System startet nicht

So sieht die Meldung aus:

Unable to initialise query system on <IP>:<Port>
java.net.BindException: Address already in use

Was dahintersteckt: Query ist eine zusätzliche Schnittstelle über UDP, über die Serverlisten und Werkzeuge Spielerzahl und Online-Status abfragen. Startet sie nicht, meldet der Server diese Angaben nicht mehr nach außen. Das Spielen selbst ist nicht betroffen, Spieler können normal beitreten. Die BindException darunter zeigt den Grund: Der Query-Port ist schon belegt oder kollidiert mit einem anderen Dienst, häufig mit einem weiteren UDP-Dienst wie Geyser oder einem Voice-Chat-Plugin auf demselben Port.

So behebst du es:

  1. Sieh im Panel nach, welche Ports deinem Server zugewiesen sind und welche davon schon Geyser oder ein Voice-Chat-Plugin nutzt.
  2. Öffne unter Dateien die Datei server.properties.
  3. Setze enable-query=true und trage bei query.port einen zugewiesenen Port ein, den kein anderer Dienst nutzt.
  4. Speichere und starte den Server neu. Prüfe in der Konsole, ob die Meldung wegbleibt.

Das Server-Icon hat nicht 64 × 64 Pixel

So sieht die Meldung aus:

Couldn't load server icon
java.lang.IllegalArgumentException: Invalid world icon size [<Breite>, <Höhe>], but expected [64, 64]

Was dahintersteckt: Das Bild server-icon.png im Hauptordner erscheint in der Serverliste der Spieler neben dem Servernamen. Minecraft akzeptiert dafür ausschließlich ein PNG mit genau 64 × 64 Pixeln. Hat das Bild eine andere Größe, lädt der Server es nicht, und die Spieler sehen kein eigenes Icon. Der Server läuft ganz normal weiter.

So behebst du es:

  1. Öffne dein Bild in einem Bildbearbeitungsprogramm und skaliere es auf genau 64 × 64 Pixel.
  2. Speichere es als PNG mit dem Namen server-icon.png.
  3. Lade es unter Dateien in den Hauptordner des Servers hoch und ersetze die alte Datei.
  4. Starte den Server neu. Das neue Icon erscheint, sobald Spieler ihre Serverliste aktualisieren.

Gut zu wissen: Willst du kein eigenes Icon, lösche server-icon.png und starte den Server neu. Die Meldung verschwindet dann ebenfalls.

Ein Client hat ein ungültiges Anmeldepaket geschickt

So sieht die Meldung aus:

Failed to decode packet 'serverbound/minecraft:hello'

Was dahintersteckt: „hello“ ist das erste Paket, das ein Client bei der Anmeldung schickt, unter anderem mit dem Spielernamen. Konnte der Server es nicht lesen, passt der Client nicht zur Server-Version oder zum erwarteten Protokoll, etwa wegen einer anderen Minecraft-Version oder eines fehlenden Modloaders. Der Server trennt nur diese eine Verbindung und läuft weiter.

So behebst du es:

  1. Prüfe, ob zu dieser Uhrzeit ein Spieler beitreten wollte und es nicht geschafft hat.
  2. Wenn ja, vergleiche seine Minecraft-Version mit der Version deines Servers unter Version. Bei einem Modpack braucht er dasselbe Pack mit demselben Modloader.
  3. Wenn niemand beitreten wollte, war es meist ein automatischer Portscanner, der Server im Internet abklopft. Dann musst du nichts tun.

Gut zu wissen: Sollen Spieler mit anderen Client-Versionen beitreten können, hilft auf Paper-Servern ViaVersion.

Der Proxy erreicht den Zielserver nicht rechtzeitig

So sieht die Meldung aus:

io.netty.channel.ConnectTimeoutException: connection timed out after <Millisekunden> ms: /<Adresse>:<Port>

Was dahintersteckt: Ein Proxy wie Velocity oder BungeeCord ist der Eingangsserver, über den Spieler beitreten und dann auf eingetragene Zielserver verteilt werden. Hier wollte der Proxy einen Zielserver erreichen und hat innerhalb der Wartezeit keine Antwort bekommen. Meist stimmen Adresse oder Port nicht, oder der Zielserver ist offline bzw. schläft. Spieler kommen dann nicht auf diesen Zielserver, der Proxy selbst läuft weiter.

So behebst du es:

  1. Lies am Ende der Meldung ab, welche Adresse und welchen Port der Proxy erreichen wollte.
  2. Vergleiche sie in velocity.toml (Abschnitt [servers]) bzw. in der config.yml von BungeeCord (Abschnitt servers) mit den Angaben, die das Panel für den Zielserver zeigt. Sie müssen genau übereinstimmen.
  3. Starte den Zielserver und warte, bis er vollständig hochgefahren ist. Schlafende Server weckst du vorher auf.
  4. Starte den Proxy neu, damit er geänderte Einträge übernimmt, und teste den Beitritt.

Ausführlich: BungeeCord: Could not connect to a default or fallback server

Die Velocity-Unterstützung ist ohne Secret eingeschaltet

So sieht die Meldung aus:

Velocity is enabled, but no secret key was specified. A secret key is required. Disabling velocity...

Was dahintersteckt: Velocity ist ein Proxy, der Spieler an Paper-Server weiterreicht. Damit Paper diesen Weiterleitungen trauen kann, teilen sich Proxy und Server ein gemeinsames Geheimwort, das Secret. In der Paper-Konfiguration ist die Velocity-Unterstützung eingeschaltet, das Secret fehlt aber. Paper schaltet die Unterstützung deshalb ab, und die Spieler-Weiterleitung über den Proxy funktioniert nicht.

So behebst du es:

  1. Hol dir das Secret vom Velocity-Proxy. Bei aktuellen Velocity-Versionen steht es in der Datei forwarding.secret, auf die velocity.toml verweist, bei älteren direkt in velocity.toml.
  2. Öffne auf dem Paper-Server unter Dateien die Datei config/paper-global.yml und suche den Abschnitt proxies → velocity.
  3. Setze enabled: true und trage bei secret genau dasselbe Secret ein.
  4. Nutzt du gar keinen Velocity-Proxy, setze dort stattdessen enabled: false.
  5. Starte den Paper-Server neu und prüfe, ob die Meldung verschwunden ist.

Gut zu wissen: In velocity.toml muss dafür player-info-forwarding-mode auf modern stehen. Bei Paper-Versionen vor 1.19 steht die Einstellung nicht in config/paper-global.yml, sondern in paper.yml unter settings → velocity-support. Behandle das Secret wie ein Passwort.

Der Zielserver lehnt die Verbindung des Proxys ab

So sieht die Meldung aus:

io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed with error(-111): Connection refused: /<Adresse>:<Port>

Was dahintersteckt: Der Proxy hat die eingetragene Adresse des Zielservers erreicht, dort nimmt aber kein Dienst auf dem Port Verbindungen an. Anders als bei einer Zeitüberschreitung antwortet die Adresse also, nur lauscht dort nichts. Typische Gründe: Der Zielserver ist gestoppt, startet gerade noch, oder der Port im Proxy gehört nicht zu diesem Server. Spieler kommen so lange nicht auf diesen Zielserver.

So behebst du es:

  1. Lies am Ende der Meldung Adresse und Port ab.
  2. Starte den Zielserver und warte in seiner Konsole, bis er vollständig gestartet ist.
  3. Vergleiche Adresse und Port in velocity.toml bzw. in der config.yml von BungeeCord mit den Angaben, die das Panel für den Zielserver zeigt.
  4. Trage nicht 127.0.0.1 ein, wenn Proxy und Zielserver getrennte Server sind. Diese Adresse zeigt auf den Proxy selbst.

Gut zu wissen: Während ein Zielserver neu startet, ist die Meldung normal und verschwindet von selbst.

Ausführlich: BungeeCord: Could not connect to a default or fallback server

Deine Meldung ist nicht dabei?

Lies die ganze Meldung in der Konsole oder in logs/latest.log, auch die Zeilen direkt davor. Oft steht dort, was zuerst gescheitert ist. Folgt ein Stacktrace, also eine Liste von Zeilen, die mit „at“ beginnen, verraten Ordner- und Dateinamen darin wie plugins/<Plugin> oder <Plugin>.jar das beteiligte Plugin oder die Mod. Bei Proxy-Problemen lies die Logs von Proxy und Zielserver zur selben Uhrzeit. Lege vor Änderungen eine Sicherung an. Kommst du nicht weiter, öffne ein Ticket und nenne die Uhrzeit der Meldung.