Installation Starting Q3F Running Servers Basic Configuration Troubleshooting

Running Servers

Q3F Servers can be ran in both dedicated and non-dedicated modes. For information on the Quake 3 aspects of running a Q3F server you should consult the documentation included with Quake 3 Arena (in the extras directory). This section deals with Q3F server specifics.

Generally, a non-dedicated server is used to run a server process on your machine that you too can also play on. You might use a non-dedicated server to play against friends on a LAN, or just to run around Q3F maps on your own.

A dedicated server is more suited to Internet or LAN use where many players will be connecting.

Special Note for Clan Matches:

Map_restart is currently broken. An alternative to prematch mode in the interim is to use 'admin ceasefire' in the following way::

  1. Join the server as a spectator
  2. Set the server rcon password in your client (/rconpassword <password>)
  3. Set g_dowarmup to 0 (/rcon g_dowarmup 0)
  4. Join a team (/team <team color>, or use the menu)
  5. Keep away from any doors to prevent them opening (it's better to just not move around at all)
  6. Use the admin command to set ceasefire on (/rcon admin ceasefire)
  7. Allow the teams to join the server - they will now not be able to leave spawns, until you remove ceasefire.
  8. When the match is to start, adjust timelimit to allow for the used time during ceasefire, and then turn off ceasefire using the admin command again (/rcon admin ceasefire)

This bug will be fixed by the upcoming Quake 3 Arena Point Release version 1.25+ - after this you will be able to use the much simpler g_dowarmup and g_warmup commands.

Q3F also supports a special ADMIN mode, which provides those with the admin password limited access to certain commands and features (such as free-flight spectating when spectator is disabled for normal players). For a full list of the commands available when auth'd as admin, type \admin <tab> at the console. these commands are also detailed in our Commands section.

 

Special Note on write permissions:

By nature of it's anti-cheating code, Q3F requires write access to files in the Q3F directory. Unfortunately Quake 3 currently suffers from a bug that results in a server crash (segment fault) if Q3F is unable to write to this file due to permissions. Please ensure that the user that Q3F runs as, has full write and create permissions in the Q3F directory.

Running a Q3F Non-Dedicated server

The easiest way to run a Q3F non-dedicated server, is from within Quake 3 itself. To do so, follow these simple steps:

  1. Connect to the Internet or ensure you have a suitable LAN connection.
  2. Insert the Quake 3 CD (you need this for non-dedicated servers)
  3. Start Quake 3 Arena
  4. Click the 'MODS' button on the Main Menu, select 'Q3F' from the list and then click the 'LOAD' button (Quake 3 may restart at this point)
  5. If you haven't done so already, configure your Q3F keyboard controls by clicking the 'SETUP' button, then 'CONTROLS' and then 'Q3F'. You'll be presented with a list of the basic Q3F commands which you'll need to assign keys to. For help on this see the 'Basic Configuration' sub-section, or the more advanced 'Commands' section.
  6. To start the non-dedicated server, click the 'MULTIPLAYER' button on the Main Menu which will take you to a server list. You'll probably need to hit your 'SPACE' key to halt the server update. Now click the 'CREATE' button. Select a map from the available selection, then on the next page, enter the settings you wish to use (such as capture limit time limit, server name etc). Click 'FIGHT' and you'll now be connected to your own server.

Running a Q3F Dedicated Server

To start a dedicated Q3F server you'll probably need to use the command line, or a desktop shortcut. Running a Q3F server is only a little more complex than running a standard Quake 3 Arena DM or CTF server. The key to smooth server operation lies in the q3f_server.cfg which includes all the Q3F specific commands that most server administrators will need. The q3f_server.cfg also includes the address of the dedicated Q3F master server - as such it's important that you consult this file, and use a command line as close as possible to the following if you're setting up a public server.

quake3 +set dedicated 2 +set fs_game q3f +exec q3f_server.cfg

The "+set dedicated 2" will ensure that your server reports to the Q3F dedicated master server. The "+set fs_game Q3F" tells Quake 3 to add the Q3F directory to the search path for PK3 files, while the "+exec q3f_server.cfg" executes a configuration file for the server.

Linux Note:

While a normal Quake 3 DM/CTF server loads special BOT support files with an .AAS extension, these are not yet present in Q3F. Linux servers have been known to crash as a result of this bug which is easily fixed by adding "+set bot_enable 0" to the command line. This will ensure that BOT support is disabled.

 

Q3F Server Commands and g_settings

There are a number of new commands available to Q3F Server Administrators to aid server management and game-play tweaking. The following is a list of Q3F specific server commands with brief descriptions:

g_banRules

Value = Integer, Default = 3. g_banRules allows you to specify the level of offense that results in a ban on your Q3F server. Values are: 0 = Dont ban for any offense, 1 = Ban only for Team Killing (and only if g_teamKillRules is set), 2 = Ban for Team Killing (if set), rate/snaps abuse (if set), dismantling team autosentries and lodCureError cheating, 3 = Ban for all offenses in 1 & 2 plus enable banning for failed Q3F CRC authentication check (hacked clients).

sv_minSnaps Value = Integer, Default = 10. By specifying the minimum snaps setting for clients connecting to the server, you can ensure that clients are unable to use snaps related cheats. Note that a client with a setting lower than the servers will receive an automatic temporary kickban for 2 minutes.
g_teamChatSounds 0=no sounds, 1=team-wide (mm2) comms wavs only, 2=team-wide (mm2) comms and speech, 3=global (mm1 & mm2) comms wavs only, 4=global (mm1 & mm2) comms and speach. Default=4. This command is used to allow or deny the use of Q3F wav communications - some Server Administrators disable these on public servers to stop the spamming of wavs.
g_execMapConfigs

1=enabale, 0=disable (default = 0). This CVAR is used to enable or disable the executing of map specific CFG files stored on the server. For example, by enabling this CVAR and placing a file called q3f_well.cfg in your server's that contained the command 'set sv_maxclients 20', the servers max-client limit would automaticaly be adjusted to 20, whenever the map was loaded.

g_mapVoteExcludeList This CVAR is used to exclude maps from the voting page that apears if the CVAR g_mapVote 1 is used. The value is stored with no spaces - for example 'g_mapVoteExcludeList q3f_oct1,q3f_r8duel1,q3f_sq1,q3f_cubic, q3f_thepit' would exclude all dueling maps from the servers map voting page, ensuring that a 20 player server doesnt end up with a 2 player map being played. Note that the limit of this value is 256 characters. As such we have also provided the CVAR g_mapVoteIncludeList so that you can specificly include maps, rather than exclude them - depending on which is the smaller list.
g_mapVoteIncludeList As g_mapVoteExcludeList but used to include specific maps. Note that the maps stored in the g_mapVoteExcludeList CVAR are given priority. For best results use only Include OR Exclude, not both - since naturaly they cancel each other out.
g_teamKillRules 0=Banning for excessive team-killing is disabled, 1=fast bans, 2=normal bans (default). Note that the equation used for determining whether somebody is killing their team mates on purpose is fairly complex, using an entity we refer to as 'heat'. When you kill a team mate you gain 'heat', and when you kill an enemy you lose heat. If you get too hot you get banned :) Essentialy this means that the occasional slaughter of a team mate is reasonable when involved in combat against the enemy team - if however a player simply kills their team mates for the sake of it (in other words to disrupt the game), then they will be banned when this CVAR is in use. We recomend the default of 2 for public servers, 0 for clan games, and 1 for servers where there have been lots of complaints about disruptive players.
sv_minRate Value=integer (bits per second) Default=1500. This CVAR is used to set on the server to stop people setting very low rates to make themselves less visible - this should resolve the "lower-rate-to-bypass-autosentry" cheat.
g_mapVote 1=enable map voting screen at the end of each map, 0=disable map voting screen. This CVAR will scan the server's Q3F directory for all present maps, and then select up to ten at random to display on a vote menu to all players. This function may also be used by rconers and admins by using the 'rcon mapvote' and 'admin map vote' commands.
g_showTeamBalance 1=enable, 0=disable. Displays a warning to all players when teams become unbalanced.
g_teamFrags 1=team frags only displayed, 0=individual frags displayed. This setting determines the method of scoring for the server. Using Teamfrags will stop players from being able to see their own indivudual frags and *might* encourage more team-play.
g_adminPassword Value=alphanumeric. This setting is used to specify an additional password to allow for limited administrative control of the server. Holders of this password will be able to kick and ban players, but will not be able to use any other RCON commands.
g_class<clasname>Limit Value=integer, 0=none, -1=unlimited. This setting is used to detremine the maximum number of each class allowable per team. etting a sniper limit of 2 is popular to stop sniper wars. You could also move these to a map specific cfg (eg: q3f_forts.cfg) and then set limits based on each map - to do this you would need to exec q3f_forts.cfg as part of the set d1 "map q3f_forts ; set nextmap vstr d2" line in the q3f_server.cfg.
g_suicideDelay Value=integer, default=7. The delay after suicide that player must wait before respawning.
g_spectatorMode 0 = everyone who is spectator, and not has joined a team yet, can float free through the level. They can't use teamdoors though. 1 = only admins who are spectator, and have not joined a team yet, can float free through the level. This command is usefull for clan matches to ensure that players are not able to switch to spectator mode and scout out the enemy defense etc. Default = 0.
g_friendlyFire Effects how much damage is done to teammates by friendly fire. Default = full, other values include: half, armor/amour, mirrorfull, mirrorhalf, and mirrorarmor. you can also clear this CVAR and disable team damage completely by setting it to 0.

For a complete list of the other Quake 3 commands that relate to running a dedicated Q3F server and their recommended settings, please see the q3f_server.cfg file included in this distribution.

To communicate with other Q3F Server Administrators and seek support on any issues relating to running a Q3F server, stop by the Server Admin Forum on the Q3F website.