Installation et Gestion d'un Serveur Eco¶
Héberger son propre serveur de jeu, c'est offrir à ses amis un monde persistant qui n'attend que vous — sans location, sans limites imposées.
Eco est un cas à part : un jeu où l'on ne survit pas seul contre la nature, mais où l'on doit coopérer pour bâtir une civilisation sans détruire l'écosystème qui la fait vivre. Économie réelle, écologie simulée, lois votées entre joueurs — un serveur Eco, c'est presque une petite société. Ce guide le déploie avec Docker et Docker Compose.
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 Eco¶
2.1 Créer le répertoire du projet¶
mkdir -p /opt/docker-compose/Eco
cd /opt/docker-compose/Eco
2.2 Obtenir le userToken¶
Le userToken identifie votre serveur auprès de Strange Loop Games et lui permet d’apparaître dans la liste officielle des serveurs Eco.
- Créer un compte sur play.eco
- Aller dans les paramètres du compte → Server Tokens
- Générer un nouveau token et le copier
- Créer un fichier
.envdans/opt/docker-compose/Eco/:
TOKEN=votre-token-ici
💡 Sans token valide, le serveur démarre mais n’apparaît pas dans la liste publique. La connexion directe par IP reste possible.
2.3 Créer le fichier docker-compose.yml¶
version: ‘3.8’
services:
eco-game-server:
container_name: Eco-server
image: strangeloopgames/eco-game-server:latest
restart: always
volumes:
- ./Configs:/app/Configs # Fichiers de configuration du serveur (difficulté, monde, etc.)
- ./Storage:/app/Storage # Données du monde et sauvegardes
command: ["./EcoServer", "--nogui", "--userToken=${TOKEN}"]
# ^ pas d’interface graphique (mode headless)
# ^ token défini dans .env
environment:
- TZ=Europe/Paris # Fuseau horaire du serveur
ports:
- "3000:3000/udp" # Connexion au jeu (clients Eco)
- "3001:3001/tcp" # Interface web d’administration
3. Configuration du Monde et de la Difficulté¶
3.1 Fichier de difficulté : Configs/Difficulty.eco¶
Exemple de configuration personnalisée (adaptée) :
{
"GameSettings": {
"DesiredNumberOfPlayers": 4,
"HoursPlayedPerDay": 3.0,
"CollaborationLevel": "NoCollaboration",
"GameSpeed": "Normal",
"SimulationLevel": "Normal",
"ExhaustionEnabled": true,
"HasMeteor": true,
"AllowFriendsToJoin": true,
"GenerateRandomWorld": false,
"AdvancedGameSettings": {
"MeteorImpactInDays": 30.0,
"MaxProfessionsPerCitizen": 10.0,
"MaxSpecialtiesPerCitizen": 33.0,
"SkillCostMultiplier": 1.0,
"CraftResourceMultiplier": 1.0,
"CraftTimeMultiplier": 1.0,
"ClaimStakesGrantedUponSkillscrollConsumed": 0.0,
"ClaimPapersGrantedUponSkillscrollConsumed": 0.0,
"CanAbandonSpecialties": true,
"SpecialtyRefundPercentage": 0.0,
"GainCharacterExperienceWithSpecialtyExperience": 0.0,
"StackSizeMultiplier": 1.0,
"WeightMultiplier": 1.0,
"FuelEfficiencyMultiplier": 1.0,
"GrowthRateMultiplier": 1.0,
"ConnectionRangeMultiplier": 1.0,
"ShelfLifeMultiplier": 1.0,
"AllowDeepOceanBuilding": true,
"RequireSkillsToReplaceParts": true,
"BrokenPartsWillDisableVehicles": true
}
},
"EndgameCraftCost": "Normal",
"SkillbookCraftCost": "Normal",
"SwimSpeed": {
"Ocean": 0.75,
"DeepOcean": 0.25
},
"CalorieConsumptionRate": {
"Ocean": 3.0,
"DeepOcean": 10.0
},
"PlayerCanDrownWhenSwimming": true
}
3.2 Téléchargement du fichier WorldGenerator.eco.template¶
Ce fichier est obligatoire pour personnaliser la génération du monde (ex. : seed, taille du monde, biomes).
📥 Téléchargement recommandé : Il est conseillé de le récupérer depuis un serveur officiel ou depuis une instance locale déjà configurée.
Sinon, vous pouvez utiliser celui mis à disposition ici : 👉 Télécharger le script
Placez-le dans le dossier Configs/ :
/opt/docker-compose/Eco/Configs/WorldGenerator.eco.template
▶ 4. Lancer et Gérer le Serveur¶
4.1 Démarrage¶
cd /opt/docker-compose/Eco
docker-compose up -d
4.2 Vérification¶
docker ps
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 Eco-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 Interface Web Admin¶
🌐 http://<IP_DU_SERVEUR>:3001
6.2 Connexion In-Game¶
🎮 Dans Eco, ajoutez le serveur :
<IP_PUBLIQUE>:3000
✅ Assurez-vous que les ports 3000/UDP et 3001/TCP sont ouverts dans votre pare-feu et NAT.
6bis. Passer administrateur sur le serveur¶
Il n'existe pas de compte admin par défaut — l'administrateur est désigné manuellement après la première connexion.
Via l'interface web (recommandé)¶
- Ouvrir
http://<IP_DU_SERVEUR>:3001 - Se connecter avec le compte Strange Loop Games utilisé pour le token
- Aller dans Admin Panel → Users
- Cliquer sur le joueur à promouvoir → Make Admin
Via la console du conteneur¶
docker exec -it Eco-server /bin/bash
Puis dans le shell du conteneur, utiliser la commande in-game (depuis la console serveur) :
/admin <NomDuJoueur>
7. Arborescence des fichiers¶
/opt/docker-compose/Eco/
├── docker-compose.yml # Fichier Docker principal
├── .env # Fichier contenant TOKEN (obligatoire pour liste publique)
├── Configs/ # Configuration du serveur
│ ├── Difficulty.eco
│ └── WorldGenerator.eco.template
└── Storage/ # Données du monde, sauvegardes
8. Conseils Pratiques¶
- Sauvegardes : synchronisez
Storage/avec un cloud ou un autre disque (rsync,rclone, etc.) - Changer de version du jeu : remplacez
latestpar un tag d’image Docker spécifique - Personnalisation avancée : modifiez les fichiers dans
Configs/(par ex. la seed du monde)
9. Sécurité¶
- Ne publiez que les ports nécessaires (3000/UDP, 3001/TCP)
- Utilisez un pare-feu (
ufw,iptables) sur les serveurs publics - Changez régulièrement votre userToken
Conclusion¶
Grâce à Docker, l'installation et la gestion d'un serveur Eco sont simples et modulaires. Il ne vous reste plus qu'à bâtir une société durable avec vos amis ! 🌍💚