AEONHOST / WISSEN

Minecraft-Welt gesperrt: session.lock und doppelte Prozesse prüfen

Wenn ein Java-Server meldet, die Welt sei gesperrt, prüfe zuerst Prozess, Instanz und den tatsächlich geladenen Weltpfad. Starte nicht wiederholt neu und lösche session.lock nicht blind.

Aktualisiert am 07.10.2026

Wenn ein Java-Server meldet, die Welt sei gesperrt, prüfe zuerst Prozess, Instanz und den tatsächlich geladenen Weltpfad. Starte nicht wiederholt neu und lösche session.lock nicht blind.

Fehlermeldung und betroffene Welt festhalten

Lies die erste relevante Meldung in der Serverkonsole und, falls vorhanden, in logs/latest.log. Paper nennt latest.log als erste Stelle für Startfehler (PaperMC: Basic Troubleshooting). Notiere die genaue Meldung, Uhrzeit, Minecraft-Version, Server-Software und den im Log genannten Weltpfad. Teile vollständige Logs nur mit einer vertrauenswürdigen Person: Sie können Namen und interne Verzeichnisse enthalten.

Im originalen Mojang-Serverartefakt für Java 26.3 öffnet der Code session.lock im ausgewählten Weltordner zum Schreiben, schreibt einen Marker und ruft danach FileChannel.tryLock() auf. Nur wenn tryLock() null zurückgibt, erzeugt dieser Code den Hinweis already locked (possibly by other Minecraft instance?). Die Java-Dokumentation ordnet null einem überlappenden Lock eines anderen Programms zu. Beim sauberen Schliessen gibt Minecraft die Sperre frei und schliesst die Datei, löscht sie aber nicht. Ein sichtbares session.lock allein ist daher kein Grund, es zu entfernen. Der Codebefund gilt für das geprüfte Mojang-Artefakt Java 26.3; andere Versionen und Forks können abweichen (Mojang: Java 26.3 Versionsbeschreibung und Serverartefakt, Java SE 25: FileChannel.tryLock).

Prozess und Instanz prüfen

  1. Keinen zweiten Start auslösen. Prüfe zuerst, ob der Server im Panel oder in der Konsole noch läuft. Bei einer lokalen Java-Welt speichere und schliesse Minecraft über das Spielmenü. Wenn eine andere Person die Instanz betreibt, frage sie, bevor du etwas stoppst.
  2. Nur den eigenen, bekannten Server sauber stoppen. Verwende bei deiner eigenen Serverinstanz die normale Stop-Funktion der Konsole oder des Panels und warte, bis der Prozess als beendet angezeigt wird. Beende keine unbekannten Java-Prozesse und verwende kein erzwungenes „Sofort beenden“, nur um die Meldung zu umgehen. Der laufende Prozess könnte noch Weltdaten schreiben.
  3. Den exakten Weltpfad abgleichen. Paper verwendet level-name in server.properties als Namen des Weltordners. Startparameter wie --world oder --level-name können diesen Namen überschreiben; --world-dir beziehungsweise --world-container legt den übergeordneten Ordner fest (PaperMC: server.properties, PaperMC: CLI Arguments). Vergleiche diese Werte mit dem Pfad im Startskript oder Panel. Ähnlich benannte Ordner können getrennte Welten sein.
  4. Doppelte Instanzen erkennen, nicht abschiessen. Prüfe über die verfügbare Statusanzeige oder Prozessliste, ob dieselbe Welt aus einem zweiten Serverfenster, Launcher, Panel oder Startskript läuft. Wenn dir Prozessname oder Arbeitsordner nicht eindeutig gehören, stoppe nicht selbst; übergib die Fehlermeldung mit Zeit und Weltpfad an den Betreiber.

Wenn der Konflikt nach einem Wechsel begann

Notiere, ob der Fehler direkt nach einem Update, einer Wiederherstellung oder dem Anlegen einer Testkopie auftrat. Prüfe bei einer Testinstanz, dass sie wirklich auf einen eigenen Weltordner zeigt und nicht dieselbe Quelle wie die bisherige Instanz öffnet. Vergleiche den Namen aus level-name und den Startparameter mit dem Ordner, den du im Dateibereich ansiehst. Kopiere eine Welt nur bei vollständig gestopptem Prozess und behalte die Quelle unverändert. Ein Kopiervorgang während des Spielens oder Serverbetriebs kann einen Zwischenstand erzeugen; daraus lässt sich nicht sicher ableiten, ob Dateien fehlen oder ob noch ein Prozess darauf zugreift.

Was die Datei aussagt und was nicht

Ein OverlappingFileLockException ist vom Mojang-Hinweis zu unterscheiden: Sie bezeichnet einen überlappenden Lock derselben Java-VM oder einen wartenden Thread in dieser VM. Sie beweist keinen zweiten separaten Serverprozess. Laut Java-SE-API führt eine andere Ursache beim Sperrversuch zu einer Ausnahme statt zum null-Ergebnis (Java SE 25: FileChannel, Java SE 25: OverlappingFileLockException).

Auch vor dem eigentlichen Lockversuch kann der Start scheitern: Minecraft legt den Weltordner an, öffnet session.lock mit Schreibzugriff, schreibt hinein und synchronisiert die Datei, bevor es tryLock() aufruft. Eine AccessDeniedException oder eine andere IOException kann deshalb auf fehlende Rechte oder einen Fehler beim Erstellen, Öffnen, Schreiben oder Speichern hinweisen. Lies die erste Ausnahme samt Caused by in latest.log; prüfe den genannten Weltpfad und ob genau der Serverprozess dort schreiben darf. Bei einem eingehängten oder entfernten Speicher lass den Betreiber zusätzlich dessen Lock-Unterstützung und Status prüfen. Java weist darauf hin, dass Lockverhalten von Betriebssystem und Dateisystem abhängt und bei Netzwerkspeichern besondere Sorgfalt braucht (Java SE 25: AccessDeniedException, Java SE 25: FileLock und Plattformabhängigkeiten). Ändere Rechte nicht pauschal und lösche die Datei nicht als Standardmassnahme.

Erstelle vor weiteren Änderungen eine vollständige Sicherung und behalte sie getrennt; die Anleitung Minecraft-Server-Backup erstellen beschreibt die Sicherung.

Bleibt derselbe Fehler bestehen, obwohl der für diese Welt zuständige Prozess nachweislich beendet ist, versuche keine Dateimanipulation. Prüfe die erste Fehlermeldung erneut und lasse den Betreiber kontrollieren, welcher Prozess und welches tatsächliche Verzeichnis noch verbunden sind. Wenn du Dateien nicht selbst einsehen kannst, hilft die Anleitung zu Gameserver-Dateien per SFTP; bei anderen Startproblemen ist die Minecraft-Startfehler-Checkliste der passende nächste Schritt. Bei AeonHost kannst du den Sachverhalt über /kontakt schildern; eine Anfrage ersetzt keine Prozessprüfung vor Ort.

Technische Quellen