Admin tools and anti-cheat for Quake II servers. Any mod, no mod changes.

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

FeatureWhat it does
Proxy checksSends randomized probes that zbot, ratbot and hacked clients answer wrong.
Aim analysisSpots bot jitter, silent-aim snaps and inhumanly steady tracking.
Speed hacksFlags players who use more game time than the clock allows.
Signal scoresAdds up suspicious events so you act on patterns, not single hits.
VPN detectionFlags VPN and hosting addresses so kicked players can't just come back.
BansBy name, IP or range, timed or permanent, with lists shared between servers.
Flood controlLimits chat, name changes, skin changes and connection floods.
Mute and chat filtersSilence or filter players without kicking them.
Client settingsRequires allowed values for client cvars and blocks mod commands.
VotingPlayers vote on commands you allow, even in mods with no voting.
Limited rconModerators get only the commands you choose.
LogsConnections, chat, kicks, bans and detections in separate files.
Modern enginesIPv6, variable frame rates and Q2Pro demo recording.

Every option and command is in the README.

Install

  1. Build Q2Admin for your platform. The server, Q2Admin and the mod must all be 32-bit or all 64-bit.
  2. Rename your mod, for example to gamex86_64.real.so, or set gamelibrary in q2admin.cfg.
  3. Put Q2Admin in the mod folder under the name the server loads, such as opentdm/gamex86_64.so.
  4. Copy the example configs from runtime-config and edit q2admin.cfg.
  5. 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

WhoFor
KillerBee (Shane Powell)The original creator of the Q2Admin project.
R1CH (Richard Stanway)Fixing bugs.
MarsWork on the Q2Admin source.
MDVz0r and Jasperq2admin.net and new features.
HifiSupport and debugging.
PacketFlingerCurrent maintainer.
ContributorsEveryone who has sent code on GitHub.