Files
esefandClaude Opus 5.5 bc5bd09c15 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]>
2026-10-08 01:39:43 +03:00

33 lines
1.2 KiB
Python

# hide the client's warmup text ("The match will begin when more players join",
# "Press F3 to ready yourself") while the server stays in permanent warmup (PRE_GAME).
# The client draws that text only while configstring CS_WARMUP (5) carries a nonzero
# "time" (warmup sets \time\-1), so we send clients an empty CS_WARMUP instead.
import minqlx
CS_WARMUP = 5
class nowarmuptext(minqlx.Plugin):
def __init__(self):
super().__init__()
self.add_hook("set_configstring", self.handle_set_configstring, priority=minqlx.PRI_HIGHEST)
self.add_hook("map", self.handle_map)
# The first map was set up before this plugin loaded: clear the value it stored.
minqlx.set_configstring(CS_WARMUP, "")
self.log_warmup("loaded")
def handle_set_configstring(self, index, value):
if index == CS_WARMUP and value:
return ""
def handle_map(self, mapname, factory):
self.log_warmup_later()
@minqlx.delay(2)
def log_warmup_later(self):
self.log_warmup("map loaded")
def log_warmup(self, when):
self.logger.info("nowarmuptext %s: CS_WARMUP=%r g_gameState=%s", when,
minqlx.get_configstring(CS_WARMUP), minqlx.get_cvar("g_gameState"))