Server-Wartung, ohne Spieler rauszuwerfen
- Marcel Dütscher
- 6. Juli
- 1 Min. Lesezeit
Aktualisiert: vor 5 Tagen
Was passiert eigentlich mit den Spielern, wenn wir den Server aktualisieren müssen? Die einfache Antwort wäre: Stecker ziehen. Die bessere Antwort haben wir gebaut — und sie ist eines meiner Lieblings-Features, obwohl man sie im Idealfall kaum bemerkt.
Die Ankündigung. Der Server kann jeder laufenden Welt eine Wartungsnachricht schicken. Im Spiel erscheint dann ein Banner mit Countdown: „Server-Neustart in 10 Minuten." Die Nachricht muss aktiv weggeklickt werden — aber erst nach ein paar Sekunden, damit niemand sie versehentlich im Kampfgetümmel wegdrückt.
Der sanfte Neustart. Läuft der Countdown ab, fährt die Welt geordnet herunter: Spielstand speichern, Spieler mit einem erklärenden Abschiedsbildschirm verabschieden (statt eines kryptischen „Verbindung verloren"), Container stoppen. Beim nächsten Join wacht die Welt mit der neuen Version wieder auf — der Spielstand ist natürlich noch da.
Die Technik dahinter: Ein abgesicherter Admin-Endpunkt nimmt Ankündigungen entgegen — geschützt durch ein Token, das nur der Server kennt. Ist kein Token konfiguriert, ist die Funktion komplett aus; ein offener Ankündigungs-Endpunkt wäre eine Einladung für Unfug. Für Admins gibt es zusätzlich Chat-Befehle direkt im Spiel und einen Knopf pro Welt im Admin-Panel.
Ein unerwarteter Nebeneffekt: Seit es das System gibt, machen wir Updates entspannter — und damit öfter. Gute Wartungswerkzeuge verbessern nicht nur die Wartung, sie verbessern das ganze Projekt.
Kommentare