Ioquake3
Appearance
ioquake3 is an open-source, community-maintained engine port of Quake III Arena, compatible with the original game data.
Client setup
⚠︎
Warning: The ioquake3 module is not yet upstream and will be available in the upcoming NixOS 26.11 release.
The game can be installed and configured using the dedicated programs.ioquake3 option.
programs.ioquake3 = {
enable = true;
settings = {
name = "onny";
com_maxfps = 125;
cg_frawFPS = true;
cg_fov = 115;
r_mode = "-1";
r_customheight = 1080;
r_customwidth = 1920;
model = "sarge/default";
};
};
Dedicated server setup
⚠︎
Warning: Parts of this module are not yet upstream and will be available in the upcoming NixOS 26.11 release.
Following snippet will enable a Quake 3 Arena dedicated server. The map q3tourney3 (Hell's Gate) will be loaded.
services.quake3-server = {
enable = true;
openFirewall = true;
baseq3 = "/var/lib/quake3";
settings = {
rconPassword = "super_secret";
sv_hostname = "My NixOS Quake 3 Arena Dedicated Server";
};
# Configure map rotation
extraConfig = ''
set d1 "map q3tourney3 ; set nextmap vstr d2"
set d2 "map q3dm17 ; set nextmap vstr d3"
set d3 "map q3tourney5 ; set nextmap vstr d1"
vstr d1
'';
};
Game files must be present and readable on the path specified. The full path to the single game file will be /var/lib/quake3/.q3a/baseq3/pak0.pk3. Permissions must be set world-readable.
chmod -R o+rX /var/lib/quake3/.q3a/