ioquake3
Maintained Quake III Arena engine with dedicated server
ioquake3 is a free, community-maintained fork of the Quake III Arena engine with bug fixes and modern features. It includes a dedicated server build for self-hosting Quake III multiplayer matches.
Key features
- Maintained Quake III engine
- Dedicated server build
- Security fixes
- Mod compatibility
Pros & cons
Strengths
- Stable and modern
- Active community
Trade-offs
- Requires game data files
- Older engine
ioquake3 replaces
Last reviewed Sep 13, 2026 · 913 words
An ioquake3 dedicated server is one small binary that idles at a few dozen megabytes of RAM and runs a 16-player Quake III match on a Raspberry Pi. The catch arrives before you launch it: the engine is GPL, the game data is not. You need pak0.pk3 from a copy of Quake III Arena you own, about 450 MB of maps, models and sounds that id Software never open-sourced. No pak0, no server. Everything else about hosting this 1999 shooter in 2026 is easy.
You need pak0.pk3, and nothing else needs paying for
The retail disc, the Steam copy or the GOG copy all contain baseq3/pak0.pk3; copy that single file to the server. The pak1.pk3 through pak8.pk3 files came with the free 1.32 point release and are redistributable, so ioquake3's downloads and most mirrors include them. With those nine files in baseq3/ beside the ioq3ded binary, the server has every stock map and mode. Quake Live's data does not work; it is a different game with a different file layout. The ioquake3 site covers where the point-release paks come from for each platform.
Players need the same paks on their side, which is why this is a "bring your own game" community: it is people who bought Q3 twenty years ago, or picked it up for a few pounds in a sale, and want a server that is theirs rather than some stranger's.
Why ioquake3 rather than the original binary
The original 1.32 server has known remote exploits, a broken master server, and no fixes since 2005. ioquake3 is the community engine fork that has been maintained since then: security fixes, IPv6, a working master list, higher tick rates, modern OS support, and compatibility with every mod written for the original, which is the part that matters if your group plays CPMA, OSP, Excessive Plus or Urban Terror. It is the engine the OpenArena project builds on too. Quake3e is a separate, more aggressive fork focused on client-side performance; for a server, ioquake3 is the conservative choice and the one every guide assumes.
A dedicated server is six lines of config
Grab the Linux dedicated build from the ioquake3 downloads or build it from source with make (a few minutes, needs SDL headers only for the client). Then write baseq3/server.cfg:
seta sv_hostname "the flat"
seta sv_maxclients 12
seta g_gametype 3
seta fraglimit 50
seta timelimit 15
seta rconPassword "long-random-string"
map q3dm17
Launch it with ./ioq3ded.x86_64 +set dedicated 2 +set net_port 27960 +exec server.cfg. dedicated 1 keeps it off the public master list for LAN use; dedicated 2 registers it with master.ioquake3.org so it appears in the in-game browser. Game types: 0 free-for-all, 1 tournament, 3 team deathmatch, 4 capture the flag. Add seta g_password "..." for a private server, and seta sv_pure 1 to refuse clients with modified paks, which is on by default and stops most cheating in a friends-only game.
Run it under systemd or in a Docker container with a Debian base and the binary plus paks copied in. There is no official image, which is a licensing consequence rather than laziness: nobody can ship pak0 in a container.
Ports, rcon and the 256 MB question
Open UDP 27960 on the firewall and forward it; nothing else is needed, and there is no TCP. Administer it in-game with /rconpassword then /rcon map q3dm6, or from a shell with any rcon client. CPU use is negligible; in my experience a server with 8 players barely registers on one modern core. The catalogue's 256 MB minimum covers the paks being read into memory with room to spare. A t4g.nano-class VPS or an old Pi 3 handles it, and the only thing that hurts players is latency, not hardware, so host it near where they are.
Mods go in their own directory next to baseq3 and are selected with +set fs_game cpma. Server-side map packs work the same way, but every client must download them, and ioquake3 disables HTTP auto-download by default for safety; set up sv_dlURL pointing at a web server hosting the same .pk3 files if you go beyond stock maps.
OpenArena or Xonotic if nobody owns the game
For a LAN party where half the guests never bought Q3, OpenArena is the same engine with free-licensed art, and its server needs none of the above legal caution. It looks like Q3 and plays close to it. Xonotic is the other free option, faster and prettier, on a different engine. If what you want is a panel to run several game servers with a web UI, Pterodactyl has community eggs for ioquake3-based games, and the games category lists what else fits beside it.
What I'd do
If everyone has a Q3 licence, run ioquake3's dedicated build on the cheapest VPS nearest your players, copy pak0 up once, use the config above with sv_pure 1 and a game password, and register with the master only if you want strangers. Put a Discord webhook or a cron that pings the server's UDP port into your monitoring so you know when it dies. If licences are the problem, do not fight it: host OpenArena, which is the same server with no pak0 and no awkward conversation.
Similar game servers apps
Mindustry
Game ServersTower-defense and factory game with servers
Replaces Factorio
Lichess
Game ServersOpen-source chess server and platform
Replaces Chess.com
OpenRCT2
Game ServersOpen-source remake of RollerCoaster Tycoon 2
Replaces RollerCoaster Tycoon
papermc-docker
Game ServersContainerized Minecraft Java server image
Replaces Minecraft Realms
ArchiSteamFarm
Game ServersTool for farming Steam cards from multiple accounts
Replaces Idle Master
2048
Game ServersSelf-hostable browser version of the 2048 sliding puzzle
Replaces Mobile puzzle games