HOWTO: OpenArena Dedicated Sever – Linux

Open Arena is an amazing Open Source arena based first person shooter. It is based on the quake 3 engine, and has a lot of fast gameplay.

You are going to need your own server running linux. A shell account will not do, the admin will probably disable your account, and most likely you won’t have access to enough resources to run a dedicated game server. So I am going to assume you either have a computer sitting beside you running linux, or a virtual machine either on your pc, or hosted on a server somewhere. You will not be able to run the dedicated server on your own machine, without changing some of the server flags.

The first thing you will need to do is download the latest version of the OpenArena, which can be done here. Any download link will do, the windows and the linux binaries are both packaged together.

I recommend uploading the archive to your server, then uncompressing it, instead of uncompressing it on your computer then uploading it, just to save some time and bandwidth.

Once you have everything uploaded and uncompressed on your server, you will need to go into the baseoa directory and create a file called server.cfg

Your server.cfg file is going to look something similar to this:


sv_hostname ""My OA server""
sv_maxclients 16
sv_master1 ""dpmaster.deathmask.net""
sv_maxPing 150
sv_minPing 0
sv_pure 1
sv_maxRate 25000
sv_fps 20
sv_allowdownload 1

sv_privateClients “”2″” // slots substracted from sv_maxclients
sv_privatePassword “”””

capturelimit 8
timelimit 15
fraglimit 35

set rconPassword “””” // for remote ingame servercontrol

g_motd “”””
g_quadfactor 4
g_inactivity 0
g_allowvote 1

//If you want to use unlagged functionality (since 0.7.6)
g_delagHitscan 1

//Special modes since 0.7.6:
//g_instantgib 1
//g_rockets 1
//g_vampire 0.25 //25%
//g_regen 5 //5 health per sec.

//Gametypes
// 0 = Free For All
// 1 = Tourney
// 3 = Team Deathmatch
// 4 = Capture The Flag
// 8 = Elimination
// 9 = CTF Elimination
// 10 = Last Man Standing
// 11 = Double Domination
// 12 = Domination
g_gametype 0


set d1 ""map aggressor; set nextmap vstr d2""
set d2 ""map oa_dm1; set nextmap vstr d3""
set d3 ""map oa_dm2; set nextmap vstr d4""
set d4 ""map oa_dm3; set nextmap vstr d5""
set d5 ""map oa_dm4; set nextmap vstr d6""
set d6 ""map kaos2; set nextmap vstr d7""
set d7 ""map oa_dm5; set nextmap vstr d8""
set d8 ""map oa_rpg3dm2;set nextmap vstr d9""
set d9 ""map oa_shouse; set nextmap vstr d1""
wait
vstr d1 // start loop at d1

The main portions you are going to want to worry about are:

sv_hostname – Sets your viewable hostname in the serverlist
sv_maxclients – Sets the maximum ammount of clients allowed to connect to your server
sv_privateClients – Sets the ammount of slots held for private use (sv_maxclients – sv_privateClients = total clients)
sv_privatePassword – Sets the password for the private slots
capturelimit – Sets the capture limit in CTF
timelimit – Sets the time limit
fraglimit – Sets the frag limit
set rconPassword – Sets the rcon passsword for admin usage
g_motd – Sets the message of the day
g_gametype – Sets the gametype, the current option is 0, Free for All aka Deathmatch

The last portion is the confusing bit. This is where you setup the actual map rotation.


set d1 ""map mapname1; set nextmap vstr d2""
set d2 ""map mapname2; set nextmap vstr d3""
set d3 ""map mapname3; set nextmap vstr d1""
wait
vstr d1 // start loop at d1

Basically what you are doing here is setting up a loop. d1 is set, with the next map being d2 and so on. You can do this with as many levels as you want, you just have to make sure to make the last map link to the first map, or the loop will not work.

Once you have your server.cfg file saved, go back into the root OpenArena directory and start up your server like this:

./oa_ded.i386 +set dedicated 2 +exec server.cfg

You may want to run this process inside of a screen session. There are alot more things you can do, this is just the basics for getting your own OpenArena dedicated server setup. Enjoy