Planifiez un redémarrage de serveur Valheim
Valheim les serveurs profitent d'un redémarrage sur une longue durée, mais le jeu ne vous donne presque rien pour le faire gracieusement. Le serveur dédié n'a pas de console à distance du tout.
À quel moment doit-il redémarrer ?
Valheim n'a pas de console à distance, donc un script ne peut pas avertir vos joueurs ou déclencher une sauvegarde. Ce qui reste est un signal de processus propre, que ce jeu gère correctement. Le calendrier ci-dessous s'exécute donc exactement à l'heure que vous avez définie, sans délai d'attente, car il n'y a pas de compte à rebours à exécuter.
Ce qui se passe, dans l'ordre
- Heure de redémarrageArrêterSIGTERM au processus, puis attendre qu'il se termine de lui-même
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.
La ligne cron
Aucun temps d'attente nécessaire : il n'y a pas de compte à rebours avant le redémarrage.
0 4 * * * /opt/restart-valheim.sh
Le script qu'il exécute
Enregistrer en tant que /opt/restart-valheim.sh et le rendre exécutable. Il suppose que rcon-cli est sur le chemin et lit le mot de passe à partir de l'environnement plutôt que de l'intégrer.
#!/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
Le cron utilise le fuseau horaire du serveur, pas le vôtre. Vérifiez-le avec timedatectl avant de supposer que 04:00 signifie 04:00 chez vous — un conteneur en UTC et un administrateur en Europe sont deux heures éloignés en été et une en hiver.
La partie spécifique à Valheim
Il n'y a pas de moyen d'avertir les joueurs depuis un script et pas de commande d'enregistrement. Ce que Valheim fait correctement est enregistrer lors d'un arrêt propre, donc un SIGTERM — ce que systemctl restart envoie — laisse le monde intact. N'utilisez pas un signal de meurtre qui saute cela, et ne planifiez rien pendant les heures où les gens jouent, car le premier avertissement que quelqu'un recevra sera la déconnexion.