[Unit] Description=w3cs command-stream seat %i (relay + warm game) After=network-online.target w3cs-pulse.service Wants=network-online.target w3cs-pulse.service [Service] User=ubuntu WorkingDirectory=/home/ubuntu/w3cs-lab Environment=W3CS_LAB_ROOT=/home/ubuntu/w3cs-lab Environment=W3CS_PERSISTENT_SESSION=1 Environment=W3CS_WARM_REPLAY=default Environment=W3CS_WARM_PROFILE=native-1285 Environment=W3CS_NATIVE_RELAY=1 # On-demand catalog replays: a sha1 replay id not staged locally is # materialized from the R2 mirror through the public CDN (replay + exact # map, sha1-verified, content-addressed caches under replays/.content). # The index is refreshed by w3cs-catalog-index.timer. Environment=W3CS_CATALOG_INDEX=/home/ubuntu/w3cs-lab/catalog-serving.json Environment=W3CS_CATALOG_BASE_URL=https://cdn.war3replays.com Environment=W3_D3D9_NO_RASTER=1 Environment=W3_D3D9_SOURCE_WIDTH=1024 Environment=W3_D3D9_SOURCE_HEIGHT=768 Environment=W3_D3D9_CAPTURE_FPS=40 # Render cap = capture cap: every present is captured (no 2-of-3 sampling # beat at 60), and the engine skips render work no viewer ever sees. The # relay derives its input-settle timing from this value (engine_poll_ms), # so change both sides together by changing only this line. Measured: the # CPU saving is ~5% at 8x replay speed (simulation dominates); it grows at # lower speeds where the render share is larger. Environment=W3_D3D9_MAX_FPS=40 ExecStart=/usr/local/sbin/w3cs-seat-launch.sh %i Restart=always RestartSec=3 TimeoutStopSec=20 KillMode=mixed [Install] WantedBy=multi-user.target