WIZWAR_KEEPER_TZ names the zone (Eastern by default); the room carries it and the client words the hour by the minute. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG
36 lines
1.0 KiB
Desktop File
36 lines
1.0 KiB
Desktop File
[Unit]
|
|
Description=Wiz-War game server
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=wizwar
|
|
WorkingDirectory=/opt/wizwar/packages/server
|
|
Environment=PORT=8787
|
|
# Caddy terminates TLS; the plaintext port must not face the internet.
|
|
Environment=HOST=127.0.0.1
|
|
Environment=WIZWAR_DATA_DIR=/var/lib/wizwar/rooms
|
|
Environment=WIZWAR_STATIC_DIR=/opt/wizwar/packages/web/dist
|
|
Environment=WIZWAR_KEEPER_TZ=America/New_York
|
|
Environment=SENTRY_DSN=https://a47ea012dff08b52dd230a95ccbe7414@o4509525984149504.ingest.us.sentry.io/4512011462049793
|
|
ExecStart=/opt/wizwar/node_modules/.bin/tsx src/index.ts
|
|
Restart=always
|
|
RestartSec=3
|
|
|
|
# Sandbox: the process reads /opt/wizwar and writes only its data dir.
|
|
NoNewPrivileges=yes
|
|
PrivateTmp=yes
|
|
ProtectSystem=strict
|
|
ProtectHome=yes
|
|
ReadWritePaths=/var/lib/wizwar
|
|
ProtectKernelTunables=yes
|
|
ProtectKernelModules=yes
|
|
ProtectControlGroups=yes
|
|
RestrictSUIDSGID=yes
|
|
# A runaway process gets killed and restarted before it can take the box down.
|
|
MemoryMax=700M
|
|
LimitNOFILE=4096
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|