The Quake 3 Server Guide. No guide collection would be complete without
the server that started it all! Oh if only all game servers were as easy to configure as a Quake 3 server!
cg_drawFPS 1
Getting Started - Creating the
Server (CFG) File(s)
Create 2 shortcuts on the desktop to the quake3.exe
and then add the following to the target field in the properties (right-hand
mouse click on the shortcut) window.
It will look something like this: Target: "X:\Games\Quake
3\quake3.exe"
On the first shortcut we will set up a Capture the Flag Server. Do this
by adding the following after quake3.exe and make sure these is a space
between them:
+set dedicated 1 +exec server_ctf.cfg
+set dedicated 1
// make it a dedicated server (0=OFF 1=ON)
+exec server_ctf.cfg
// Name of the CTF server script you wish to execute.
NOTE: Be sure it is saved in your X:\Quake 3\baseq3\ directory
or it will not work
You now should have a shortcut named Quake 3 on your desktop with properties
that look like this:
Target: "X:\Games\Quake 3\quake3.exe"
+set dedicated 1 +exec server_ctf.cfg
Next do the same thing for the second shortcut except change the script
name for a Death match server:
Target: "X:\Games\Quake 3\quake3.exe"
+set dedicated 1 +exec server_dm.cfg
Next open a new file in you fave text editor copy and paste the CTF
script to a file and save it as "server_ctf.cfg"
to your \Quake 3\baseq3\ folder.
Then create a new file and copy the Death Match script into it and save
it as "server_dm.cfg"
to your \Quake 3\baseq3\ folder.
// Capture the Flag Script
seta sv_hostname "LANage CTF Server"
seta g_motd "Welcome to the LANage Q3 CTF Server"
seta sv_maxclients 16
seta g_quadfactor 4
seta g_gametype 4
seta timelimit 15
seta fraglimit 5
seta g_weaponrespawn 3
seta g_inactivity 3000
seta g_forcerespawn 0
seta rconpassword "password"
set d1 "map q3ctf1 ; set nextmap vstr d2"
set d2 "map q3ctf2 ; set nextmap vstr d3"
set d3 "map q3ctf3 ; set nextmap vstr d1"
vstr d1 |
// Death Match Script
seta sv_hostname "LANage Death Match Classic Server"
seta g_motd "Welcome to the LANage Q3 Death Match Classic Server"
seta sv_maxclients 16
seta g_quadfactor 4
seta g_gametype 4
seta timelimit 15
seta fraglimit 50
seta g_weaponrespawn 3
seta g_inactivity 3000
seta g_forcerespawn 0
seta rconpassword "password"
set d1 "map q3dm1 ; set nextmap vstr d2"
set d2 "map q3dm2 ; set nextmap vstr d3"
set d3 "map q3dm3 ; set nextmap vstr d1"
vstr d1 |
Server CFG File Descriptions
seta sv_hostname "LANage Death Match Classic Server"
// what players will see on the join server window
seta g_motd "Welcome to the LANage Q3 Death Match Classic Server"
// message of the day that players will see while joining the server
seta sv_maxclients 16
// maximum number of players on the server
seta g_quadfactor 4
// Quad Damage strength. 4 is default
seta g_gametype 4
// Sets the type of game.
// 0 - Free for all
// 1 - Tournament
// 2 - Free for all(again)
// 3 - Team Deathmatch
// 4 - Capture the Flag
seta timelimit 15
// Sets the timelimit
seta fraglimit 50
// sets the fraglimit (flag limit)
seta g_weaponrespawn 3
// number of seconds before weapons respawn
seta g_inactivity 3000
// number of seconds before an inactive player is kicked
seta g_forcerespawn 0
// forces players to respawn 0=OFF 1=ON
seta rconpassword "password"
// sets the password to allow client control of the server
// Map Rotation
set d1 "map q3dm1 ; set nextmap vstr d2"
set d2 "map q3dm2 ; set nextmap vstr d3"
set d3 "map q3dm3 ; set nextmap vstr d1"
vstr d1
Serving Quake
3 Behind a Firewall
(Putting your server behind a firewall is a BEST PRACTICE)
If you plan on putting your Q3 Server behind a firewall (ie: residential
ones D-Link, Linksys, SMC) you will need to open and forward the following
UDP (and possibly TCP) ports in order for Q3 to work.
| UDP 27960 |
Q3 Default Server Port * |
| UDP 12300 |
GameSpy Monitoring Port * |
| UDP 13139 |
GameSpy UDP Pings |
| UDP 27900 |
GameSpy Master Server Heartbeat |
| TCP 28900 |
GameSpy Master Server List |
| TCP 29900 |
GameSpy Connection Manager |
| TCP 29901 |
GameSpy Search Manager |
| UDP 6500 |
GameSpy Query Port |
| UDP 6515 |
GameSpy DPlay Port |
| UDP 3783 |
GameSpy Voice Chat |
| UDP 6667 |
GameSpy IRC Chat |
* denotes ports that absolutely have to be open and forwarded to
the Server in order for your server to work online. You don't have
to have any of the other ports open in order to serve games via the
in game Gamespy server list, but you may want to open them for other
reasons.
Using RCON from
a Client
(you have already set the rcon password in your server config file "server.cfg")
Remember to open the console by hitting the "~"
also known as the tilde key.
| /rconpassword "password" |
| - Logs you into the server. password is the
rcon password from your server config. |
| /rcon kick "playername" |
| - kicks individual client by playername. |
| /rcon clientkick "#" |
| - kicks individual client by client number. The easiest
way to kick players that use name scripts to change their names
to letters that are hard to type in and clients with spaces in
their names is to use the client number provided by status |
| /rcon say "yada yada" |
| - uses console to say yada yada (or whatever you want)
to gamers on server. |
You may use any command and set any server variable by using /rcon
(like /rcon timelimit 25, /rcon motd "clan match at 1400" or
/rcon map q3dm1). Some of the settings require a map change to get
activated.
<
Calling a Vote
This command can be used to propose changes on a server, and allow all
the players on the server to vote on it. This can be used to change
maps, game modes, settings, and even kick players if necessary. To
vote on a proposed change, press F1 to vote "yes" and F2 to vote "no".
| Examples: |
| callvote map q3dm3 |
- will call a vote to change to the q3dm3 map |
| callvote g_gravity |
- calls a vote to change the gravity (default is 800) |
| callvote kick jerkwad |
- calls a vote to kick the player jerkwad |
Server Consolem Commands
Remember to open the console by hitting the "~"
also known as the tilde key.
| Commands |
Comment |
| callvote "proposed vote" |
- this command can be used to propose changes on a server,
and allow all the players on the server to vote on it. This can be
used to change maps, game modes, settings, and even kick players if
necessary. To vote on a proposed change, press F1 to vote "yes" and
F2 to vote "no". |
| cd "folder" |
- change current directory to folder |
| cheats "0 or 1" |
- sets cheats off (0) or on (1) |
| cmdlist |
- list all console commands |
| dir |
- list all files in current directory |
| echo |
- echoes text to the console |
| fdir "filter" |
- list all files in current directory, applying filter
(ex. fdir *.bsp) |
| fraglimit "#" |
- displays or sets the server frag limit |
| kick all |
- kicks all players |
| kick "player" |
- kicks player |
| killserver |
- kills the server |
| map |
- selects a map from the pk3 files or from the 'Baseq3\maps\'
directory |
| maplist |
- list maps |
| map_restart |
- will reload current map. You may have to use this command
before various server settings can take effect. |
| meminfo |
- gives info about memory |
| path |
- echo current search path to console |
| reload |
- reload current weapon |
| restart |
- restarts server |
| say "message" |
- send message to all players in the game |
| serverinfo |
- echo server information to console |
| status |
- echo status/player info to console |
| sv_hostname |
- change or view the current server name with this command |
| systeminfo |
- echo system information to console |
| timelimit "#" |
- displays or sets the server time limit |
| (var) add "var" "amount" |
- add amount to var |
| (var) append "var" "string" |
- append string to var |
| (var) reset "var" |
- set var to its default |
| (var) set "var" "value" |
- sets var to value |
| (var) subtract "var" "amount" |
- subtract amount from var |
| (var) toggle "var" |
- toggle var value to 0 or 1 |
Client Console Commands
Remember to open the console by hitting the "~" also known as the tilde key.
| Commands |
Comment |
| altbind "key" "command" |
- bind command to alt+key |
| altbindlist |
- list all alt+key bindings |
| autosavegame |
- save current game as autosave |
| bind "key" "command" |
- bind command to a key |
| bindlist |
- list all key bindings |
| callvote "proposed vote" |
- this command can be used to propose changes on a server,
and allow all the players on the server to vote on it. This can be
used to change maps, game modes, settings, and even kick players if
necessary. To vote on a proposed change, press F1 to vote "yes" and
F2 to vote "no". |
| clear |
- clear all text from the console |
| connect "ip" |
- connects to server at ip |
| ctrlbind "key" "command" |
- bind command to ctrl+key |
| ctrlbindlist |
- list all ctrl+key bindings |
| cvarlist |
- list all variables |
| difficultyHard |
- sets difficulty to hard |
| difficultyMedium |
- sets difficulty to medium |
| difficultyEasy |
- sets difficulty to easy |
| error |
- exits Q3 with error message |
| exec "file.cfg" |
- execute commands in file.cfg |
| fps "0 or 1" |
- toggle fps info display off (0) or on(1) |
| kill |
- suicide |
| launchgamespy |
- launches gamespy |
| loadgame |
- load saved game |
| loadlastgame |
- load last saved game |
| m_filter "0 or 1" |
- set mouse filter off (0) or on (1) |
| map "mymap" |
- change to map mymap |
| name "myname" |
- sets your player name to myname |
| pause |
- pause/unpause game |
| quit |
- exit Q3 |
| savegame |
- save current game |
| say "message" |
- send message to all players in the game |
| say_team "message" |
- send message to all players in your team |
| scale "var" "amount" |
- multiply var by amount |
| sensitivity "<number>" |
- sets your mouse sensitivity (5-20) |
| unbind "key" |
- unbind key |
| unaltbind "key" |
- unbind alt+key |
| unctrlbind "key" |
- unbind ctrl+key |
| unbindall |
- unbind all keys |
|