Quake 3 Arena

Objectively the best internet pew-pew game to play with your friends. I run a deathmatch server with a fantasy-themed map rotation:
Server: dungeon.church:27960
Player Setup
ioQuake3 is an open-source engine that runs Quake 3 Arena on modern computers. You install the engine, drop in the game files, and you’re good to go.
The ioQuake3 team has a more detailed Player Guide
Installation
flowchart LR
A[Install ioQuake3] --> B[Download Patch]
B --> C[Get pak0.pk3]
C --> D[Copy to baseq3]
D --> E[Launch & Configure]
E --> F[Join Server]
- Download and install ioQuake3
- Download the patch update from iD Software and unzip it
- Download the game file — grab
pak0.pk3from our mirror - Copy files to the application folder:
- Mac: Finder → Go → Go to Folder →
~/Library/Application Support/Quake3 - Windows: typically
C:\Program Files (x86)\Quake III Arena\ - Linux:
~/.q3a/ - Put
pak0.pk3into thebaseq3subfolder - Copy the patch pk3 files from the zip (
baseq3andmissionpackfolders) into the matching subfolders
- Mac: Finder → Go → Go to Folder →
- Launch the game — if it asks for a CD Key, use:
RC7GSLHWJP2B3TAD - Enable custom map downloads: Setup → Game Options → Automatic Downloads → On
Join the Server
Multiplayer → Specify → enter server address dungeon.church
To bookmark the server, open the console (~ key) and enter:
/seta server1 dungeon.church:27960
Adding favorites via the game menu is broken on Mac. Console method works reliably. Only IPs work for bookmarks, so you can also use
192.9.236.115:27960.
Tweaks
For smoother gameplay on modern hardware, open the console (~) and enter:
/snaps 40
/rate 2500
/cl_maxpackets 125
/com_maxfps 125
/com_hunkMegs 512
AL Errorduring gameplay: open console →/seta s_useOpenAL 0→ restart
Optional Mods
| Mod | What it does |
|---|---|
| Neural Upscale Textures | AI-upscaled high-res textures |
| Q3A Reloaded | Alternative HD texture + HUD pack |
| Flexible HUD | Fixes menus on widescreen monitors |
| Player Model Pack | Additional player skins |
Batocera
If you’re running Quake 3 on a Batocera retro gaming setup, there’s a guide for ioQuake on Batocera covering the specifics.
Server Administration
Some notes on administration.
Discord Notifications
I wrote a simple Quake notification plugin for Redbot powered by the JSON output of qstat.
Compiling for ARM64
The server runs on Oracle Cloud ARM platform so I had to compile it:
sudo apt install build-essential libsdl2-dev
wget https://raw.githubusercontent.com/ioquake/ioq3/master/misc/linux/server_compile.sh
chmod +x server_compile.sh
./server_compile.sh
Server Mods
Currently server runs as ‘pure’ vanilla deathmatch.
| Mod | Notes |
|---|---|
| BMA | ’black metal’ mode, grappling hook |
| OSP | Competition-focused, more common |
| RA3 | Abandoned? |
Not sure if there’s a modern equivalent of RA3 that you can actually run. See:
- RA3 server setup in 2022 — links to v1.8
- RA3 containerized
Fantasy Skin Picks
Some skins I have bookmarked (from ws.q3df.org archive):
| Character | Model | Notes |
|---|---|---|
| Mind Flayer | Flayer | mdl-Q3clan.pk3 ✅ |
| Beholder | Orbb (Beholder skin) | |
| Nothic | Cruentus | |
| Dragon Knight | Dragon Knight | |
| Wizard (Jawa) | Jawa (Blue) | md3-jawa.pk3 — has bot support |
| Wizard (Vivi) | Vivi (Blue) | |
| Gladiator | Provocator | md3-provocator.pk3 ✅ |
| Dark Knight | Dark Knight (Dembones) | |
| Winged Fighter | Uriel (Asenar) | |
| Dwarf Fighter | Thor (Blue) | md3-thor.pk3 ✅ |
| Dragonborn | Uriel (Radzyn) | |
| Revenant | Revanant | |
| Undead | Gammy | Female |
| Zombie | Smirking Louis | |
| Wolf | Wolf | |
| Giant Bug | Bugger |
Stats
- GameTracker keeps track of player stats and server status.
- quake3-vsp-stats — Docker image, works with XP mod
- Reddit thread on stats options
Resources
- ioQuake3 — the open-source engine
- lvlworld — community database of Q3A maps
- ws.q3df.org — massive archive of player models
- Apple Gaming Wiki — Mac-specific notes
- Steam — buy the original (Windows)