The definitive Quake multiplayer competition mod. Eight game modes, deep match management, live stat tracking, and modern integrations — open source and built on a legacy that started in 1999.
Grab the mod, the recommended engine, and the common map-pack downloads used by public CRMod7 servers.
Download the current mod archive directly from the main branch.
Recommended engine download page with current QSS-M builds and install notes.
Classic Threewave CTF pack mirror for the common server-side and client-side CTF assets.
Client-side Headhunters pack with models and sounds for the Head Hunters game mode.
Rocket Arena pack archive for the RA map rotation and supporting arena content.
From classic deathmatch to modern arena variants, every competitive format you need.
Classic free-for-all combat. Configurable fraglimits, timelimits, and powerup control. Supports all standard deathmatch modes with modern match management.
Full-featured CTF with grappling hook support, capture time records, team scoring, and integration with Google Sheets for persistent leaderboards.
Kill for heads, bank them at the altar, and swing the round with progressive scoring and HH teamplay rules. Includes hook support and original-style public or team variants.
Queue-based 1v1 elimination. Players wait in line, winner stays on. Pure aim, pure skill.
Round-based team elimination. No self-damage, no pickups — just teamwork and aim. Up to 9-round matches with MVP tracking.
A modified Clan Arena format with progressive respawn delays that ramp from 5 to 80 seconds. Wipe the enemy team completely to win. Strategic, punishing, intense.
Arena deathmatch with timed scoring. The classic 1v1 format for structured competitive duels.
Dedicated airshot scoring. Height-based damage multipliers reward vertical plays. Gib streak tracking and records for the ultimate aim challenge.
The match layer, the spectator layer, and the stat layer are all treated as first-class product features. This is where CRMod7 stops feeling like a simple mod and starts feeling like infrastructure.
Majority-based voting for maps, modes, settings, powerups, fraglimits, and more. Players control the server democratically.
Full match lifecycle: countdown, pause/unpause, overtime, sudden death, ghost save/restore, and auto-abort on inactivity.
Disconnect protection with ghost codes and restore flow, so players can rejoin an active match without losing their game state or collapsing the roster.
Live admin authentication, lockdowns, kick/ban controls, spawn and camera editing, and in-game server operations for running organized matches cleanly.
Walk or fly spectating with player targeting, camera positions, QuakeTV commentary support, and AFK detection.
Per-weapon damage tracking, quad stats, teamkills, suicides, gib tracking, top-5 records — weapon-level detail for every match.
Real-time teammate info at 2048 units: current weapon, armor type/value, rune, ammo, and available weapons at a glance.
Classic Zoid-style grappling hook, voteable per-mode. Pull mechanics with teleport safety and dynamic unhooking.
Four runes — Resistance, Strength, Haste, Regeneration — with spawn control, tossing, and persistent settings.
Vote on Quad, Pent, Ring, and Suit per-match. Drop tracking, ownership logging, and consecutive pickup commentary.
Vote to swap between standard and alternative entity sets per map. Custom spawn points, item layouts, and weapon placements — separate sets for CTF and DM modes. Automatically resets on mode switch.
After the rules are loaded, CRMod7 keeps the entire event moving: countdowns, spectators, reconnects, overtime, music, records, and post-game flow.
End-of-match stats dump straight from the console. Weapon efficiency, damage, items, CTF stats, quad tracking, and player efficiency ratings.
match statistics map: ctf3m2 09-07-2025 20:14 CRMod 7 - denver.quakeone.com efficiency team |kill |weapn| name ---------+-----+-----+------------------ red | 34 | 26 | omicron red | 19 | 25 | baker red | 17 | 23 | deepfriednewbie | | | blue | 4 | 14 | .. blue | 24 | 28 | frenzy blue | 35 | 29 | woods
weapon efficiency bul|nls|rox| lg|total|fpm | name ---+---+---+---+-----+----+------------------ 29| 16| 36| 23| 26 | 1.7| omicron 19| 0| 34| 18| 25 | 0.9| baker 21| 21| 27| 20| 23 | 0.8| deepfriednewbie | | | | | | 0| 0| 26| 11| 14 | 0.2| .. 29| 20| 33| 20| 28 | 1.2| frenzy 25| 11| 38| 22| 29 | 1.7| woods
kill statistics frags|opp|avng|slf|tm |kld| dc| dtk | dgv | ewp | name -----+---+----+---+---+---+---+-------+-------+-------+------------------ 106| 34| 0| 0| 0| 20| 0| 7868 |10873 | 7817 | omicron 105| 19| 0| 4| 0| 19| 0| 6813 | 5424 | 3098 | baker 87| 17| 0| 1| 0| 24| 0| 5430 | 6047 | 4103 | deepfriednewbie | | | | | | | | | | 114| 4| 0| 3| 0| 31| 0| 6555 | 1585 | 1135 | .. 169| 24| 0| 4| 0| 26| 0| 8371 | 9085 | 7029 | frenzy 221| 35| 0| 4| 0| 13| 0| 7418 | 9441 | 6177 | woods
quad damage quads| time|eff|opp|slf|tm | name -----+-----+---+---+---+---+------------------ 7| 210| 16| 12| 0| 0| omicron 2| 30| 29| 2| 0| 0| baker 1| 30| 8| 1| 0| 0| deepfriednewbie | | | | | | red 10 quads | | | | | | 1| 0| 0| 1| 1| 0| .. 3| 60| 26| 5| 0| 0| frenzy 6| 90| 17| 11| 1| 0| woods | | | | | | blue 10 quads
capture the flag flag | time |cap| best |def|rtn|fcd|fca|fck| name -----+--------+---+--------+---+---+---+---+---+------------------ 8| 8:31 | 0| --- | 1| 6| 4| 2| 3| omicron 10| 3:42 | 4| 0:10 | 0| 7| 2| 3| 7| baker 7| 2:50 | 1| 0:13 | 0| 2| 3| 2| 3| deepfriednewbie | | | | | | | | | 4| 1:03 | 0| --- | 0| 1| 0| 0| 1| .. 10| 4:33 | 3| 0:15 | 1| 4| 1| 4| 6| frenzy 15| 10:23 | 8| 0:09 | 0| 11| 0| 6| 11| woods ctf3m2 match capture-time record: 0:09 by woods ctf3m2 trial capture-time record: 0:08 by unspoken
items taken hlth|mega|suit| GA| YA| RA|bkpk| name ----+----+----+---+---+---+----+------------------ 88| 3| 0| 4| 12| 20| 41| omicron 59| 0| 0| 5| 16| 14| 26| baker 55| 4| 0| 5| 17| 6| 22| deepfriednewbie | | | | | | | 20| 1| 0| 3| 15| 1| 5| .. 58| 12| 0| 2| 8| 14| 27| frenzy 60| 14| 0| 3| 20| 25| 26| woods weapons taken ammo taken ssg| ng|sng| gl| rl| lg|shl|nls|rox|cls| name ---+---+---+---+---+---+---+---+---+---+------------------ 15| 7| 3| 13| 5| 10| 78| 19| 33| 39| omicron 6| 10| 2| 8| 10| 18| 28| 9| 24| 41| baker 8| 11| 5| 8| 15| 9| 35| 12| 48| 15| deepfriednewbie | | | | | | | | | | 1| 10| 5| 10| 11| 6| 16| 10| 27| 13| .. 5| 9| 9| 3| 15| 8| 10| 20| 68| 12| frenzy 12| 14| 2| 16| 8| 14| 44| 10| 28| 28| woods
player efficiency rating (PER) PER | name --------+------------------ 7.8 | omicron 7.1 | woods 3.3 | frenzy 2.8 | baker 1.5 | deepfriednewbie -1.1 | .. woods: 8 captures, 38% rockets, 25 RA team scores Red team won: 5 lost: 11 Blue team won: 11 lost: 5
Once you know the mode stack and the match tooling, the next step is simple: pick a server, grab a record page, and get into the rotation.
CRMod7 keeps the gameplay old-school and lets the surrounding tooling be modern: webhooks, JSON, Sheets, CSQC HUDs, and wide client compatibility.
Async HTTP-based capture time records pushed directly to Google Sheets. Persistent leaderboards, queryable history, zero external tooling required.
Streaming JSON builder with pretty-printing. Match data, last scores, and stats exported to machine-readable format for external tools and dashboards.
HTTP POST callbacks for match statistics. Post-game results pushed to Discord channels automatically — scores, stats, and records.
Client-side QuakeC for custom HUD rendering (vanilla, QW, N64 styles), dynamic scoreboards with team colors, and match timer display. Requires QSS-M for full CSQC support.
CRMod7 is built for maximum feature support with QSS-M — the recommended NetQuake client, with CSQC, HTTP downloads, and modern protocol extensions. Legacy clients are fully supported too: Qrack, ProQuake, and any standard NetQuake client can connect and play with full gameplay functionality. Advanced features like custom HUDs and scoreboards gracefully degrade for older clients.
This is essential once you're playing, but it's still reference material. Keeping it collapsed makes the top-level page easier to scan while leaving the full in-game command surface one click away.
cmd dm [mode] [map]
Switch to Deathmatch
cmd ffa [map]
Shortcut for public free-for-all Deathmatch
cmd ctf [mode] [map]
Switch to Capture the Flag
cmd ca [map]
Switch to Clan Arena
cmd ra [map]
Switch to Rocket Arena
cmd dmm4 [map]
Switch to Duel (1v1 DMM4)
cmd airshot [map]
Switch to Airshot Arena
cmd wipeout [map]
Switch to Wipeout
cmd ctfdmm4 [map]
Switch to CTF Duel
cmd hh [ffa|normal|team] [map]
Switch to Head Hunters in free-for-all or team mode
cmd normal [map]
Change to normal (public/pickup) play mode
cmd practice [map]
Change to practice play mode
cmd match [map]
Change to competitive match play mode
warp
Open the map selection menu
<mapname>
Warp directly to any map in the map list (e.g. dm6, ctf1)
yes
Vote yes on the current vote
no
Vote no on the current vote
sethook
Vote to toggle grappling hook
setrunes
Vote to toggle runes
setquad
Vote to toggle Quad Damage
setpent
Vote to toggle Pentagram of Protection
setring
Vote to toggle Ring of Invisibility
nogibs
Vote for no gibs
lowgibs
Vote for low gib level
highgibs
Vote for high gib level
weaponstay
Vote to toggle weapon stay
powerupdrop
Vote to enable/disable powerup dropping alias: pudrop
cmd timeset [min]
Vote to set the timelimit (opens menu if no value given)
cmd fraglimit [val]
Show rules, or vote to set the fraglimit
otset
Vote for overtime settings
altents
Vote to toggle alternative entity set
prediction
Vote to toggle movement prediction
faststart
Vote to toggle fast match starts
autopause
Vote to toggle auto-pause on disconnect
obits
Vote to toggle extended obituaries
abortmatch
Vote to abort the current match
nextmap
Vote to advance to the next level in levels.cfg (non-match public modes only)
stats
Show full match stats dump
efficiency
Show weapon efficiency summary alias: eff
killstats
Show kills, deaths, and damage breakdown
quadstats
Show Quad Damage pickup and kill stats
pentstats
Show Pentagram stats
badstats
Show self-kills, teamkills, lava/fall deaths
flagstats
Show CTF flag captures, returns, defenses
teamstats
Show team win/loss totals
wtstats
Show weapons-taken statistics
itstats
Show items-taken statistics
dstats
Show defense statistics
ticrate
Show the current server tickrate / sys_ticrate value
autostats
Toggle automatic stats dump at end of match
cmd captimes [map]
Show capture time records (defaults to current map)
cmd highscores [map]
Show high scores / arena records
lastscores
Show scores from the previous match
last
Show last player disconnects
score
Show current match score
rules
Show current server rules aliases: teamplay, deathmatch, timelimit, fraglimit, noexit
levels
Show map rotation list
commands
Show available commands in-game
vinfo
Show server version / mod information
cmd flagstatus [on|off|toggle]
Report or toggle the CTF flag-status HUD display
motd
Show the message of the day
ready
Mark yourself as ready for match start
notready
Unmark yourself as ready
ready?
Check who is and isn't ready
timerstop
Pause the match timer
timerstart
Resume the match timer
force
In arena modes, vote or admin-force the waiting match to start
lock
Lock your team (prevent joins)
unlock
Unlock your team
ghost
Reconnect using your ghost code
ghostcode
Display your current ghost code
ghostlist
Show ghost reconnect codes currently visible to you
red
Join red team and ready up
blue
Join blue team and ready up
leavemealone
Toggle intangibility during pre-match warmup
qwsucks
Toggle QuakeTag (QWSucks) mode alias: quaketag
q14ever
Toggle QuakeTag (Q14Ever) overlay variant
afkon
Mark yourself as AFK alias: afk
afkoff
Remove AFK status
hook
Fire the grappling hook also: +hook / -hook
dropweapon
Drop your current weapon (CTF only)
dropammo
Drop ammo for your current weapon (CTF only)
droprune
Drop your held rune
rpickup
Vote/admin reshuffle committed teams before a team-mode match starts
autoweapon
Toggle automatic weapon switching alias: aw
pos_save
Save your current position (prewar only)
pos_move
Teleport to your saved position (prewar only)
pos_show
Display saved position coordinates
cmd pos_origin x y z
Set position origin (* to keep current axis)
cmd pos_angles p y r
Set position angles (* to keep current)
shownick
Show target player's nickname (teamplay)
cmd ignore
Add a player to your ignore list
cmd unignore
Remove a player from your ignore list
observer
Enter observer (spectator) mode
walk
Walk-mode spectating
flyme
Fly-mode spectating
chase
Chase-cam spectating alias: chasecam
cmd eyecam [n]
First-person eye-camera spectating
camera
Cycle through fixed camera positions
autocam
Automatic camera mode aliases: autocamera, quaketv
autochase
Auto-chase mode (follows action)
autopov
Automatic point-of-view mode
rockets
List which players currently hold rocket launchers during a live team match
commentary
Toggle commentary mode for broadcasters
headsup
Toggle heads-up display for observers
tourney
Tournament spectator mode
cmd admin [code]
Authenticate as admin with 4-7 digit passcode
cmd lockdown [sub]
IP-based lockdown: status, list, add, remove, on, off
kick!
Kick a player aliases: skick, crkick
crban
Ban a player
unban
Unban a player
bans
Show current ban list
ips
Show connected player IPs
dmset
Set deathmatch mode
maxteams
Set max teams
safepractice
Toggle safe practice mode
modevote
Toggle mode voting
options
Open server options menu
autoss
Force screenshot capture for anti-cheat checks
nextspawn
Cycle to next spawn point
makespawn
Create spawn point at current position
nextcam
Cycle to next camera position
makecam
Create camera at current position
Built-in help pages are also shipped as commands: help-server, help-observer, help-match, help-stats, help-misc, help-camera, help-chase, help-fly, help-walk; admins additionally get help-admin. The in-game category views modes, gameplay, watch, stat, misc, modhelp, and shortcuts are aliases too.
Compatibility quirks in the current codebase: pudrop maps to powerupdrop, quaketag maps to qwsucks, lastplayers is still stuffed to clients but currently resolves to the same disconnect-log output as last, and itemstats exists as an alias name but does not have its own dedicated handler yet.
Configs, admin controls, launch files, and runtime data all live here. It's operator-facing material, so it's collapsed by default instead of sitting in the middle of the showcase flow.
These are the high-level operational features that sit above the raw config files.
IP-based connection whitelisting with duration timers. Lock the server for scrims, auto-release on match start.
Multi-password admin system with tiered access. Kick, ban, configure — all from within the game.
Create and edit spawn points and camera positions in-game. Entity file export for map customization.
Per-entity custom models for heads, bodies, projectiles, and gibs. Mapper-settable sound effects for full map customization.
Ban management, IP label tracking, IPv4/IPv6 normalization. Keep your server clean.
Configurable AFK timeouts, auto-screenshots, movement validation, and spectator management.
Runtime server configs live in configs/, packaged launch examples live in release/, generated state lands in data/, and the cleanest public deployment path is still a Linux VPS or dedicated host.
Best run on a dedicated Linux server for consistent uptime. CRMod7 can run on QSS-M Server for macOS, Windows, or Linux, and on FTEQW Server for Windows or Linux, but a Linux VPS is usually the cleanest public-hosting path.
For public servers, use a VPS or dedicated box with a static IP, persistent storage, and a background process manager. QSS-M is the easiest deployment target because it listens on a single UDP game port, which keeps NAT and firewall setup simple.
id1/ content, then run it under screen or systemdA practical bootstrap flow is: provision a current Ubuntu LTS VPS, update the base system, install transfer and runtime packages, upload QSS-M, then run the server inside screen. Older notes that started on Ubuntu 16.04 and upgraded through later releases should be treated as legacy; start from a current supported LTS image instead.
sudo apt update
sudo apt upgrade -y
sudo apt install -y vsftpd git curl screen build-essential \
libsdl2-2.0-0 libgl1-mesa-glx libopusfile0 libvorbisfile3 libmad0
sudo timedatectl set-timezone America/Los_Angeles
date
# Upload the server package to /home/quake/qssm, then:
chmod 755 QSS-M-l64
screen -S qssm26001
./QSS-M-l64 -dedicated -port 26001 -protocol 666 -condebug
# detach: Ctrl+A, then D
screen -r qssm26001
After the base server is live, upload the mod payload into id1/: progs.dat, server.cfg, configs/, maps/, sound/, locs/, and any other custom assets you want available for client auto-downloads. In practice, configs/ usually carries both the core files and map-specific overrides, maps/ can include BSPs, per-map .ent files, and alternative-entity folders, and sound/ often carries mode-specific or custom subfolders like match music, weapon audio, player sounds, ambience, and arena assets. Some deployments also keep map packs and content bundles as root-level .pak archives next to the unpacked folders. The mod uses fteextensions.qc, so older ProQuake builds are not a good server target.
/home/quake/qssm/
QSS-M-l64
id1/
pak0.pak
pak1.pak
ctf3maps.pak
ctf4maps.pak
ctfgoldmaps.pak
ctflocmaps.pak
raexpo.pak
ramaps.pak
progs.dat
server.cfg
progs/
configs/
clanring.cfg
warp.cfg
warp_main_menu.cfg
levels.cfg
dm3.cfg
ultrav.cfg
maps/
dm6.bsp
dm6.ent
ctf1war.ent
dm_alt/
ctf_alt/
ctf/
sound/
matchsounds/
int001.wav
weapons/
player/
misc/
plasma/
ra/
doors/
fire/
ambience/
locs/
data/
QSS-M is the recommended public-hosting target because it only needs the single UDP game port forwarded, and it should generally be run in protocol 666 for Qrack compatibility. CRMod7 also depends on fteextensions.qc, which is not supported by older ProQuake versions. Older ProQuake-style server setups can require additional ephemeral UDP ports, which makes them less friendly behind NAT or restrictive firewalls.
The main server configuration file. Controls global settings, admin passwords, mode-specific rules, and external integrations.
Executed every time the server starts a new level. Set admin passwords, powerup defaults, tick rates, and webhook URLs here.
setadmin 1234567 // Main admin passcode (4-7 digits, first non-zero)
setadmin1 9876543 // Additional admin passcode (up to 9)
noexit 1 // Prevent level exit in normal/practice
pausable 0 // Disable console pause (match pause still works)
quadon // Quad Damage on by default
ringoff // Ring of Invisibility off by default
pentoff // Pentagram off by default
runesoff // Runes off by default
autopauseon // Auto-pause match on player disconnect
matchsoundson // Enable end-of-match music
sv_pak0_only 0 // Restrict assets to pak0/shareware-safe content
ctfticrate 0.025 // Server update rate for CTF
tdmticrate 0.025 // Server update rate for TDM
captimesdiscordurl <url> // Discord webhook for cap time records
statsdiscordurl <url> // Discord webhook for match stats
matchposturl <url> // HTTP POST endpoint for match data
googlesheetsurl <url> // Google Sheets script URL for captimes
googlesheetsapikey <key> // Google Sheets API key
cr_allow_leavemealone 1 // Allow leave-me-alone in prewar
cr_allow_qwsucks "1" // Allow QuakeTag QWSucks mode
cr_allow_q14ever "1" // Allow QuakeTag Q14Ever mode
Executed only once when the server first starts. Use for one-time setup.
-init-
modevoteon // Enable mode voting
setafk 5 // Mark inactive players AFK after 5 minutes
kickafk 0 // AFK kick timeout (0 = disabled)
Each mode section executes its commands when the server enters that mode on a new level.
-ffa- // Free For All settings
timelimit 10
fraglimit 40
deathmatch 3 // 3 = weapon stay on
powerupdropon
-pub-ctf- // Public CTF settings
timelimit 10
fraglimit 100
runeson
deathmatch 1 // 1 = weapon stay off
-practice- // Practice mode
safepracticeon
timelimit 0 // 0 = no limit
fraglimit 0
-match-tdm- // Team Deathmatch match settings
teamplay 2 // 2 = team damage on
timelimit 20
setovertime 5
deathmatch 3
-match-ctf- // CTF match settings
timelimit 20
setovertime 5
pentoff
deathmatch 1
-done- // Finalize and apply collected cvar changes
The parser accepts regular Quake cvars, custom CRMod commands, and generic set/seta lines. These are also valid in map-specific overrides.
// Generic cvar passthrough
set hostname "CRMod 7 - local"
// FTE/QSS engine cvar passthrough
seta sv_demoAutoRecord 1
setadmin2 2468101 // Extra admin codes up to setadmin9
ringauto // Return ring handling to automatic mode logic
allvoteoff // Disable all player voting globally
powerupdropoff // Disable Quad/Ring/Suit dropping
matchsoundsoff // Disable intermission music
safedischargeon // Legacy alias for safe discharge rules
tossruneoff // Prevent players from throwing runes
sv_pak0_only 1 // Force pak0/shareware-safe assets
cr_allow_leavemealone 0 // Disable leave-me-alone entirely
cr_allow_qwsucks 0 // Disable QuakeTag QWSucks mode
cr_allow_q14ever 0 // Disable QuakeTag Q14Ever mode
Override mode settings for specific maps. The file name matches the map's BSP name. Only the mode sections you include are overridden.
// dm3.cfg - overrides for The Abandoned Base
-match-tdm-
deathmatch 1 // No weapon stay for dm3
penton // Enable Pent
ringon // Enable Ring
timelimit 20
// ultrav.cfg - minimal override
-match-tdm-
deathmatch 1 // No weapon stay for ultrav
Defines the in-game warp/map selection menu. Maps are grouped into categories separated by ****. Max 30 maps per category, 50 categories total (1500 maps).
// Each map entry is 3 lines:
dm3 // BSP filename (no extension)
The Abandoned Base // Display title
John Romero // Author (blank line if unknown)
**** // Category separator
ctf1 // Next category starts
McKinley Base
Dave "Zoid" Kirsch
Names for each category tab in the warp menu. One line per category, matching the order in warp.cfg. Current code limit: 50 category labels.
e1m1-e4m8
id deathmatch arenas
threewave ctf (ctf1-ctf2m8)
league of capture (ctf3m1-ctf3m9)
ctf gold (ctfgold1-ctfgold8)
ctf revival (rctf1-rctf5)
ctf custom maps
dm custom maps 1
rocket arena maps 1
dmm4 arenas
holiday themed
training
Automatic map rotation for each game mode. Maps cycle sequentially and loop back to the start. The current implementation stores up to 199 rotation entries per mode section.
-ctf- // CTF rotation
e1m1
e1m3
e2m2
e4m3
-dm- // Deathmatch rotation
aerowalk
ztndm3
ultrav
dm6
dm2
-ca- // Clan Arena rotation
dm3
ztndm3
ultrav
-ra- // Rocket Arena rotation
23ar-a
2pyramid
2towers
End-of-match music that plays during the map vote screen. Three variants based on game outcome.
// matchsounds.cfg - standard (max 20 tracks)
matchsounds/int001.wav
matchsounds/int002.wav
// matchsounds_blowout.cfg
// Plays if score diff > 200 (CTF) or > 40 (other)
matchsounds/blowout.wav
// matchsounds_rematch.cfg
// Plays if score diff < 50 (CTF) or < 10 (other)
matchsounds/rematch.wav
The release/ folder carries deployable examples: a minimal root server.cfg wrapper and a mirrored configs/ tree that holds the actual engine-facing startup settings.
// release/server.cfg
exec "configs/engine.cfg"
// release/configs/engine.cfg
set cr_startmode 2
map dm3
hostname "localhost"
sv_public 1
net_messagetimeout 60
sv_gameplayfix_bouncedownslopes 1
Server-generated data files. These are written automatically — you don't edit them, but understanding the format is useful for external tools.
Per-map capture time leaderboards. Trial records use <map>_captimes.crx, match records use <map>_captimes_match.crx. Each file stores the current top 3 records with team-color metadata and optional v2 record metadata.
// ctf1_captimes.crx - trial records
unspoken // Player name
14 // Team color (14=red, 5=blue, etc.)
10.19873046875 // Capture time in seconds
# meta v2 2026-01-09T07:12:53-0800 // Timestamp
Full match stat exports in JSON. Includes per-player weapon efficiency, damage breakdown, item pickups, CTF stats, quad stats, and more. The same directory also carries snapshots like lastscores.json.
{"match": {
"date": "2025-09-07 20:14:28",
"hostname": "CRMod 7 - denver.quakeone.com",
"map": "ctf3m2",
"gamemode": "ctf match",
"team size": 3,
"timelimit": 20,
"teams": [
{ "name": "Red team", "players": [
{ "name": "omicron", "score": 106, "kills": 34,
"rockets_eff": 36, "lightning_eff": 23,
"ctf": { "captures": 0, "returns": 6 }
} ...
]}
]
}}
Tracks airshot height records and gib streak records in the same .crx format. Used by the Airshot Arena mode.
Append-only disconnect history used by the in-game last command and related moderation workflows.
CRMod7 is not just a straight CRMod successor. It pulls from two ClanRing lineages: CRMod++ for match structure, admin flow, and competitive server tooling, and CRCTF for the ThreeWave-derived Capture the Flag branch that shaped its teamplay core. The result is a merged competitive stack carried forward with modern integrations, new modes, and open-source maintenance on GitHub.