Backups
Welten und Dateien persistenter Server sichern und wiederherstellen, von Hand oder nach Zeitplan.
Ein Backup, das du nie zurückgespielt hast, ist eine Hoffnung, kein Backup. Diese Seite ist kurz genug, um sie einmal mit einer Testgruppe durchzuspielen.
Was gesichert wird
Backups gelten für persistente Gruppen. Flüchtige Server werden bei jedem Start aus ihren Vorlagen neu gebaut, in ihnen gibt es also nichts, was sich aufzuheben lohnt.
persistent = true
[backup]
at = ["04:00"]
keep = 7Zu jeder angegebenen Uhrzeit geht die Cloud die Verzeichnisse der Gruppe unter static/ durch,
weist jeden laufenden Server an, seine Welt auf die Platte zu schreiben, legt pro Server ein
tar.gz in backups/ ab und lässt den Server weiterlaufen. Das Schreiben ist wichtig: Paper hält
die Hauptwelt im Arbeitsspeicher und schreibt level.dat erst, wenn es zum Speichern aufgefordert
wird. Ein Archiv ohne diesen Schritt wäre unvollständig.
Das Archiv enthält das Serververzeichnis ohne cache, logs, libraries, versions,
crash-reports und debug, die beim nächsten Start ohnehin wiederhergestellt werden. Sein Name
enthält den Server und die Uhrzeit, zum Beispiel Lobby-1-20260923-040000.tar.gz.
keep legt fest, wie viele Archive pro Server erhalten bleiben. Die ältesten darüber hinaus
werden nach jedem Lauf gelöscht. Mindestens eines bleibt immer, egal was du einstellst.
Von Hand
groups <name> backup jetzt eins schreiben
groups <name> backup list was vorhanden ist
groups <name> backup restore <file> eins zurückspielenZurückgespielt wird nur auf einen Server, der nicht läuft. Weil die Cloud einen fehlenden persistenten Server sofort wieder startet, pausierst du die Gruppe vorher:
groups Lobby disable
service Lobby-1 stop
groups Lobby backup restore Lobby-1-20260925-040000.tar.gz
groups Lobby startDas Archiv wird über das Verzeichnis des Servers entpackt. Vorhandene Dateien werden
überschrieben, Dateien, die nicht im Archiv sind, bleiben. Es werden nur Dateinamen aus
backup list angenommen, ein präparierter Name mit ../ kann also nicht außerhalb dieses
Verzeichnisses schreiben.
Was das nicht leistet
Die Archive liegen auf derselben Platte wie die Server. Das schützt dich vor einer kaputten Welt,
einem missglückten Plugin-Update und einem falschen Befehl, aber überhaupt nicht vor einem
verlorenen Server. Kopiere backups/ regelmäßig auf einen anderen Rechner, zum Beispiel mit
rsync oder restic von einem zweiten Server aus, der die Daten per SSH abholt.
Übe die Wiederherstellung einmal, solange nichts brennt. Leg eine Testgruppe an, schreib ein Backup, lösch etwas in der Welt, spiel das Backup zurück und schau dir das Ergebnis an. Zehn Minuten jetzt sind besser als eine Stunde Raten unter Druck.