diff --git a/deploy/files/usr/local/lib/systemd/system/left4me-server@.service b/deploy/files/usr/local/lib/systemd/system/left4me-server@.service index db291b3..e9d226b 100644 --- a/deploy/files/usr/local/lib/systemd/system/left4me-server@.service +++ b/deploy/files/usr/local/lib/systemd/system/left4me-server@.service @@ -2,6 +2,11 @@ Description=left4me server instance %i After=network-online.target Wants=network-online.target +# Bound the restart loop. Without these, a persistent ExecStartPre or +# ExecStart failure spins indefinitely. Note: these are [Unit]-section +# directives (systemd 230+), not [Service]. +StartLimitBurst=5 +StartLimitIntervalSec=60s [Service] Type=simple @@ -29,11 +34,6 @@ ExecStartPre=+/usr/local/libexec/left4me/left4me-overlay mount %i ExecStart=/var/lib/left4me/installation/srcds_run -game left4dead2 +hostport ${L4D2_PORT} $L4D2_ARGS Restart=on-failure RestartSec=5 -# Bound the restart loop. Without these, a persistent ExecStartPre or -# ExecStart failure spins indefinitely (default systemd has no cap when -# Restart= is explicitly set without StartLimit*). -StartLimitBurst=5 -StartLimitIntervalSec=60s # Resource control baseline — see docs/superpowers/specs/2026-05-09-l4d2-server-host-perf-baseline-design.md Slice=l4d2-game.slice