q3aserver
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| q3aserver [2005/12/19 18:18] – old revision restored andi | q3aserver [2007/11/03 07:43] (current) – old revision restored 83.236.4.57 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Quake 3 Arena dedicated Server ====== | ||
| + | Here's a quickguide to running a Q3A dedicated server on a debian system. | ||
| + | |||
| + | I assume you have running [[Quake3Arena]] for linux running on your client computer already. We'll use this installation as base. | ||
| + | |||
| + | * Create a user and it's home dir | ||
| + | |||
| + | #> useradd -u 666 -g games -d / | ||
| + | #> mkdir -p / | ||
| + | #> chown games:games /opt/games | ||
| + | #> chown quake3: | ||
| + | |||
| + | * Copy the needed files over from your workstation | ||
| + | |||
| + | #> su - quake3 | ||
| + | $> scp -r you@workstation: | ||
| + | |||
| + | * Create a link to make Q3A happy (this fixes some maybe problems) | ||
| + | |||
| + | $> ln -s / | ||
| + | |||
| + | * Create a **new** '' | ||
| + | |||
| + | < | ||
| + | set vm_game 2 | ||
| + | set vm_cgame 2 | ||
| + | set vm_ui 2 | ||
| + | set dedicated 1 // | ||
| + | set com_hunkmegs 32 //How much RAM for your server | ||
| + | set net_port 32000 //The network port | ||
| + | </ | ||
| + | |||
| + | * Create a '' | ||
| + | |||
| + | < | ||
| + | seta sv_hostname "My Q3A Server" | ||
| + | seta sv_maxclients 8 | ||
| + | seta g_motd "=== Happy fragging ===" | ||
| + | seta g_quadfactor 4 | ||
| + | |||
| + | //### team deathmatch ### | ||
| + | //seta g_gametype 3 | ||
| + | //seta g_teamAutoJoin 1 | ||
| + | //seta g_teamForceBalance 1 | ||
| + | //seta timelimit 15 | ||
| + | //seta fraglimit 25 | ||
| + | |||
| + | //### free for all ### | ||
| + | seta g_gametype 0 | ||
| + | seta timelimit 10 | ||
| + | seta fraglimit 15 | ||
| + | |||
| + | seta bot_nochat 1 | ||
| + | |||
| + | seta g_weaponrespawn 2 | ||
| + | seta g_inactivity 3000 | ||
| + | seta g_forcerespawn 0 | ||
| + | seta g_log server.log | ||
| + | seta logfile 3 | ||
| + | seta rconpassword " | ||
| + | |||
| + | seta rate " | ||
| + | seta snaps " | ||
| + | seta cl_maxpackets " | ||
| + | seta cl_packetdup " | ||
| + | </ | ||
| + | |||
| + | * Create a '' | ||
| + | |||
| + | < | ||
| + | set dm1 "map q3dm1; set nextmap vstr dm2" | ||
| + | set dm2 "map q3dm2; set nextmap vstr dm3" | ||
| + | set dm3 "map q3dm3; set nextmap vstr dm1" | ||
| + | vstr dm1 | ||
| + | </ | ||
| + | |||
| + | * Set up some bots in a '' | ||
| + | |||
| + | < | ||
| + | seta bot_enable 1 | ||
| + | seta bot_minplayers 4 | ||
| + | |||
| + | addbot doom 3 blue 10 | ||
| + | addbot orbb 3 red 10 | ||
| + | addbot bones 3 blue 10 | ||
| + | addbot major 3 red 10 | ||
| + | </ | ||
| + | |||
| + | Okay thats it. Now you can run your server with | ||
| + | |||
| + | $> ./ | ||
| + | |||
| + | To automate this have a look at the init script below. Oh and be sure to open your firewall or your buddies can't connect. | ||
| + | |||
| + | ===== Init Script ===== | ||
| + | |||
| + | This script starts and stops the dedicated server. Installed to ''/ | ||
| + | |||
| + | < | ||
| + | #! /bin/sh | ||
| + | set -e | ||
| + | |||
| + | BASEPATH="/ | ||
| + | BINARY=" | ||
| + | DAEMON=" | ||
| + | OPTIONS=" | ||
| + | RUNAS=" | ||
| + | PIDFILE=" | ||
| + | |||
| + | test -x $DAEMON || exit 0 | ||
| + | |||
| + | export HOME=$BASEPATH | ||
| + | |||
| + | case " | ||
| + | start) | ||
| + | echo -n " | ||
| + | cd $BASEPATH | ||
| + | start-stop-daemon --start --quiet -c $RUNAS --pidfile $PIDFILE \ | ||
| + | -N -10 -m -b -d $BASEPATH --exec $DAEMON -- $OPTIONS | ||
| + | echo " | ||
| + | ;; | ||
| + | stop) | ||
| + | echo -n " | ||
| + | start-stop-daemon --stop --quiet --pidfile $PIDFILE \ | ||
| + | --exec $DAEMON | ||
| + | echo " | ||
| + | ;; | ||
| + | restart|force-reload) | ||
| + | $0 stop | ||
| + | sleep 3 | ||
| + | $0 start | ||
| + | ;; | ||
| + | *) | ||
| + | echo " | ||
| + | exit 1 | ||
| + | ;; | ||
| + | esac | ||
| + | |||
| + | exit 0 | ||
| + | </ | ||
