Funk-lab/ansible/roles/satisfactory_server/templates/satisfactory-server.service.j2
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

23 lines
883 B
Django/Jinja

[Unit]
Description=Satisfactory dedicated server (steamcmd, app {{ satisfactory_app_id }})
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User={{ satisfactory_user }}
WorkingDirectory={{ satisfactory_install_dir }}
{% if satisfactory_update_on_start %}
# Mise à jour du jeu avant chaque démarrage (login anonyme) — ajoute ~1 min au boot.
# Désactivable via satisfactory_update_on_start: false (host_vars).
ExecStartPre={{ satisfactory_steamcmd_dir }}/steamcmd.sh +force_install_dir {{ satisfactory_install_dir }} +login anonymous +app_update {{ satisfactory_app_id }} +quit
{% endif %}
ExecStart={{ satisfactory_install_dir }}/FactoryServer.sh -Port={{ satisfactory_port }} -unattended
Restart=on-failure
RestartSec=15
Nice={{ satisfactory_nice }}
MemoryMax={{ satisfactory_memory_max }}
TimeoutStartSec=600
[Install]
WantedBy=multi-user.target