Quake 4
Here you'll get instructions of how to install a linux dedicated Quake 4 server.
Getting the Quake 4 files
- Download the Quake 4 Linux binary
- quake4-linux-1.3-2.x86.run
You'll also need the Quake 4 DVD-Rom!
Setup a dedicated Quake 4 Server
- Create a Quake 4 installation directory
- $ mkdir /usr/local/games/quake4
- $ cd /usr/local/games/quake4
- Make the Quake 4 Linux binary executable
- $ chmod o+x ./quake4-linux-1.3-2.x86.run
- Run the Quake 4 Linux binary
- $ ./quake4-linux-1.3-2.x86.run
- Copy the *.pk4 files
- $ cp /path/to/dvd/Setup/Data/q4base/*.pk4 ./q4base
If you don't copy the *.pk4 files, you won't be able to run your dedicated Quake 4 server!
Configuration of Quake 4
In the default installation package you will find several configuration (.cfg) files, that will help you configuring your Quake 4 server.
games@server:~/quake4> ls ./q4base/*.cfg arena_ctf.cfg dm.cfg teamdm.cfg ctf.cfg tourney.cfg
In order to start a specific game, all you need to do is to add your specific game configuration to the command line.
$ ./quake4-dedicated +exec gameconfig.cfg
My example configfile ./q4base/server_dm.cfg
// Sample Quake 4 DM Server Configuration File // --------------------------- // si_name // --------------------------- // name advertised to server browsers si_name "DragonBe's Quake 4 DM Server" // --------------------------- // si_gametype // --------------------------- // gametype can be "DM", "Team DM", "Tourney", "CTF", "Arena CTF" si_gameType "DM" // --------------------------- // net_serverDedicated // --------------------------- // type of server, dedicated or listen. Dedicated server // recommended for anything other than small pick up games net_serverDedicated 1 // --------------------------- // si_maxPlayers // --------------------------- // maxPlayers, set appropriate to your upstream si_maxPlayers 12 // --------------------------- // si_minPlayers // --------------------------- // minPlayers, game will stay in warmup until at least this many // players connect. Only valid if si_warmup 1 si_minPlayers 2 // --------------------------- // si_warmup // --------------------------- // perform a match warmup si_warmup 1 // --------------------------- // si_countdown // --------------------------- // how many seconds the warmup->game countdown lasts si_countdown 10 // --------------------------- // net_serverMaxClientRate // --------------------------- // serverMaxClientRate - maximum data rate out to each client. Divide // your out bandwidth by this value to figure out how many clients you // can support // net_serverMaxClientRate 16000 // --------------------------- // si_mapCycle // --------------------------- // simple mapcycle, semicolon delimited list of maps to cycle through // for more advanced map cycling that sets minplayers/gametype/etc see // g_mapCycle si_mapCycle "mp/q4dm1;mp/q4dm2;mp/q4dm3;mp/q4dm4;mp/q4dm5;mp/q4dm6;mp/q4dm7;mp/q4dm8;mp/q4dm9" // --------------------------- // g_mapCycle // --------------------------- // advanced mapcycle, set this to the name of the .scriptcfg in // q4base/ you want to use // defaults to "mapcycle" to use q4base/mapcycle.scriptcfg g_mapCycle "" // --------------------------- // si_fragLimit // --------------------------- // fraglimit, in DM and Team DM number of frags required to win the // game, in tourney the number of frags to win an individual round si_fragLimit 30 // --------------------------- // si_timeLimit // --------------------------- // timelimit, in DM, Team DM, CTF, Arena CTF how long the match will // last before ending. in tourney how long an individual round will // last before ending. si_timeLimit 30 // NOTE: // if both timelimit and fraglimit is set, the game will end when // either one is hit // --------------------------- // si_map // --------------------------- // map, the map to start on si_map mp/q4dm1 // start the server spawnServer
Download server_dm.cfg.
Running the Quake 4 server
- Running a arena ctf game
- $ ./quake4-dedicated +exec arena_ctf.cfg
- Running a team deathmatch game
- $ ./quake4-dedicated +exec teamdm.cfg
- Running a deathmatch server on a specific ip and port
- $ ./quake4-dedicated +set net_ip 192.168.123.456 +set net+port 28004 +exec dm.cfg
Links for Quake 4
- Quake 4 Homepage: http://www.quake4game.com
- Quake 4 GNU/Linux FAQ: http://zerowing.idsoftware.com/linux/quake4
- ID Software: http://www.idsoftware.com
Quake 4 Port Settings
- UDP 28004: default quake 4 server port
- UDP 27950: master comm q4master.idsoftware.com


