Skip to content

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.

  1. Créer un compte sur play.eco
  2. Aller dans les paramètres du compte → Server Tokens
  3. Générer un nouveau token et le copier
  4. Créer un fichier .env dans /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é)

  1. Ouvrir http://<IP_DU_SERVEUR>:3001
  2. Se connecter avec le compte Strange Loop Games utilisé pour le token
  3. Aller dans Admin Panel → Users
  4. 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 latest par 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 ! 🌍💚