modified: README.md new file: install.sh renamed: config.py -> lib/constants.py renamed: cvars.py -> lib/cvars.py renamed: formatter.py -> lib/formatter.py renamed: network.py -> lib/network.py renamed: parser.py -> lib/parser.py renamed: qlpycon_config.py -> lib/settings.py renamed: state.py -> lib/state.py renamed: ui.py -> lib/ui.py modified: main.py modified: qlpycon.bash new file: qlpycon.conf.example
2.2 KiB
2.2 KiB
qlpycon - Quake Live Python Console
Terminal client for monitoring and controlling Quake Live servers via ZMQ RCON.
Installation
curl -sSL https://6bit.ch/qlpycon/install.sh | bash
Or from a cloned repo:
git clone https://git.6bit.ch/xbl/qlpycon.git
cd qlpycon
./install.sh
The installer sets up a virtualenv, installs dependencies, and writes a launcher to ~/.local/bin/qlpycon.
Configuration
Edit qlpycon.conf in your install directory. See qlpycon.conf.example for all options.
[connection]
password = ${QLPYCON_PASSWORD}
[servers]
ffa = 10.13.12.93:28960
duel = 10.13.12.93:28961
Usage
qlpycon ffa # connect by name
qlpycon --host tcp://10.13.12.93:28960 --password secret # connect directly
qlpycon --list # list configured servers
Options:
--host URI— ZMQ RCON endpoint--password PASS— RCON password (or setQLPYCON_PASSWORDenv var)--list— list configured servers and exit-v/-vv— verbose (INFO) or debug (DEBUG) logging--json FILE— log all JSON events to file--unknown-log FILE— log unparsed events (default: unknown_events.log)
Features
- Real-time kill/death/medal/team switch events
- Team-aware colorized output with Quake color code support
- Powerup pickup and carrier kill notifications
- Server info panel (map, gametype, scores, players)
- Tab autocomplete for cvars and commands with fuzzy matching
- Argument suggestions for 25+ commands (bot names, maps, gametypes)
- Command history (↑/↓)
See AUTOCOMPLETE.md for input details.
Architecture
main.py — entry point, arg parsing, signal handling
qlpycon.conf — user configuration
lib/
constants.py — weapons, teams, colors, limits
settings.py — config file loader
state.py — game state (server info, players, teams)
network.py — ZMQ connections (RCON DEALER, stats SUB)
parser.py — JSON event parsing
formatter.py — message formatting and colorization
ui.py — curses interface (info / output / input panels)
cvars.py — cvar/command database and autocomplete
License
WTFPL