SLBCloud
Intermédiaire6 min de lecture

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

JeuL'essentielÀ ne pas oublier
MinecraftLes dossiers world, world_nether, world_the_endplugins/ et leurs bases, server.properties, ops.json
FiveMLa base de données MySQLresources/, server.cfg, les données txAdmin
Garry's Modgarrysmod/data et garrysmod/settingsLes bases SQLite des modes de jeu, addons/
Rust, ARKLe dossier des sauvegardesLes 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

bash
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

cron
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 -delete

Cinq 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