Skip to content

Installation et Gestion d'un Serveur Satisfactory

Certains projets ne tiennent pas dans une seule soirée. Un serveur dédié, c'est justement ce qui permet à une usine tentaculaire de grandir jour après jour, à plusieurs mains, sans jamais tout recommencer.

Satisfactory, c'est l'automatisation érigée en art : sur une planète alien, on explore, on extrait, et on assemble des chaînes de production d'une complexité vertigineuse. À plusieurs sur un serveur persistant, la mégastructure devient une œuvre collective. 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é)
  • Minimum 12 Go de RAM recommandé (le conteneur est limité à 12 Go)
  • Docker et Docker Compose installés — voir Installation Docker

2. Installation du Serveur Satisfactory

2.1 Créer le répertoire du projet

mkdir -p /opt/docker-compose/satisfactory
cd /opt/docker-compose/satisfactory

2.2 Créer le fichier docker-compose.yml

services:
  satisfactory-server:
    image: wolveix/satisfactory-server:latest
    container_name: satisfactory
    hostname: satisfactory
    network_mode: host
    restart: unless-stopped
    stop_grace_period: 30s
    ports:
      - "7777:7777/udp"    # Gameplay
      - "7777:7777/tcp"    # Gameplay
      - "15777:15777/udp"  # Steam Query
      - "15000:15000/udp"  # Beacon
    environment:
      - PUID=1000            # UID de l'utilisateur propriétaire des fichiers
      - PGID=1000            # GID du groupe propriétaire des fichiers
      - TZ=Europe/Paris      # Fuseau horaire du serveur
      - MAXPLAYERS=4         # Nombre maximum de joueurs simultanés
      - AUTOPAUSE=true       # Pause le serveur si aucun joueur connecté (économise les ressources)
      - AUTOSAVEINTERVAL=300 # Intervalle de sauvegarde automatique en secondes (300 = 5 min)
      - AUTOSAVENUM=5        # Nombre de sauvegardes automatiques conservées
      - SKIPUPDATE=false     # false = vérifie et applique les mises à jour au démarrage
      - STEAMBETA=false      # false = branche stable ; true = branche Experimental
    volumes:
      - ./config:/config     # Données du serveur (saves, configs, fichiers jeu)
    deploy:
      resources:
        limits:
          memory: 12G        # Limite mémoire maximale du conteneur
        reservations:
          memory: 6G         # Mémoire minimale garantie au démarrage

📌 Note :

  • network_mode: host est utilisé pour contourner les limitations de NAT interne Docker et garantir la compatibilité avec le protocole de découverte Steam.
  • Le répertoire config/ contiendra les sauvegardes, la configuration et les fichiers du jeu.

3. Configuration du Serveur

Principaux paramètres disponibles via les variables d'environnement :

Variable Description Valeur par défaut
MAXPLAYERS Nombre maximum de joueurs simultanés 4
AUTOPAUSE Pause le serveur si aucun joueur n'est connecté true
AUTOSAVEINTERVAL Intervalle de sauvegarde automatique (en secondes) 300 (5 min)
AUTOSAVENUM Nombre de sauvegardes automatiques conservées 5
SKIPUPDATE Ignore la vérification des mises à jour au démarrage false
STEAMBETA Utilise la branche Experimental (true) ou Stable (false) false
PUID / PGID UID/GID de l'utilisateur propriétaire des fichiers 1000
TZ Fuseau horaire du serveur Europe/Paris

4. Lancer et Gérer le Serveur

4.1 Démarrage

cd /opt/docker-compose/satisfactory
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 satisfactory /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 Satisfactory, puis accédez à "Jouer" → "Serveur dédié" et saisissez :

<IP_PUBLIQUE>:7777

6.2 Ports nécessaires

Assurez-vous que les ports suivants sont ouverts dans votre pare-feu et redirigés via votre NAT :

  • 7777 TCP/UDP — Connexion gameplay principale
  • 15777 UDP — Steam Query (découverte du serveur)
  • 15000 UDP — Beacon (annonce du serveur)

7. Arborescence des fichiers

/opt/docker-compose/satisfactory/
├── docker-compose.yml           # Fichier Docker principal
└── config/                      # Données du serveur (saves, configs, fichiers jeu)

8. Conseils Pratiques

  • Sauvegardes : synchronisez config/ avec un cloud ou un autre disque (rsync, rclone, etc.)
  • AUTOPAUSE : activez cette option (true) pour économiser des ressources quand personne ne joue.
  • Version Experimental : passez STEAMBETA=true pour tester les nouvelles fonctionnalités avant leur sortie officielle.
  • Performances : Satisfactory est gourmand en RAM — prévoyez au minimum 6 Go réservés, 12 Go en limite.
  • Mises à jour : laissez SKIPUPDATE=false pour bénéficier automatiquement des dernières versions du jeu.

9. Sécurité

  • Protégez l'accès au serveur via le système d'authentification intégré au jeu (mot de passe défini lors de la première connexion).
  • N'exposez que les ports strictement nécessaires avec un pare-feu (ufw, iptables).
  • Sauvegardez régulièrement le dossier config/ pour éviter toute perte de progression.

Conclusion

Grâce à Docker, l'installation et la gestion d'un serveur Satisfactory sont simples et efficaces. Vous pouvez maintenant bâtir vos usines automatisées avec vos amis, sans vous soucier de la maintenance ! 🏭⚙️