Sauvegarder et restaurer un serveur Project Zomboid
Une stratégie de sauvegarde solide protège votre serveur des sauvegardes corrompues, des conflits de mods, des wipes accidentels et du griefing. Ce guide couvre ce qu'il faut sauvegarder, comment le faire sur un serveur DoomHosting, et comment restaurer, y compris l'astuce pour restaurer uniquement le monde ou uniquement les personnages.
Ce qu'il faut sauvegarder
Inutile de sauvegarder tout le contenu de /home/container. Les fichiers de mods et les binaires se retéléchargent. Seuls ces éléments comptent :
| Chemin | Pourquoi le sauvegarder |
|---|---|
/home/container/.cache/Saves/Multiplayer/Pterodactyl/ |
Le monde entier : chunks, véhicules, constructions |
/home/container/.cache/Server/ |
La config serveur : .ini, SandboxVars.lua, spawnregions.lua |
/home/container/.cache/db/Pterodactyl.db |
SQLite : liste des admins, whitelist, bans |
/home/container/.cache/Logs/ (facultatif) |
Pour diagnostiquer un problème récent |
Une sauvegarde complète pèse en général de 100 à 600 Mo selon l'exploration du monde.
Méthode 1 : la sauvegarde intégrée au panneau (la plus simple)
Les serveurs DoomHosting disposent d'un onglet Sauvegardes intégré :
- Ouvrez votre serveur
- Cliquez sur Backups
- Cliquez sur Create backup
- Patientez de 30 secondes à quelques minutes selon la taille de la sauvegarde
- Téléchargez le .tar.gz sur votre ordinateur
La sauvegarde capture l'intégralité du dossier /home/container dans une seule archive. Programmez-en une par semaine via la fonction de sauvegarde automatique du panneau si elle est disponible.
Méthode 2 : téléchargement manuel en SFTP
Si vous ne voulez que les données de sauvegarde (téléchargement plus léger) :
- Récupérez vos identifiants SFTP dans le panneau (en général sous « Settings » ou « SFTP Details »)
- Connectez-vous avec FileZilla ou WinSCP
- Allez dans
/home/container/.cache/ - Téléchargez les dossiers
Saves/,Server/etdb/
Ou en ligne de commande :
sftp -P PORT [email protected]
sftp> get -r /home/container/.cache/Saves/Multiplayer/Pterodactyl /local/backups/
sftp> get -r /home/container/.cache/Server /local/backups/
sftp> get /home/container/.cache/db/Pterodactyl.db /local/backups/
Méthode 3 : forcer une sauvegarde en jeu avant l'archivage
Pour un état cohérent, forcez une sauvegarde avant d'archiver :
- Connectez-vous au serveur
- Lancez
/savedans le chat (droits admin requis) - Attendez le message « World saved »
- Arrêtez le serveur (recommandé pour une sauvegarde propre)
- Puis lancez la sauvegarde
Vous garantissez ainsi que l'état sur le disque correspond à l'état en jeu. Sans cela, les actions récentes des joueurs risquent de ne pas encore être écrites dans les fichiers.
Restaurer une sauvegarde : restauration complète
Tout effacer et repartir d'une sauvegarde :
- Arrêtez le serveur
- Supprimez le dossier
/home/container/.cache/Saves/Multiplayer/Pterodactyl/actuel - Envoyez le dossier de votre sauvegarde au même emplacement
- Démarrez le serveur
Les joueurs se reconnectent exactement à l'état capturé dans votre sauvegarde.
Restaurer uniquement le monde (en gardant les joueurs actuels)
Vos joueurs ont progressé depuis la sauvegarde, mais le monde a été griefé :
- Arrêtez le serveur
- Copiez le
players.dbactuel hors de/home/container/.cache/Saves/Multiplayer/Pterodactyl/et mettez-le de côté - Restaurez le monde depuis la sauvegarde (remplacez tout le dossier
Pterodactyl) - Recollez le
players.dbactuel dans le dossierPterodactylrestauré, en écrasant la version issue de la sauvegarde - Démarrez le serveur
Les joueurs conservent leurs niveaux et leur inventaire actuels, et le monde revient à l'état de la sauvegarde.
Restaurer uniquement les personnages (en gardant le monde actuel)
Le cas inverse : les personnages des joueurs ont été effacés par accident, mais le monde est intact.
- Arrêtez le serveur
- Copiez le
players.dbde votre sauvegarde - Collez-le dans le
/home/container/.cache/Saves/Multiplayer/Pterodactyl/actuel, en écrasant la version corrompue - Démarrez le serveur
Restaurer uniquement la config serveur
Vous avez peut-être cassé SandboxVars.lua et vous voulez retrouver les valeurs précédentes sans toucher au monde :
- Arrêtez le serveur
- Depuis votre sauvegarde, extrayez
/home/container/.cache/Server/Pterodactyl.iniet/home/container/.cache/Server/Pterodactyl_SandboxVars.lua - Envoyez-les aux mêmes emplacements, en écrasant les fichiers actuels
- Démarrez le serveur
Stratégie de rétention des sauvegardes
Pour un serveur public de 16 joueurs, cette rotation fonctionne bien :
| Fréquence | Rétention | Cas d'usage |
|---|---|---|
| Toutes les heures | Garder les 6 dernières | Récupérer d'un griefing très récent |
| Quotidienne | Garder les 7 dernières | Récupérer d'un incident de la veille |
| Hebdomadaire | Garder les 4 dernières | Filet de sécurité sur la durée |
| Mensuelle | Garder les 3 dernières | Instantané avant un gros changement de mods |
Les forfaits DoomHosting incluent des sauvegardes quotidiennes automatiques : ajoutez d'autres fréquences depuis le panneau si besoin.
Restaurer sur un autre serveur ou changer d'hébergeur
Si vous déménagez chez un nouvel hébergeur :
- Faites une sauvegarde complète depuis l'ancien serveur
- Sur le nouveau serveur, installez Project Zomboid Dedicated Server
- Arrêtez le nouveau serveur (laissez-le tourner une fois pour qu'il génère l'arborescence, puis arrêtez-le)
- Envoyez le contenu de votre sauvegarde dans
/home/container/.cache/sur le nouveau serveur - Vérifiez que le nom du serveur dans le nouveau panneau correspond (ou renommez le dossier de sauvegarde pour qu'il corresponde au nouveau nom)
- Démarrez le nouveau serveur
Si vos joueurs passent par une entrée du server browser Steam, il leur faudra la nouvelle IP. Les données du monde, elles, se transfèrent parfaitement.
Problèmes courants
« Restauré, mais le monde est vide »
Mauvais nom de dossier. Le dossier de sauvegarde doit correspondre exactement au nom de votre serveur. Si l'ancien serveur s'appelait Pterodactyl et le nouveau MyServer, renommez le dossier.
« Les joueurs apparaissent au spawn par défaut au lieu de leur position »
players.db n'a pas été restauré, ou vous avez restauré le monde alors que les chunks où se trouvaient les joueurs ne figurent pas dans la sauvegarde (très rare).
« Le serveur démarre bien mais les mods ne se chargent pas après la restauration »
Les mods ne sont pas sauvegardés, ils se retéléchargent depuis Steam. Vérifiez que votre liste de mods dans Pterodactyl.ini est intacte après la restauration.
« L'archive .tar.gz refuse de s'extraire »
Utilisez 7-Zip sous Windows ou tar -xzf backup.tar.gz sous Linux et Mac. N'utilisez pas l'extracteur intégré de Windows : il corrompt parfois les noms de chemins longs.
FAQ
Combien de temps prend une sauvegarde ? 30 secondes pour un petit monde (100 Mo), jusqu'à 5 minutes pour un monde très exploré (1 Go et plus). Le serveur peut rester allumé pendant l'opération, mais les performances d'écriture baissent brièvement.
Puis-je sauvegarder pendant que des joueurs sont connectés ? Techniquement oui, mais l'instantané peut attraper un fichier en cours d'écriture. Pour une sauvegarde importante, arrêtez d'abord le serveur.
Où Pterodactyl stocke-t-il les sauvegardes ?
Sur le disque, dans /var/lib/pterodactyl/backups/ sur le nœud hôte, ou sur un stockage cloud s'il est configuré. De votre côté, il suffit de les télécharger depuis le panneau.
Quelle différence entre une sauvegarde de fichiers et un /save ?
/save écrit l'état en mémoire sur le disque. Une sauvegarde copie ces fichiers ailleurs. Les deux sont nécessaires : d'abord /save, ensuite la sauvegarde.
