Sauvegarder un serveur de jeu
Ce qu'il faut vraiment copier selon le jeu, sauvegarder à chaud sans corrompre le monde, et automatiser sans remplir le disque.
Sur un serveur de jeu, la perte de données n'arrive presque jamais par une panne de disque : elle arrive parce qu'un joueur a tout détruit, parce qu'un plugin a mal migré une base, ou parce qu'une mise à jour a cassé un monde. Ce qui compte, c'est donc l'historique — pouvoir revenir à avant-hier soir.
Ce qu'il faut copier
| Jeu | L'essentiel | À ne pas oublier |
|---|---|---|
| Minecraft | Les dossiers world, world_nether, world_the_end | plugins/ et leurs bases, server.properties, ops.json |
| FiveM | La base de données MySQL | resources/, server.cfg, les données txAdmin |
| Garry's Mod | garrysmod/data et garrysmod/settings | Les bases SQLite des modes de jeu, addons/ |
| Rust, ARK | Le dossier des sauvegardes | Les fichiers de configuration et les listes d'administrateurs |
Sauvegarder sans corrompre
Copier un monde pendant que le serveur y écrit donne parfois une archive inutilisable : certains tronçons sont à moitié écrits. La bonne méthode est de demander au jeu de tout écrire, de suspendre l'écriture, de copier, puis de reprendre.
Minecraft, via RCON
mcrcon -H 127.0.0.1 -P 25575 -p motdepasse "save-off" "save-all"
sleep 5
tar czf /sauvegardes/monde-$(date +%F-%H%M).tar.gz world world_nether world_the_end
mcrcon -H 127.0.0.1 -P 25575 -p motdepasse "save-on"save-on, quoi qu'il arrive
Si le script s'interrompt entre save-off et save-on, le serveur continue de tourner sans jamais écrire sur le disque : au prochain plantage, vous perdez tout depuis la sauvegarde. Mettez le save-on dans un piège de sortie du script, pour qu'il s'exécute même en cas d'erreur.
Automatiser, avec une rétention
0 5 * * * /usr/local/bin/sauvegarde-jeu.sh >> /var/log/sauvegarde-jeu.log 2>&1
# Dans le script, après la copie : ne garder que 14 jours
find /sauvegardes -name 'monde-*.tar.gz' -mtime +14 -deleteCinq heures du matin est un bon créneau : les joueurs dorment, et si la copie ralentit un instant le serveur, personne ne s'en aperçoit.
Hors de la machine
Une sauvegarde posée à côté du monde ne protège que du joueur destructeur, pas de la perte de la machine. Envoyez-la ailleurs — un autre serveur, un espace de stockage — et testez une restauration de temps en temps sur un serveur d'essai.
Bloqué malgré tout ? Ouvrez un ticket : on répond en français, et on regarde votre machine si besoin.
Ouvrir un ticket