ql-lg-server: Quake Live LG vampiric practice server in Docker

One-command setup (SteamCMD + minqlx build), .env settings with a
listed/unlisted switch, three factories (lgvamp, lgvamp_nolag, lgvamp100),
warmup-text and welcome minqlx plugins, watchdog/backup/daily-restart,
docs for admins and players.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
esefandClaude Opus 5.5 committed 2026-10-08 01:39:43 +03:00
commit bc5bd09c15
25 files changed
+1009

No files matched your search

+37
View File
@@ -0,0 +1,37 @@
# Quake Live LG vampiric server. Settings: .env (see .env.example). Setup: ./setup.sh
# Game: UDP ${QL_PORT} on all interfaces. RCON: ZMQ TCP 127.0.0.1:${QL_RCON_PORT} only.
# Started through minqlx (run_server_x64_minqlx.sh) for the plugins in home/minqlx-plugins.
services:
ql:
build: .
image: ql-lg-server:local
container_name: ${QL_NAME:-ql-lg}
user: "${QL_UID:-1000}:${QL_GID:-1000}"
network_mode: host
restart: unless-stopped
init: true # tini as PID 1: if the server dies the container exits and Docker restarts it
ulimits:
core: 0
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
stdin_open: true
tty: true
env_file: .env
environment:
- HOME=/home/steam
- TINI_KILL_PROCESS_GROUP=1 # stop/restart signals reach qzeroded through the sh pipe below
volumes:
- ./server:/ql/server
- ./home:/ql/home
- ./secrets:/ql/secrets:ro
- ./tools:/ql/tools:ro
- ./steamcmd-home:/home/steam
# 1. mkcfg.sh turns .env into home/baseq3/local.cfg (+ secrets.cfg, mappool_lg.txt).
# 2. The minqlx start script turns zmq stats on (TCP, all interfaces): +set zmq_stats_enable 0 turns it off.
# 3. qzeroded's CZMQ auth logger prints the RCON password in plain text on every rcon login
# ("zauth: ... password=..."): grep drops those lines before they reach docker logs.
# If qzeroded dies, grep sees EOF, the container exits and Docker restarts it.
command: ["/bin/sh", "-c", "/ql/tools/mkcfg.sh && /ql/server/run_server_x64_minqlx.sh +set zmq_stats_enable 0 +set fs_homepath /ql/home +set net_port $$QL_PORT +exec server.cfg 2>&1 | grep --line-buffered -v 'zauth:'"]