What is Q2Admin?
Q2Admin is a server-side admin and anti-cheat layer for Quake II. It sits between the server and whatever mod you run, such as deathmatch, CTF, OpenTDM, Action, Rocket Arena 2 or Jump, and adds cheat detection, bans, flood control, voting, logging and more. The mod itself is never changed.
A Quake II server runs its gameplay from a game library like gamex86_64.so. Q2Admin is a game library too. The server loads Q2Admin, and Q2Admin loads the real mod and passes every call through:
Quake II server ---> Q2Admin ---> real mod (q2pro, r1q2, checks, (gamex86_64.real.so) yquake2, ...) bans, logs
So every connection, command, chat line, movement packet and map entity goes past Q2Admin first.
Features
| Feature | What it does |
|---|---|
| Proxy checks | Sends randomized probes that zbot, ratbot and hacked clients answer wrong. |
| Aim analysis | Spots bot jitter, silent-aim snaps and inhumanly steady tracking. |
| Speed hacks | Flags players who use more game time than the clock allows. |
| Signal scores | Adds up suspicious events so you act on patterns, not single hits. |
| VPN detection | Flags VPN and hosting addresses so kicked players can't just come back. |
| Bans | By name, IP or range, timed or permanent, with lists shared between servers. |
| Flood control | Limits chat, name changes, skin changes and connection floods. |
| Mute and chat filters | Silence or filter players without kicking them. |
| Client settings | Requires allowed values for client cvars and blocks mod commands. |
| Voting | Players vote on commands you allow, even in mods with no voting. |
| Limited rcon | Moderators get only the commands you choose. |
| Logs | Connections, chat, kicks, bans and detections in separate files. |
| Modern engines | IPv6, variable frame rates and Q2Pro demo recording. |
Every option and command is in the README.
Install
- Build Q2Admin for your platform. The server, Q2Admin and the mod must all be 32-bit or all 64-bit.
- Rename your mod, for example to
gamex86_64.real.so, or setgamelibraryinq2admin.cfg. - Put Q2Admin in the mod folder under the name the server loads, such as
opentdm/gamex86_64.so. - Copy the example configs from runtime-config and edit
q2admin.cfg. - Start the server. Q2Admin prints its version as it loads.
Building on Linux:
git clone https://github.com/packetflinger/q2admin cd q2admin make
On x86_64 and arm64 every library is bundled, so a compiler is all you need. Windows builds use MinGW and macOS builds use Homebrew. See Compiling.
Running admin commands from the console or rcon:
sv !kick CL 3 rcon mypassword sv !mute claire 60
History
- Late 1990s
- Shane Powell (KillerBee) wrote Q2Admin as a drop-in proxy mod to fight the zbot and ratbot aim proxies spreading through Quake II servers.
- 2000s
- Richard Stanway (R1CH), author of the R1Q2 engine, fixed bugs. Mars contributed source changes, and fixes from q2mods.org were folded in.
- 2007 - 2008
- MDVz0r and Jasper of z0r.nl ran q2admin.net and released versions 1.17.45 to 1.17.52, adding shared remote ban lists, global exception lists for R1CH's anticheat, nick registration and ready-to-run server installers for Action Quake 2 and OSP Tourney. Support happened in #q2admin on QuakeNet.
- Today
- PacketFlinger maintains Q2Admin on GitHub, adding 64-bit and arm64 builds, aim analysis, VPN detection, signal scoring, IPv6 and Cloud Admin for running many servers at once (in development).
Credits
| Who | For |
|---|---|
| KillerBee (Shane Powell) | The original creator of the Q2Admin project. |
| R1CH (Richard Stanway) | Fixing bugs. |
| Mars | Work on the Q2Admin source. |
| MDVz0r and Jasper | q2admin.net and new features. |
| Hifi | Support and debugging. |
| PacketFlinger | Current maintainer. |
| Contributors | Everyone who has sent code on GitHub. |