Mettre en place des sauvegardes automatiques d'un serveur Minecraft
Un crash, un grief ou une mauvaise commande peut détruire des heures de construction. Voici comment mettre en place des sauvegardes automatiques et cohérentes de votre serveur Minecraft.
Un crash, un griefing, une mauvaise commande ou un plugin défectueux peut détruire en quelques secondes des heures de construction. Sans copie exploitable du monde, cette perte peut être définitive. Les sauvegardes automatiques constituent donc un filet de sécurité indispensable pour tout serveur Minecraft Java, quelle que soit sa taille.
Une stratégie fiable ne consiste pas seulement à compresser le dossier du serveur chaque nuit. La copie doit être cohérente, conservée sur plusieurs générations, externalisée et régulièrement testée. Voici comment mettre en place ce dispositif sans risquer de sauvegarder un monde déjà corrompu.
Quels fichiers sauvegarder sur un serveur Minecraft ?
Le monde principal est généralement réparti dans trois dossiers :
worldpour l’Overworldworld_netherpour le Netherworld_the_endpour l’End
Le nom de world peut différer si la propriété level-name a été modifiée dans server.properties. Certains logiciels de serveur ou plugins multimonde créent également des dossiers supplémentaires. Vérifiez donc la liste des mondes réellement chargés avant d’écrire votre script.
Pour restaurer complètement le serveur, sauvegardez aussi :
server.properties- les dossiers
plugins,modsetconfig - les fichiers
ops.json,whitelist.jsonetbanned-*.json - les configurations de permissions
- les scripts et paramètres de démarrage
- les bases SQLite stockées dans les dossiers des plugins
- les bases MySQL ou PostgreSQL utilisées par certains plugins
Une archive du monde permet de retrouver les constructions, mais pas nécessairement les grades, l’économie, les sanctions ou les données d’un plugin. Si un plugin utilise une base distante, prévoyez un export SQL cohérent en complément.
Pourquoi une copie à chaud peut être corrompue ?
Minecraft écrit continuellement dans ses fichiers de région .mca. Pendant qu’un outil copie un fichier, le serveur peut encore modifier des chunks, les données des joueurs ou les entités. L’archive obtenue risque alors de combiner plusieurs états du monde. Elle peut sembler valide tout en contenant une région corrompue ou des données incohérentes.
Deux méthodes permettent d’éviter ce problème.
La plus sûre consiste à arrêter proprement le serveur, attendre la fin de son processus, puis copier ses fichiers. Cette méthode produit une copie stable, mais impose une interruption de service.
Pour sauvegarder sans arrêt complet, envoyez successivement ces commandes à la console Minecraft :
save-off
save-all flush
save-off suspend les sauvegardes automatiques du monde. save-all flush force ensuite l’écriture immédiate des données encore en mémoire. Vous pouvez alors effectuer la copie. Dès qu’elle est terminée, réactivez impérativement les écritures :
save-on
La période entre save-off et save-on doit rester aussi courte que possible. Si le script échoue sans envoyer save-on, les nouvelles modifications pourraient ne plus être enregistrées sur le disque.
Méthode 1 : utiliser les sauvegardes du panel
Un panel d’hébergement propose souvent une création de sauvegarde en un clic, une planification automatique et une interface de restauration. Cette solution convient aux administrateurs qui ne souhaitent pas maintenir un script, un accès RCON et une tâche cron.
Avant de vous y fier, contrôlez néanmoins plusieurs points :
- la fréquence réelle des sauvegardes
- le nombre de versions conservées
- les fichiers inclus
- l’emplacement physique des copies
- la procédure de téléchargement et de restauration
- le comportement du panel pendant la copie du monde
Les offres Gaming TalCloud sont disponibles en ligne, avec Minecraft dès 2,99 €/mois, un panel inclus, du stockage NVMe, une protection Anti-DDoS, un hébergement en France et un déploiement annoncé en 60 secondes. Des sauvegardes automatiques sont incluses pour vous aider à restaurer votre serveur.
Méthode 2 : automatiser avec Bash, RCON et cron
RCON permet à un script d’envoyer les commandes de sauvegarde à Minecraft. Activez-le dans server.properties :
enable-rcon=true
rcon.port=25575
rcon.password=UTILISEZ_UN_SECRET_LONG_ET_UNIQUE
N’exposez pas le port RCON publiquement. Limitez son écoute et son accès avec le pare-feu. Installez ensuite mcrcon, puis adaptez ce script aux chemins de votre serveur :
#!/usr/bin/env bash
set -Eeuo pipefail
SERVER_DIR="/srv/minecraft"
BACKUP_DIR="/srv/backups/minecraft"
STAMP="$(date +'%Y-%m-%d_%H-%M-%S')"
ARCHIVE="$BACKUP_DIR/minecraft-$STAMP.tar.gz"
RCON_HOST="127.0.0.1"
RCON_PORT="25575"
: "${RCON_PASSWORD:?Variable RCON_PASSWORD absente}"
rcon() {
mcrcon -H "$RCON_HOST" -P "$RCON_PORT" \
-p "$RCON_PASSWORD" "$1"
}
resume_saves() {
rcon "save-on" || true
}
mkdir -p "$BACKUP_DIR"
trap resume_saves EXIT
rcon "save-off"
rcon "save-all flush"
tar -C "$SERVER_DIR" -czf "$ARCHIVE" \
world \
world_nether \
world_the_end \
plugins \
config \
server.properties \
ops.json \
whitelist.json
rcon "save-on"
trap - EXIT
find "$BACKUP_DIR" -type f -name 'minecraft-*.tar.gz' \
-mtime +14 -delete
Le gestionnaire d’erreur trap tente de réactiver les écritures même si tar échoue. Ne placez pas le mot de passe directement dans le script. Chargez RCON_PASSWORD depuis un fichier d’environnement lisible uniquement par le compte qui exécute la tâche.
Testez manuellement le script, puis ajoutez une planification avec crontab -e :
15 4 * * * RCON_PASSWORD='SECRET' /srv/scripts/backup-minecraft.sh >> /var/log/backup-minecraft.log 2>&1
Cet exemple lance une sauvegarde chaque jour à 4 h 15. Un fichier d’environnement protégé reste préférable à un secret visible dans la crontab.
Externaliser les sauvegardes
Une archive conservée sur le même disque que le serveur ne protège ni d’une panne du support, ni d’une suppression accidentelle, ni d’une compromission complète de la machine. Copiez chaque archive vers un stockage distant après avoir réactivé save-on.
Des outils comme rsync, rclone ou restic permettent d’envoyer les fichiers vers une autre machine ou un stockage objet. Par exemple :
rsync -a --partial \
/srv/backups/minecraft/ \
backup@serveur-distant:/data/minecraft/
Utilisez une connexion SSH par clé, restreignez les droits du compte distant et vérifiez le code de retour de la commande. Si les archives contiennent des adresses IP, des journaux ou d’autres données personnelles, chiffrez-les avant leur transfert et définissez une durée de conservation adaptée. Notre guide sur les sauvegardes chiffrées avec restic détaille cette approche.
Définir une politique de rétention
Ne conservez jamais une seule archive continuellement écrasée. Une corruption ou un griefing peut passer inaperçu pendant plusieurs jours et contaminer la sauvegarde la plus récente.
Une politique simple peut conserver :
- sept sauvegardes quotidiennes
- quatre sauvegardes hebdomadaires
- trois sauvegardes mensuelles
- une copie exceptionnelle avant chaque mise à jour importante
Surveillez l’espace disponible et automatisez la suppression des anciennes versions. La rotation doit cibler exclusivement le répertoire de sauvegarde afin d’éviter toute suppression accidentelle des fichiers du serveur.
Tester régulièrement la restauration
Une sauvegarde jamais restaurée n’est pas encore une sauvegarde fiable. Téléchargez périodiquement une archive sur une instance de test, décompressez-la, démarrez la même version de Minecraft et inspectez plusieurs zones du monde.
Vérifiez notamment :
- le spawn et les constructions récentes
- le Nether et l’End
- les inventaires et les coffres
- les permissions et les données des plugins
- l’absence d’erreurs de région dans les journaux
Documentez aussi la procédure complète de restauration. En situation d’urgence, vous devez savoir quelle archive choisir, comment arrêter le serveur, remplacer les fichiers et valider le résultat avant sa réouverture. Notre guide pour migrer un serveur Minecraft complète cette procédure.
Choisir la bonne fréquence
La fréquence dépend de l’activité. Un petit serveur privé peut être sauvegardé une ou deux fois par jour. Un serveur public très actif peut nécessiter une sauvegarde toutes les heures, à condition que la durée de copie et l’espace disponible le permettent.
Planifiez les archives en dehors des pics de fréquentation. La compression mobilise le processeur et le stockage, ce qui peut provoquer un micro-lag. Prévenez les joueurs si l’opération est perceptible et surveillez sa durée au fil de la croissance du monde.
Responsabilité et bonnes pratiques
Chez TalCloud, des sauvegardes automatiques sont incluses pour vous aider à restaurer votre serveur. Vous restez responsable de vos données et devez garder vos propres exports réguliers.
Combinez idéalement la sauvegarde du panel avec une copie indépendante hors du serveur. Contrôlez les journaux d’exécution, surveillez l’espace disque, protégez les identifiants RCON, conservez plusieurs versions et testez une restauration après toute modification majeure. Cette discipline transforme une simple archive planifiée en véritable stratégie de reprise pour votre serveur Minecraft.