Skip to content

🌱 Installation et Gestion d’un Serveur Eco (Strange Loop Games)

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é)
  • Les paquets suivants installés :
sudo apt update && sudo apt install -y docker.io docker-compose
sudo systemctl enable --now 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 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
      - ./Storage:/app/Storage
    command: ["./EcoServer", "--nogui", "--userToken=${TOKEN}"]
    environment:
      - TZ=Europe/Paris
    ports:
      - "3000:3000/udp"  # Interface web (admin)
      - "3001:3001/tcp"  # Connexion au jeu

📌 Note :

  • Remplace ${TOKEN} par une variable d’environnement contenant une clé d’authentification valide.
  • Crée un fichier .env à la racine avec TOKEN=your-secret-token si besoin.

⚙️ 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>:3000

6.2 Connexion In-Game

🎮 Dans Eco, ajoutez le serveur :

<IP_PUBLIQUE>:3001

✅ Assurez-vous que les ports 3000/UDP et 3001/TCP sont ouverts dans votre pare-feu et NAT.


📂 7. Arborescence des fichiers

/opt/docker-compose/Eco/
├── docker-compose.yml           # Fichier Docker principal
├── .env                         # Fichier contenant TOKEN (optionnel)
├── 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 ! 🌍💚