Click here to edit subtitle

Referee Commands

Hunt mode 2: Everyone is invisible, and teams take turns having a “seer.” The game automatically gives a random player on the team the Sight powerup (which is new). The same dropping rules apply.

The new Invisibility effect makes players more visible as they speed up. Any speed between 0 and walking speed makes a player completely invisible (except for his breath). Any speed between running speed and moderate strafe-jumping speed makes a player very visible. Firing your weapon makes you extremely visible for about a second, as the muzzle flash propogates over your invisibility field.

Server admins can enable voting of hunt modes by setting vote_huntmode to 1.

g_huntTime 60 This is the amount of time the
Invisibility or Sight powerup lasts when it is given to a
player while in a hunt mode.

g_lightningDamage 8 With the lightning gun being
so easy to use with lag compensation turned on, there has
been a big debate over whether or not it’s too powerful.
People who say it is contend that the damage amount was
assigned after the networking was in place; therefore the
weapon had to be overpowered to make it useful. People who say it isn’t say that the people on the receiving end simply aren’t used to having the shaft pointed at them so much by people who can use it, and haven’t had a chance to learn to dodge it properly.

I lean toward the latter, which is why the default on this setting is the damage the lightning gun does normally. However, if you have a problem with its overuse on your server, you might try setting it to 7 after removing it from wpflags.

g_llamaPenalty 3.0 Set this to the number of seconds it takes to thaw in lava/slime/voids/death fog. Fractional values (like 2.5) are fine.

g_maxTimeout 120 The initial duration of a team
timeout, in seconds.

g_noAttackTime 0.0 The amount of time, in seconds,
that a player cannot fire his weapon after he spawns in.
This is meant to be used with g_noDamageTime. Fractional
values are fine.

g_noDamageTime 0.0 The amount of time, in seconds,
that a player cannot be damaged after he spawns in. This
is primarily intended for instagib play. Fractional values are

g_noFreezeTime 2.0 The amount of time, in seconds,
that a player cannot be frozen after he spawns in.
Fractional values are fine.

g_noVoiceChatSounds 0 Set this to “1? if you
run a server and some players abuse the voice chat
sounds. No one will any longer hear the voice chat sounds.

g_numTimeouts 3 The maximum number of timeouts a
team can call in a game.

g_pogoJumps 0 This setting is halfway between a
joke and…okay, it’s actually kind of a joke. Set it to
“1? if you want “pogo jumps” enabled. If a player
crash lands and has had the jump key held for 1/2 second
or more, he will do a “pogo jump”: his velocity will be
reflected off of the surface he landed on. It’s actually very
useful, and anyone alive in the 70’s will love the sound it


g_railJumpKnock 0 Determines the strength of the
knockback of the Railgun. This only affects the player that
fired the shot. Setting this to 100 will give a knockback
equal to that of the Rocket Launcher.

g_readyPercent 50 The percentage of players needed
to be ready to start the game. This setting is only
meaningful if g_doReady is “1?.

g_redteam “Red” Name of the red team.

g_refAutologin 0 Set this to “1? if you’d like
referees to be able to login automatically by setting

g_reloadFactor 1.0 A number usually between 0 and 1
that is multiplied against the reload time. 0 is no reload
time, 1 is normal. Settings below 0.5 are not recommended,
as reload times will quickly start to become
framerate-dependent for some weapons. (For example, if it
is set to 0.5, the lightning gun will not fire as quickly for
players whose framerates are below 40.) You can get
around this by using pmove_fixed.


This setting is probably most useful in instagib mode. Here
is a list of reload times for the various weapons:

Weapon Reload Time

Gauntlet 0.4 (2/5) seconds

Machinegun 0.1 (1/10) seconds

Shotgun 1 second

Grenade Launcher 0.8 (8/10) seconds

Rocket Launcher 0.8 (8/10) seconds

Lightning Gun 0.05 (1/20) seconds

Railgun 1.5 (1 1/2) seconds

Plasmagun 0.1 (1/10) seconds

BFG10K 0.2 (1/5) seconds


For example, if you wanted the railgun to reload every
second, you would set g_reloadFactor to 0.666.

g_resetArmor 0 Set this to the amount of armor you
want players to reset with.

g_resetHealth 125 Set this to the amount of health you
want players to reset with.

g_revertconfig [config] Set g_revertconfig to the
name of a config file. If the server is idle (ie: no players) for
g_reverttime minutes, the server will execute this config.

g_reverttime 20 Server idle time before config reverts
to g_revertconfig.

g_smoothClients 1 The implementation of this has
changed. Previously, having g_smoothClients set to
“1? would simply prepare for extrapolation on
clients that set cg_smoothClients to “1?. Having
g_smoothClients enabled on the server and
cg_smoothClients enabled on the client was supposed to
smooth out other players who would otherwise skip around
because of a laggy connection. (It didn’t work.)


g_smoothClients now extrapolates player positions on the
server, making cg_smoothClients unnecessary and
reducing network bandwidth requirements somewhat. The
only downside is a nearly unappreciable amount of CPU
usage. For the sake of your clients who would actually like
to hit a player who would otherwise be skipping around,
please leave this enabled unless you are really strapped
for CPU power.

g_startArmor 0 Set this to the amount of armor you
want players to start with.

g_startFrozen 0 Set this to “1? if you want
players who join the game after it has started to join
frozen. It is only meaningful if g_doWarmup is “1?.

g_startHealth 125 Set this to the amount of health you
want players to start with.

g_teamnames 0 If set to “0?, clients may not
name teams. If set to “1?, clients may name teams
but they are not forced to. If set to “2? (competition
mode), team names are reset at every map change and
one team-member MUST use /teamname before the game
will start.

g_thawTime 3.0 The amount of time, in seconds, a
player must stand next to a teammate to thaw him.
Fractional values (e.g. 2.5) are fine.

ref_password “none” Set it if you trust a few players to
have referee acess. Those players can use the ref
command to authenticate as referee using this password. If
set to “none,” players cannot authenticate as a referee.

server_promode 0 This settings enabled or disables
promode on the server (jumping over items, fix weapon
cooldowns, HUD, tweaked physics, etc). The only things
from CPMA not in implemented in UFT are the armor system
and the instant spawns.

sv_nameformat “$gametype-






$time” Sets server-side variable replacing.

Variable Description

$blueteam The blue team name

$date The date

$gametype The game type

$map The map name

$name Your name (client-side only)

$redteam The red team name

$seq Sequence number

$time The time


These variables work in commands like /demorecord,
/ss_record, /dumpstatsfile, /autoscreenshot, and all things
related (ie: g_autossrecord, cg_autodemo, etc). See also

vote_* variables 1 Disable specific voting options
by setting these values to 0. Here is the whole list of

vote_capturelimit vote_lagcomp vote_putred

vote_config vote_map vote_railjump

vote_friendlyfire vote_nextmap vote_remove

vote_gametype vote_opinion vote_restart

vote_grapple vote_promode vote_timelimit

vote_huntmode vote_putblue vote_warmup



Of all these vote control variables, only vote_config and
vote_huntmode’s default values are “0?.


All of the configuration files a player may vote on are in the
directory votecfgs, inside the ufreeze directory. If you want
players to vote in new game types, you MUST make your
votable configs match your server’s config.


The reason is that the configs are simply executed as if you
had done an “exec votecfgs/casual.cfg” (for instance) at
the server’s command line, and will overwrite any settings
they please. If you make them match, it won’t matter.


At the end of each game type votable config is the command hard_restart. This is like map_restart, except that it forces the server to reload the map - in case items were disabled or enabled.
weaponlimit 0 A binary mask to remove weapons and the ammo from a map. It uses the same values as wpflags. For example, if you wanted to remove the BFG from every map, you would set weaponlimit to 128.

wpflags 1 A binary mask to set which weapons
players will spawn with.

Value Weapon

1 Machinegun

2 Shotgun

4 Grenade Launcher

8 Rocket Launcher

16 Lightning Gun

32 Railgun

64 Plasmagun

128 BFG10K


For example, if you wanted players to spawn with a
machinegun, shotgun, and railgun,you would set wpflags to
35 (1 + 2 + 32).

<P align=center><IMG style="WIDTH: 600px; HEIGHT: 50px" height=78 src="http://www.viper-sniper.com/Main/barsnake.gif" border=0></P>

<font color="beige"><div align=center>Q3 SCVAR List:</div></font>

be_regenammotime 0
be_regenammo 1

Other game types you could specify are:
0 Free For All
1 Tournament 1 on 1
2 Single Player
3 Team Deathmatch
4 Capture the Flag

The Official SCVAR List for Q3.        
    A.  A Few Words On Operator & Admin Etiquette
    B.  More server related stuff:
    C.  Server preparation
    D.  Pure Server Setting
    E.  Non-Dedicated Server
    F.  Types of Dedicated Servers & Games
    G.  Server Only Commands
    H.  Game Commands
     I.  Server Console Commands
    J.   Example from Client
    K. Remote Console
    L.  Using RCON to Ban IP's
    M. Map Cycling
    N.  Hunkmegs command
    O.  Wrap up
  a.  New Update To MAC Related Alliance Mod Play & More
  b.  Remote Console
  c.  Using RCON to Ban IP's
  d.  Bindable Keys
  e.  Variables
  f.  Binding 101 For new players
  g.  How Do I Make A Config File?
  h.  Aliases and Scripts
  i.  Where Do I Put My Config Files?
  j.  Toggles
  k.  Quake 3 Scripts
  l.  Best Weapon For Use With Quad Script
  m.  More Scripts
  n.  Notable Changes In Quake III & Team Arena - (1.30)
  o.  New ID Created Pro Maps
  p.  New Network Code
  q.  Auto Update System
  r.  New Rail, Rocket Launcher, Plasma gun, and Lightning Gun Effects.
  s.  New Protocol Change
  u.  Increased Versatility for User-Created Team Skins in Q3 AND Q3:TA
  v.  New Model Animation Commands
  w.  Map Making Changes - Entities Can Be Set To Appear or Not
  y.  Fixed Issues with TA AND Q3

(Just in case you dont know, the server will track your IP address and the
attempts you make at changing anything on someone elses server...you've
been warned!)  (Skrogg)
If you're going to put up a server, I can only recommend a set of ethics for
you to implement if you want regular players to visit. It's up to you, but long
lasting servers have these things in common. MuuMuu's Quake Player Etiquette
page principals apply to server ops and admins as well as players
Unfortunately, the overwhelming majority of server operators are not very well
organized, but the trend is changing.  The info on this page is simply a guideline
and a suggested mode of operation in hopes more legitimate & responsible server
operators take it more seriously.

Set up a corresponding Web Site to inform your player community and set the
variables for it's URL and your email address in your server.cfg file. Instructions
on how to do this.

Use your Web Site to allow players to download any special Pak files you approve
for the server.  Include custom skins, mods, HUD's, sound files, etc.   (You only
need to do this if you're running a PURE SERVER, which minimizes the chances
of cheating).
The site should contain your server rules and how you expect visitors to conduct
themselves, i.e, language limits, behaviors regarding team switching, shooting their
own teammates if you have team damage turned on, etc., etc., etc.   Be clear and
concise as possible.  Just establish the ground rules and be consistent, because the
players are not mind readers.

Don't abuse the power. I have seen admins who kick players who kill the admin.
Yes it's funny, but it's lame. The game of Quake stirs up a gamut of emotion, from
total elation, to fun, to anger and hate. Keep this in mind. We've all gotten mad at
one point or another, for different reasons. Keep your own behavior in check, lead
by example

Keeping in mind the emotions the game stirs, some players loose it ocassionally,
it happens, they get mad.  Warnings by the server op or admin should be reasonable. 
Be respectful, and you will be respected when warning a player.  I would recommend
the word "please" in your warnings, one simple word to let the player know you don't
mean to be confrontational, but they'll also be reminded of the fact they are a guest in
your house and you need to maintain order with proper behaviors.  In general, 99%
of the players who "lose it" on your server deserve the second chance.  The other 1%
will never learn the proper principals and values in playing a team game, and will forever
be combative with fellow players. These disruptive players move from server to server,
forever getting kicked and banned. It's part of their nature I guess. 
Unless you want to babysit, add them to the ban list and your firewall without hesitation.

ALWAYS remember to thank players and reinforce proper behavior.  Let the game see
you thank a player for switching teams to keep the game fair.   Again, be respectful and
you gain respect.  If I'm the low man on the red team, and I see "Scarab, please switch
to the blue team, teams are uneven", that's a whole lot better than seeing "Scarab, switch
to the red team or your ass is outta here you moron" :)

Limit RCON access to a few select and trusted people.  I've found most abuse it, and
those are limited to younger admins. Just watch behavior for patience and tolerance,
it's tough to find someone who can handle the "power" under 18 years of age,
but they exist.

As admin software is released for Q3A, I would recommend strongly you take advantage
of the advanced logging features. For now, regularly parse the IP logging and have it
entered in a database to keep track of players and IP addresses.  You'll need this information
when problem players continually access your server, and when you need to ban the IP.
Yes, you can ban players with dynamic IP addressing, but they don't know that.  The utilities
available in Q2 were incredible in the amount of detail logged from the client.  In Q3, it will
be even better. 99% of the players do not know about how much information is logged, and
this will work in your favor.  Don't abuse the information, but certainly use it to easily identify
 problem players.

"You can't please all the people all the time." You will constantly be manipulated to make
changes to your server, usually by a very select few players. If your server is full, it's full
for a reason.  Be very careful in trying new things as a result of suggestions. I've seen way
too many things abused when I've made changes as a result of a suggestion.
As an example, the "vote" command was entirely abused by the players on my LMCTF server.
Spamming "VOTE NOW YOU GUYS" was what I saw continuously when 1 or 2 players didn't
like the map.  The priviledge to vote for a map was completely abused, so I disabled it. The
younger & immature players can't handle
responsibility sometimes. You have to realize all players have different opinions on each map,
some will like, some will dislike. The same principle applies to just about every other facet of
this game.  They'll want their own skins, their own colors, their own maps, their own teammates,
their custom pak files loaded on your pure server,
etc., etc., etc.   You'll have to learn this one by trial and error.

More server related stuff:

Server preparation
Put this setting in your server.cfg file unless you're running a server side mod. I understand
from several mod developers there are some issues with PURE SERVER
which could cause problems if it's set to 1.
set sv_pure 1
Examples of Server Side Mods include Alliance FlagMatch and Matchmod. Please consult the
mod documentation for details.
Setting up a server is very simple. Getting the server settings customized is a whole other
story!!! It would be a whole lot easier if the folks who made the game gave us some detailed
information. What you'll see here is a result of hours of testing and experimentation.
The easiest way to start up your server, is to use the menu when you start Quake 3.
Choose MULTIPLAYER and click on CREATE at the bottom of your screen.
Within 30 seconds, you'll have a server. You can then use the menu to select some
custom settings, but this is very basic.
If you really don't want to mess with manually setting up the server config file, check
out the Quake3Arena Server Configurator, it's an excellent way to use a gui front end
to set up your server config file..

This is a new feature in the multiplayer setup screen. If the pure server option is "ON,"
then all clients must have the identical .pak file the server has. This was implemented to
prevent cheating and hacking. Setting up a server with this off will enable any pak file
configuration to enter the game. The .pak file is a very large compressed file that contains
all of the games assets. Users can uncompress the file using the program WinZip.
But it has the potential in allowing some players to implement cheats available to them,
I've seen them in practice, and they are cheats unless all players know it's available and
have the equal opportunity to use it. Imagine having a radar screen on your HUD, and
able to see where enemy players are behind walls and doors? You're chasing an enemy
flag carrier, get to a door only to meet with an exploding rocket fired a second before
the door even opened. Now it's a great tool if all the players have it, and the playing
field is level.
Running sv_pure 1 protects you, the gamers, from hacked pack files and cheats that are
capable via pack files. The sv_pure option works like this: if it's turned off, any
pak file is visible that the client has; with sv_pure 1, however, only the pak files located
on the game server are allowed on that particular server, so if you want your favorite HUD
replacement available to you in game see if the server admin will load it to their baseq3
directory. Otherwise the custom HUD is rendered useless.
However players with the HUD can still join and play. Since the latest point release you no
longer will get kicked back to the main menu if you have other pak files; that was a bug
in the code that id fixed.
One way to properly deal with this entire issue, is to make the server pure and make available
to all players the special paks you will allow them to use. If you like a particular custom HUD
and sound effects, put it on your web site for download. The other is to review and install
submitted pak files from your player community. (side note: Please be aware, if you're an
admin, you'll need to verify that the client pack files submitted to you are legit, and not pak
file that may have a cheat in it.)
This topic will stir emotions in everyone playing the game. My personal feeling is I think ID's
heart is in the right place. As an operator myself, it's important to me we minimize cheating.
However, I also realize the need and desire to customize your client. There has to be a happy
medium somewhere. Some very talented people have indeed designed some pretty cool HUD's
and other add-ons. I hope we'll see a compromise in future updates. There has to be one.
If not, we'll have a fragmented
community with limited availability on servers depending on what group of players you belong
to, pure vs non-pure.


The non-dedicated server is one on which you can play. For instance, a LAN or any home user
could set up their own server and have friends join to play. Again, the easiest way is to just start
up Q3A, choose Multiplayer from the menu, then find the CREATE button in the lower right. This
is the simplest way to do it.
Now you can get fancy and set up all kinds of stuff with your server config file. But if you want to
start a non-dedicated server from a windows shortcut, the command line looks basically like what
I have below. Keep in mind, you'll need to use NotePad or another text file editor to create a server
config file with all the settings you want.
In this example, I've named it myserver.cfg
"C:Program FilesQuake III Arenaquake3.exe" +exec myserver.cfg
To customize your server, you'll need this config file. The quake server execution commands above
will also include an exec of the specified config file. So it will load your settings for any type of
game you've specified in the config. Geez, this all sounds so confusing!!!
Open an existing CTF.CFG file or make a new one in a text editor (like Notepad).
I've included my Alliance CTF.CFG at my website for you to cut and paste, or adjust
as necessary. // hash marks are commented/remarked lines. Simply remove the // marks
if they are in front of a "set" command you want to enable. Otherwise, they are disabled
if preceded by the hash marks.
Go through and make the appropriate changes for variables you want to enable or
disable. NOTE: Some of the variables are for Alliance CTF mod only in this example and are noted so.

NOTE: You cannot play on your own system if you make it a dedicated server. It's
"dedicated" to just serving up the game to incoming players.
The variable after the DEDICATED command determines if your server is broadcasted
to the ID Master. 1=NO 2=YES If you want players to see your server on Gamespy, set this variable to 2
Free For All
quake3.exe +set dedicated 1 +set com_hunkmegs 16 +exec ffa.cfg
quake3.exe +set dedicated 1 +set com_hunkmegs 12 +exec tourney.cfg
Team Deathmatch
quake3.exe +set dedicated 1 +set com_hunkmegs 16 +exec teamplay.cfg
Capture The Flag
quake3.exe +set dedicated 1 +set com_hunkmegs 26 +exec ctf.cfg
If you are on a multi-homed server and the default IP is not what you want to use for
your Quake 3 server, the net_ip command will need to be used. This must be set on
the command line in the following form.
Usage: +set net_ip "youripaddressgoeshere"
Sample: quake3.exe +set dedicated 1 +set net_ip
Changing the default server port requires the net_port command be run on the command
line. It is useful for running multiple servers on the same computer or making the server
somewhat more private. The default port is 27960 and is incremented automatically by 1
if another server is started without a specified port.
Usage: +set net_port "portnumbergoeshere"
Sample: quake3.exe +set dedicated 1 +set net_port 27961


Server settings are only used only on the server and may be used at the console or command
line. Command line usage requires a set before each command. For
example: set sv_maxclients 16
Sets the maximum amount of clients that can connect to the server. The default setting is 8.
Setting should be increased for large free for all, team deathmatch, or CTF
maps. Usage: set sv_maxclients 16
Increase this number if you add private clients.
Sets the number of private clients who can connect on a full server. The private
clients are included in the maxclients setting. So if maxclients is set to 8, and
privateclients is set to 2, only 6 players can join to fill the server. The last 2 slots
are reserved for privateclients (i.e., Admins, refs, server operators. Usage: set
sv_privateclients 2
Sets a privateclient password on the server so only privateclients that know the
password can connect to the server. Clients use the set privatepassword command
in their config file to connect. The default is for no password required. Set to "" for
no password. Better yet, eliminate the line item, or precede the line with // to remark it out.
Usage: set sv_privatePassword "xxxx"
Sets the password for general player/public access. Players need to put SET
PASSWORD xxxx in the client side config file to access the server. This is the general
password for access, not the PrivateClient password setting. Usage: set g_password "xxxx"
Sets the server name that will show up in the master server list. The name must be
enclosed in quotes if a space is in the name. Way too often this is left blank. Use this
to tell people the name of your server. Usage: set sv_hostname "yourservernamehere"
Sets the primary master server to which your server reports. The default is
master3.idsoftware.com and it is not recommended that this be changed.
Additional master servers can be added with the sv_master2 through 5 command.
The maximum number of masters that can be reported to is 5. Usage: set sv_master2
Sets the maximum allowable rate a client may have set when connected to the server.
The default is 0, which is no limit. A suggested setting is 10000 so server bandwidth
is not used up by high speed clients, thus allowing modem players to have a smoother
game. Usage: set sv_maxRate 10000
See top of this page for details. This controls crc/zip check of client pk3 files to make
sure the pk3 file has not been modified for cheating or other purposes. Client pk3 files
must match that of the server to connect. The default is set to 1, or on. Set to 0 to turn
off check. Usage: set sv_pure 1

Generally, all game commands must be entered after the level loads either in the config
file or on the command line/console. Exceptions include the g_gametype and
g_motd command. The following are the most useful game commands for a dedicated
Note: These config commands must begin with the "set" command.
g_warmup - sets the amount of time in seconds that players may practice before the
actual tournament match starts. The default is 20 seconds. This lets players
disconnect and keeps one player who is first to connect from grabbing a flag or quad.
Usage: set g_warmup <#seconds>
g_friendlyFire - determines if players can damage their own teammates. Set to 1 to
allow players to damage their own teammates. Set to 0 so players can not damage
their own teammates. Setting has no effect for free-for-all or tournament modes. A
setting of 1 is suggested for team deathmatch, while a setting of 0 is suggested for
Capture The Flag. Especially if it's a public server.
Usage: set g_friendlyFire
g_gametype - controls the type of gameplay (free for all, tournament, team deathmatch,
CTF). The default is 0, which is for free for all. Set to 1 for tournament 1 on 1
mode. (2 is Single Player) Set to 3 for team deathmatch mode. Set to 4 for CTF mode.
Usage: set g_gametype 4
g_motd - sets the message that clients will see when they first connect to
your server. AVOID using punctuation marks of any kind, but keep the message in quotes.
Usage: set g_motd "Don't be lame just play the game"
g_log - sets the name of the server log file. The default is games.log and does not need
to be modified unless running multiple dedicated servers on the same computer.
Usage: set g_log <filename.ext>
g_quadfactor - used to set multiples of damage caused by the quad damage
powerup. The default is 3 times damage, with 1 being equal to no quad damage powerup.
Decimals may be used (e.g. 0.25). Last time I checked, quad meant 4 right?
Why is 3 the default?
Usage: set g_quadfactor <#>
g_syncronousclients - syncs all clients up to allow demo recording. The default is
the more desired 0 which allows smoother net play. Set to 1 to allow client demo
Usage: set g_syncronousclients 0
g_weaponsrespawn - used to set the number of seconds between the time a
weapon is picked up and the time it respawns. The default is 5 seconds in free
for all and should only be modified if a free for all server has a large number of
players on it, in which case lower it slightly. It is not recommend that it be set to
0 or modified for other game types. Turn on weapon stay if you want weapons
to remain on the map and leave this command out.
Usage: set g_weaponrespawn <#seconds>
g_allowvote - enable players connected to the server to call for and vote
on changes including: map, map restart, kick, and g_gametype. The default
is 1, which is on. Set to 0 to turn off voting.
Usage: set g_allowvote 0

Note: Also referred to as RCON if you want to control the server remotely.
Server console commands are used from the server console or the remote console.
status - shows the client number (num), score, ping, player name (name),
client IP address (address), and port connected through (qport). Client number is used in
conjunction with the kick command.
Server Console Usage: status
Client Console Usage: rconpassword xxxx status
(where xxxx is the actual password)

kick - removes a player from the server. Particularly useful for removing
disruptive players. To kick a player, first find the number (num)
associated with the player name via the status command.
Server Console Usage: kick playernumberhere
Client Console Usage: rconpassword xxxx kick playernumber
(where xxxx is the actual password)



rconpassword scarab kick 12
The player number 12 would have been the player identified with the status command.
In this example, scarab is the password.