Funk-lab/ansible/roles/satisfactory_server
alkatrazz bd169e5e1a feat(ansible): serveur dédié Satisfactory sur gpu-01
- Nouveau rôle satisfactory_server : install steamcmd (login anonyme,
  app 1690800), service systemd avec update auto en ExecStartPre,
  MemoryMax=16G + Nice=5 (protège le llama-server), firewalld 7777 tcp+udp
- Retries steamcmd (« Missing configuration » rc=8 au premier run)
- Fcontext SELinux bin_t sur steamcmd/ et server/ (203/EXEC sinon)
- gateway : DNAT 192.168.1.200:7777 → gpu-01:7777 (TCP+UDP) + forward
- Doc admin/ops/satisfactory.md (accès, exploitation, pièges rencontrés)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 23:29:47 +02:00
..
defaults feat(ansible): serveur dédié Satisfactory sur gpu-01 2026-07-02 23:29:47 +02:00
handlers feat(ansible): serveur dédié Satisfactory sur gpu-01 2026-07-02 23:29:47 +02:00
tasks feat(ansible): serveur dédié Satisfactory sur gpu-01 2026-07-02 23:29:47 +02:00
templates feat(ansible): serveur dédié Satisfactory sur gpu-01 2026-07-02 23:29:47 +02:00
README.md feat(ansible): serveur dédié Satisfactory sur gpu-01 2026-07-02 23:29:47 +02:00

satisfactory_server

Serveur dédié Satisfactory sur gpu-01 — installé via steamcmd (login anonyme, app Steam 1690800), lancé par systemd (satisfactory-server.service).

Variables (defaults)

Variable Défaut Rôle
satisfactory_user satisfactory Utilisateur système du service
satisfactory_home /srv/satisfactory Home + racine d'install
satisfactory_install_dir /srv/satisfactory/server Fichiers du jeu (~10 Go)
satisfactory_port 7777 Port unique jeu + API HTTPS (TCP+UDP depuis la 1.0)
satisfactory_update_on_start true steamcmd +app_update en ExecStartPre à chaque (re)start
satisfactory_memory_max 16G MemoryMax systemd — protège llama-server (32 Go partagés)
satisfactory_nice 5 Priorité CPU réduite vs llama-server

Caveats

  • Premier run long : le task d'installation télécharge ~10 Go depuis Steam (guardé par creates: — ne rejoue jamais). Prévoir 10-30 min selon le débit.
  • Mises à jour du jeu : gérées par l'ExecStartPre du service (à chaque restart), pas par Ansible. systemctl restart satisfactory-server = update + relance.
  • Sauvegardes : ~satisfactory/.config/Epic/FactoryGame/Saved/SaveGames/server/non sauvegardées ailleurs (pas de backup automatisé, gap connu).
  • Config serveur (nom, mot de passe admin) : se fait en jeu à la première connexion (menu Server Manager), pas par fichier.
  • RAM : usine late-game > 12 Go possible. MemoryMax=16G fait tuer le jeu par l'OOM-killer plutôt que d'affamer le slot LLM (:1234) — augmenter si besoin via host_vars.
  • Réseau : ton PC (192.168.1.x) joint gpu-01:7777 via storage-01 — la chaîne forward du rôle gateway autorise déjà tout le trafic LAN domestique → LAN cluster. Dans le jeu : ajouter le serveur avec l'adresse 192.168.10.20:7777.
  • Les ports firewalld 7778/udp et 27015/udp présents sur gpu-01 sont des restes des anciens ports « Experimental » (avant la 1.0) — inutiles désormais.