Installation et Gestion d'un Serveur Eco¶
Ce guide vous explique comment installer, configurer et administrer un serveur Eco à l'aide de Docker et Docker Compose.
Eco est un jeu de simulation multijoueur avec une économie et un écosystème dynamique.
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 ! 🌍💚