Installation et Gestion d'un Serveur 7 Days to Die¶
Ce guide vous explique comment installer, configurer et administrer un serveur 7 Days to Die à l'aide de Docker et Docker Compose.
7 Days to Die est un jeu de survie sandbox mêlant construction, exploration et combats contre des hordes de zombies dans un monde post-apocalyptique.
1. Prérequis¶
Avant de commencer, assurez-vous de disposer de :
- Une machine sous Linux (Debian/Ubuntu recommandé)
- Docker et Docker Compose installés — voir Installation Docker
2. Installation du Serveur 7 Days to Die¶
2.1 Créer le répertoire du projet¶
mkdir -p /opt/docker-compose/7dtd
cd /opt/docker-compose/7dtd
2.2 Créer le fichier docker-compose.yml¶
version: "3.8"
services:
7dtd-server:
image: didstopia/7dtd-server:latest
container_name: 7dtd-server
restart: unless-stopped
ports:
- "26900-26902:26900-26902/tcp" # Ports TCP (connexion jeu)
- "26900-26902:26900-26902/udp" # Ports UDP (communication en jeu)
- "8081:8081/tcp" # Console telnet admin (accès local uniquement)
environment:
- SEVEN_DAYS_TO_DIE_SERVER_NAME=${ID_SERVER} # Nom affiché dans la liste des serveurs
- SEVEN_DAYS_TO_DIE_SERVER_PASSWORD=${PASSWORD} # Mot de passe requis pour rejoindre
- SEVEN_DAYS_TO_DIE_SERVER_PORT=26900 # Port d'écoute principal
- SEVEN_DAYS_TO_DIE_SERVER_PUBLIC=FALSE # FALSE = serveur privé, TRUE = visible publiquement
- SEVEN_DAYS_TO_DIE_SERVER_WORLD=RWG # RWG = monde généré aléatoirement (Random World Generation)
- SEVEN_DAYS_TO_DIE_SERVER_GAME_MODE=GameModeSurvival # Mode de jeu (survie avec hordes)
- SEVEN_DAYS_TO_DIE_SERVER_MAX_PLAYERS=8 # Nombre maximum de joueurs simultanés
- SEVEN_DAYS_TO_DIE_SERVER_DIFFICULTY=2 # Difficulté : 0=Touriste, 2=Normal, 5=Cauchemar
volumes:
- ./7dtd_data:/steamcmd/7dtd # Données du serveur (configs, sauvegardes, serverconfig.xml)
- ./7dtd_logs:/root/.local/share/7DaysToDie # Journaux du serveur
📌 Note :
- Définissez vos variables dans un fichier
.env:* Le répertoireID_SERVER="MonServeur7DTD" PASSWORD="motdepassefort"7dtd_data/contiendra les sauvegardes et les fichiers de configuration du serveur. * Le répertoire7dtd_logs/stockera les journaux du serveur. * N'exposez pas le port 8081 sur Internet — la console telnet n'a pas d'authentification forte. Accès local uniquement ou via tunnel SSH.
3. Configuration du Serveur¶
La configuration avancée du serveur se fait via les variables d'environnement ou directement dans les fichiers générés dans :
/opt/docker-compose/7dtd/7dtd_data
Principaux paramètres disponibles :
| Variable | Description | Valeur par défaut |
|---|---|---|
SEVEN_DAYS_TO_DIE_SERVER_NAME |
Nom du serveur affiché en jeu | — |
SEVEN_DAYS_TO_DIE_SERVER_PASSWORD |
Mot de passe d'accès | — |
SEVEN_DAYS_TO_DIE_SERVER_PORT |
Port principal du serveur | 26900 |
SEVEN_DAYS_TO_DIE_SERVER_PUBLIC |
Visibilité publique (TRUE / FALSE) |
FALSE |
SEVEN_DAYS_TO_DIE_SERVER_WORLD |
Type de monde (RWG = généré aléatoirement) |
RWG |
SEVEN_DAYS_TO_DIE_SERVER_GAME_MODE |
Mode de jeu (GameModeSurvival, etc.) |
GameModeSurvival |
SEVEN_DAYS_TO_DIE_SERVER_MAX_PLAYERS |
Nombre maximum de joueurs | 8 |
SEVEN_DAYS_TO_DIE_SERVER_DIFFICULTY |
Difficulté (0 = Touriste, 5 = Cauchemar) | 2 |
💡 Astuce : Le fichier
serverconfig.xmlprésent dans7dtd_data/permet une configuration encore plus fine (seed de la carte, options réseau avancées, etc.).
3.1 Principaux paramètres du serverconfig.xml¶
Le fichier est généré automatiquement au premier démarrage dans 7dtd_data/. Voici les paramètres les plus utiles à personnaliser :
<!-- Identité du serveur -->
<property name="ServerName" value="MonServeur7DTD" />
<property name="ServerPassword" value="motdepassefort" />
<property name="ServerMaxPlayerCount" value="8" />
<!-- Monde -->
<property name="GameWorld" value="RWG" /> <!-- RWG = monde aléatoire -->
<property name="WorldGenSeed" value="MaSeed42" /> <!-- Seed fixe pour reproductibilité -->
<property name="WorldGenSize" value="6144" /> <!-- Taille : 4096, 6144, 8192, 10240 -->
<!-- Gameplay -->
<property name="GameDifficulty" value="2" /> <!-- 0=Touriste → 5=Cauchemar -->
<property name="DayNightLength" value="60" /> <!-- Durée d'un jour en minutes réelles -->
<property name="BloodMoonFrequency" value="7" /> <!-- Horde tous les X jours in-game -->
<property name="BloodMoonRange" value="0" /> <!-- 0 = horde le jour exact -->
<!-- Console admin (telnet) -->
<property name="TelnetEnabled" value="true" />
<property name="TelnetPort" value="8081" />
<property name="TelnetPassword" value="admin-password-fort" />
⚠️ Modifier
serverconfig.xmlnécessite un redémarrage du conteneur pour être pris en compte.
▶ 4. Lancer et Gérer le Serveur¶
4.1 Démarrage¶
cd /opt/docker-compose/7dtd
docker-compose up -d
⏳ Premier démarrage : le serveur télécharge les fichiers du jeu via SteamCMD puis génère le monde (selon la taille choisie). Comptez 5 à 15 minutes avant que le serveur soit prêt à accepter des connexions. Suivre la progression avec
docker-compose logs -f.
Le serveur est prêt quand les logs affichent :
INF StartGame
INF NET: StartServer
4.2 Vérification¶
docker ps
docker-compose logs --tail=20
4bis. Console Admin (Telnet)¶
La console telnet permet d'administrer le serveur en direct (kick, ban, teleport, etc.) sans redémarrer.
telnet localhost 8081
Entrer le mot de passe défini dans TelnetPassword du serverconfig.xml.
Commandes utiles :
| Commande | Description |
|---|---|
listplayers |
Lister les joueurs connectés |
kick <joueur> |
Expulser un joueur |
ban <joueur> <durée> |
Bannir un joueur (ex. ban add Pseudo 30 days) |
teleport <joueur> <x> <y> <z> |
Téléporter un joueur |
say "<message>" |
Envoyer un message à tous les joueurs |
saveworld |
Sauvegarder le monde immédiatement |
shutdown |
Arrêter proprement le serveur |
help |
Afficher toutes les commandes disponibles |
5. Commandes Utiles¶
| Action | Commande |
|---|---|
| 🔁 Redémarrer le serveur | docker-compose restart |
| ⛔ Arrêter le serveur | docker-compose down |
| 📜 Logs en direct | docker-compose logs -f |
| 🐚 Accès shell conteneur | docker exec -it 7dtd-server /bin/bash |
| 🔄 Mettre à jour l'image | docker-compose pull && docker-compose up -d |
| 🧼 Nettoyage complet | docker-compose down -v --rmi all --remove-orphans |
6. Connexion au Serveur¶
6.1 Depuis le jeu¶
🎮 Lancez 7 Days to Die, puis accédez à "Rejoindre un serveur" et ajoutez l'adresse :
<IP_PUBLIQUE>:26900
6.2 Ports nécessaires¶
Assurez-vous que les ports suivants sont ouverts dans votre pare-feu et redirigés via votre NAT :
- 26900-26902 TCP/UDP
7. Arborescence des fichiers¶
/opt/docker-compose/7dtd/
├── docker-compose.yml # Fichier Docker principal
├── .env # Variables d'environnement (ID_SERVER, PASSWORD)
├── 7dtd_data/ # Données du serveur (configs, saves, serverconfig.xml)
└── 7dtd_logs/ # Journaux du serveur
8. Conseils Pratiques¶
- Sauvegardes : synchronisez
7dtd_data/avec un cloud ou un autre disque (rsync,rclone, etc.) - Mises à jour automatiques : l'image
didstopia/7dtd-serverapplique les mises à jour du jeu à chaque redémarrage du conteneur. - Difficulté : ajustez
SEVEN_DAYS_TO_DIE_SERVER_DIFFICULTY(0 = Touriste → 5 = Cauchemar) selon vos besoins. - Nombre de joueurs : adaptez
SEVEN_DAYS_TO_DIE_SERVER_MAX_PLAYERSaux capacités de votre machine.
9. Sécurité¶
- Définissez toujours un mot de passe fort (
PASSWORD) pour protéger votre serveur. - Gardez
SEVEN_DAYS_TO_DIE_SERVER_PUBLIC=FALSEsi vous souhaitez jouer uniquement en privé. - Utilisez un pare-feu (
ufw,iptables) pour n'exposer que les ports strictement nécessaires. - Sauvegardez régulièrement
7dtd_data/pour éviter toute perte de progression.
Conclusion¶
Grâce à Docker, l'installation et la gestion d'un serveur 7 Days to Die sont rapides et modulaires. Vous pouvez maintenant affronter les hordes de zombies avec vos amis, en toute sécurité ! 🧟🔨