Plane den Restart deines Valheim Servers
Valheim Server profitieren von einem Neustart bei einer langen Laufzeit, aber das Spiel gibt dir fast nichts, um ihn elegant durchzuführen. Der dedizierte Server hat keine Remote-Konsole.
Wann sollte es neu starten?
Valheim hat keine Remote-Konsole, daher kann ein Skript deine Spieler nicht warnen oder ein Save auslösen. Was bleibt, ist ein sauberes Prozesssignal, das dieses Spiel korrekt handhabt. Der unten angegebene Zeitplan läuft daher genau zur von dir eingestellten Uhrzeit, ohne Vorlaufzeit, da es keine Countdown gibt, der ablaufen könnte.
Was passiert, der Reihe nach
- NeustartzeitStoppSIGTERM an den Prozess, dann warten, bis er von selbst endet
Valheim’s dedicated server has no remote console, so there is no way to warn players from a script and no save command to send. The restart is a clean process signal and nothing else — which the server does handle correctly, saving the world as it shuts down.
Die crontab-Zeile
Keine Vorlaufzeit erforderlich - es gibt keine Countdown vor dem Neustart.
0 4 * * * /opt/restart-valheim.sh
Das Skript, das es ausführt
Speichere als /opt/restart-valheim.sh und mache es ausführbar. Es geht davon aus, dass rcon-cli auf dem Pfad ist und liest das Passwort aus der Umgebung anstatt es einzubetten.
#!/usr/bin/env bash set -euo pipefail # Scheduled restart for Valheim. # Generated by spawnly.net/tools/restart-scheduler sleep 10 # Valheim has no console, so stop it the way its service manager would. systemctl restart valheim || pkill -TERM -f valheim
Der Cron verwendet die Zeitzone des Servers, nicht deine. Überprüfe sie mit timedatectl, bevor du davon ausgehst, dass 04:00 Uhr 04:00 Uhr bedeutet – ein Container in UTC und ein Admin in Europa sind im Sommer zwei Stunden und im Winter eine Stunde auseinander.
Der Teil, der spezifisch für Valheim ist
Es gibt keine Möglichkeit, Spieler von einem Skript zu warnen und keinen Speicherbefehl zu senden. Was Valheim korrekt tut, ist beim sauberen Shutdown zu speichern, also sende ein SIGTERM – was ein systemctl-Neustart sendet – lässt die Welt intakt. Verwende kein Kill-Signal, das das überspringt, und plane nichts während der Stunden, in denen die Leute spielen, weil die erste Warnung, die jemand bekommt, die Trennung sein wird.