![]() |
![]() |
7.0.0 - Server Administration
7.1.0 - Before you start
You must have the latest Quake 3 Point Release installed (Currently 1.32, 1.32b for Linux). If not, you can find the latest ones here:
ftp://ftp.idsoftware.com/idstuff/quake3/
From there, just choose the appropriate folder (win32, linux, etc)
Also, make sure you've downloaded the full RQ3 3.0 package and any updates (3.1, 3.2, etc.) needed which you can download from any link on the RQ3 website:
http://www.reactionquake3.com/
NOTE: Do NOT use any of the files or configurations from RQ3 1.x. Remove all those files prior to installing RQ3 3.0 or you may have odd conflicts and problems with your server. You may use configs from the 2.x versions of RQ3 but you may need to edit them.
7.2.0 - Sample server launch commands
For Win32, you can create a Bat file in Notepad to be saved in your Quake 3 directory with the following information:
====================Cut Here=======================
Quake3.exe +cvar_restart +set net_port 27960 +set vm_game 2 +set fs_game rq3 +set dedicated 2 +exec example-rq3.cfg
====================Cut Here=======================
In this example, we'll save the file as rq3.bat in your Quake 3 directory and create a shortcut to the desktop of that.
[Note: Set Dedicated [1=Don't advertise to Master Servers(Private)/2=Advertise to Master Servers(Public)]
For Linux, create a new file in your Quake3 dir and type in the following using your favorite linux text editor:
====================Cut Here=======================
./q3ded +cvar_restart +set net_port 27960 +set fs_homepath /usr/local/games/quake3 +set fs_basepath /usr/local/games/quake3 +set vm_game 2 +set fs_game rq3 +set dedicated 2 +exec example-rq3.cfg &
====================Cut Here=======================
Save the file as rq3, and make it executable (ex. chmod +x rq3)
7.3.0 - Sample server.cfg file
Now, here's the generic server.cfg that is called by the above "command" files, this is placed within your "rq3" directory:
====================Cut Here======================= // Default RQ3 Server Configuration File // Double slashes are used for comments and to keep commands from running. // Remove the slashes before a specific to run that command. // Non-standard cvars for server ping tools //sets Website "http://www.reactionquake3.com/" //sets Location "YourTown, USA" //sets Admin "cf@reactionquake3.com" //sets Connection "T-1" // set host name that shows up in server list. seta sv_hostname "My very own RQ3 v3.1 - Teamplay" // set message of the day that players see while connecting to the server. Must be set before // level loads. seta g_motd "RQ3 v3.1 - Teamplay" // Toggle Unlagged on/off server side (0 - off/1 - on) seta g_delagHitscan 1 // Toggles Unlagged Server-side trueping - More accurate than hardware ping seta g_truePing 1 // 0 = FFA, 4 = TP, 5 = CTB seta g_gametype 4 // Toggles TP/DM Style weapon/item selection in TeamDM (0 - TP style/1 - DM style) seta g_RQ3_tdmMode 0 // set voting. 1=on, 0=off (Default: 1) seta g_allowvote 0 // set how many times a client can vote each map rotation (default: 3) seta g_RQ3_maxClientVotes 2 // set time to wait after maxClientvotes is hit to issue another vote seta g_RQ3_vote_waittime 30 // set friendly fire mode. 1=on, 0=off (Default: 0) seta g_friendlyfire 0 seta g_logsync "0" // turn on banning by ip seta g_filterban 1 // name your logging file seta g_log "rq3_server.log" // turn on/off pak cheat check. 1=on, 0=off (Default: 1) seta sv_pure 1 // set fraglimit. Set to 0 for no limit. seta fraglimit 0 // set timelimit. Set to 0 for no limit. seta timelimit 20 // set the spawn farthest dmflag seta dmflags 512 // set Maximum number of clients seta sv_maxclients 16 // change this to 1 to allow clients to download paks from your server seta sv_allowdownloads 0 // here you can set the server rcon password (DO THIS!) //seta rconpassword "changeme" // this is for private games. only clients with this password can connect (blank means no password) //seta g_password "changeme" // set max allowable rate for a client. 8000 to 10000 recommended. Max: 25000 (Default: 0) seta sv_maxRate 10000 // set requirement for client password. 1=require password, 0=no password required (Default: 0) seta sv_privateClients 0 // set password for private server "" for no password seta sv_privatePassword "changeme" // Enables message flood checking. (0 - disabled, 1 - enabled (default)) seta sv_RQ3_messageProtect 1 // Time interval in seconds for message flood check after a // client's first message is sent. If sv_RQ3_messageMaxCount // is exceeded in this interval, the player is given a warning // or banned from messaging for a period of time. seta sv_RQ3_messageInterval 1 // Max number of messages allowed in sv_RQ3_messageInterval // seconds. If this is exceeded, the player is given a warning // or banned from messaging for a period of time. seta sv_RQ3_messageMaxCount 4 // Maximum number of warnings before a ban is initiated. seta sv_RQ3_messageMaxWarnings 1 // Timeout period for warning in seconds. seta sv_RQ3_messageWarnTime 15 // Timeout period for bans in seconds. Typically, this should // be longer than the warning time. If set to zero, // clients are disconnected from the server. Warnings // are reset after a ban is committed. seta sv_RQ3_messageBanTime 60 // RQ3 teamkill settings seta g_RQ3_maxteamkills 3 seta g_RQ3_twbanrounds 1 seta g_RQ3_tkbanrounds 1 // set this to 1 to activate MatchMode. g_gametype must be 4 for MatchMode seta g_RQ3_matchmode 0 // allow a referee in matchmode seta g_RQ3_AllowRef 1 // the number of allowed referees seta g_RQ3_maxRefs 1 // the referee's password //seta g_RQ3_RefPassword "changeme" // Max players per team. Additional people will be forced to be subs or spectators. 0 = disabled seta g_RQ3_maxplayers 0 // Matchmode setting, gives or takes away abilities from Captains. Use it like DMFLAGS. // MMF_TEAMNAME 1 // MMF_TEAMMODEL 2 // MMF_UNREADY 4 // MMF_SETTINGS 8 // MMF_VOTEREF 16 seta g_RQ3_mmflags 31 // Toggles blood splats being dropped from bleeding players. (0 - disabled (default), 1 - enabled) seta g_RQ3_bloodEject 0 // Maximum number of unique weapons a player can hold. seta g_RQ3_maxWeapons 2 // Maximum number of unique items a player can hold seta g_RQ3_maxItems 1 // Toggle for "All Weapons" mode (0 - off/1 - on) seta g_RQ3_allWeapons 0 // Toggle for "All Items" mode (0 - off/1 - on) seta g_RQ3_allItems 0 // Toggle for individual Weapon Banning - works like dmflags // g_RQ3_weaponban values: // MK23 1 // MP5 2 // M4 4 // M3 8 // HC 16 // SNIPER 32 // AKIMBO 64 // KNIFE 128 // GRENADE 256 // // 256+128+64+32+16+8+4+2+1 = 511 means all weapons allowed // Say I want to ban the sniper: // Sniper = 32, so I just leave "32" out and get: // // 256+128+64+16+8+4+2+1 = 479 seta g_RQ3_weaponban 511 // Toggle for individual Item Banning - works like dmflags // g_RQ3_itemban values: // SILENCER 1 // SLIPPERS 2 // BANDOLIER 4 // KEVLAR 8 // LASER 16 // HELMET 32 seta g_RQ3_itemban 63 // Toggle for using Kevlar Helmet on the server or not seta g_RQ3_haveHelmet 0 // Time in seconds for a player to be invulnerable after respawning. seta g_RQ3_respawnProtectTime 2 // Determines how long a player can remind idle before action is taken. 0 = disabled seta g_RQ3_ppl_idletime 0 // Determines what action will be taken against an idle player. // 0 = Play insane sound from Idle players location. // 1 = Team none the idle player. // 2 = Kick the idle player. seta g_RQ3_idleaction 0 // sniper control. set this to 1 to make players with sniper spawn with it // in stead of the pistol seta g_RQ3_sniperup 0 // team game countdown. set this to 1 to enable seta g_RQ3_tpcountdown 1 // gib settings. 0 = no gibs, 1 = sniper headshot gibs only. removes heads. // 2 = 1 + really hard HC hits gib players. 3 = players explode. seta g_RQ3_gib 3 // here you need to put the name of the .ini file you want to use if you are // running a dedicated server. seta g_RQ3_IniFile "example-rq3.ini" // Enable dedicated server-side logging of player statistics at the // end of each game session. Tracks a variety of statistics that can // be parsed for whatever needs. // 0 - disabled, 1 - enabled (default) // sv_RQ3_statLog [0/1] : (default: 1) set sv_RQ3_statlog 1 // enable grenades by setting this to 1 seta g_RQ3_tgren 1 // limit chasecam for the dead. (0 = off, 1 = team only, 2 = team eyes only) seta g_RQ3_limchasecam 0 // rotate the map when one of the teams wins this many rounds seta g_RQ3_roundlimit 0 // end the round after this many minutes seta g_RQ3_roundtimelimit 3 // use this seta g_RQ3_cvarfile "cvar.cfg" // show your own kill messages, 0 is like AQ2 1.5x and 1.0c, 1 is like TNG/Edition seta g_RQ3_showOwnKills 0 // force your team to talk in messagemode2 only seta g_RQ3_forceteamtalk 0 // add up to 4 additional master servers to report to seta sv_master4 "q3master.reactionquake3.com" seta sv_master3 "q3master.gamesinferno.com" seta sv_master2 "master0.gamespy.com" seta sv_master1 "master3.idsoftware.com" // And finally a map command to jumpstart the server. This map will be // loaded and after it ends, the rotation begins. map urban2 ====================Cut Here=======================
7.4.0 - Sample rq3.ini file
With Reaction 3.0 comes the addition of the rq3.ini file, which functions the in the same manner as the action.ini file from AQ2, but is much more functional. Below is a sample file, which is also placed in your "rq3" folder:
====================Cut Here======================= # This is an example TeamPlay ini for ReactionQuake3 servers. Lines begining # with '#' are comments. Everything after '//' on a line is also a comment. # This file is based on CannonFodder's rq3.ini # The ini should begin with a main section. The cvars here are global defaults. <main> timelimit 20 // The amount of time spent playing each map fraglimit 0 // Turn off fraglimit for a TP rotation! g_gametype 4 // 0 = FFA, 4 = TP, 5 = CTB g_friendlyfire 0 // 0 = FF off, 1 = FF on and 2 = FF off, knockback on g_RQ3_maxteamkills 5 // Number of teamkills before the player is kicked g_RQ3_twbanrounds 1 g_RQ3_tkbanrounds 1 g_RQ3_maxweapons 1 g_RQ3_roundlimit 0 // Max no. of rounds to play on each map (0 = no limit) g_RQ3_roundtimelimit 3 // Length of each round g_RQ3_tgren 1 // Number of grenades with the bandolier g_RQ3_limchasecam 0 </main> # Here we define the teams. First comes the name of the team, then the teams # model and skin. Format for model is: modelname/skin <team1> "Cops" reactionmale/default </team1> <team2> "Robbers" reactionmale/robber </team2> # And now the actual maprotation. Map specific cvars can be included within each # maps definition. After each map has finished, cvars are reset to values in the # <main> section. So if you change a cvar in a <map> section, you need to put it's # default in the <main> section. # Example: # <map> # mapname # cvar # cvar # ... # </map> <rotation> <map> city g_gametype 4 g_RQ3_team1model reactionmale/drscrotox g_RQ3_team1name "Thugs" g_RQ3_team2model grunt/resdog g_RQ3_team2name "Mafia" </map> <map> kumanru g_gametype 4 g_RQ3_team1model grunt/nut g_RQ3_team1name "Psychos" g_RQ3_team2model abbey/abbey g_RQ3_team2name "Sacrifices" g_RQ3_haveHelmet 1 </map> <map> theclub g_gametype 3 g_RQ3_team1model raver/raver g_RQ3_team1name "Ravers" g_RQ3_team2model reactionmale/drscrotox g_RQ3_team2name "Dudes" </map> <map> bumtown g_gametype 3 g_RQ3_team1model grunt/cyrus g_RQ3_team1name "Probationers" g_RQ3_team2model grunt/police g_RQ3_team2name "Police" </map> <map> jericho g_gametype 0 </map> <map> urban3 g_gametype 4 g_RQ3_team1model grunt/mason g_RQ3_team1name "Politicians" g_RQ3_team2model grunt/nut g_RQ3_team2name "Anarchists" g_RQ3_haveHelmet 1 g_RQ3_maxWeapons 1 g_RQ3_gib 3 </map> <map> archives g_gametype 4 g_RQ3_team1model mamimi/mamimi g_RQ3_team1name "Preppies" g_RQ3_team2model action/default g_RQ3_team2name "Mr. Gay" g_RQ3_maxWeapons 3 </map> <map> teamjungle g_gametype 5 g_RQ3_team1model grunt/mrt g_RQ3_team1name "Foreigners" g_RQ3_team2model reactionmale/nightops g_RQ3_team2name "Ninjas" g_RQ3_haveHelmet 1 </map> <map> bullmarket g_gametype 5 g_RQ3_team1model raver/raver g_RQ3_team1name "Socialists" g_RQ3_team2model grunt/resdog g_RQ3_team2name "Capitalists" g_RQ3_gib 3 </map> <map> waterfront g_gametype 4 g_RQ3_team1model abbey/abbey g_RQ3_team1name "Wet" g_RQ3_team2model mamimi/mamimi g_RQ3_team2name "Naked" </map> <map> atrium g_gametype 3 g_RQ3_team1model raver/raver g_RQ3_team1name "L.U.G's" g_RQ3_team2model reactionmale/drscrotox g_RQ3_team2name "Rainbow Alliance" </map> <map> chill g_gametype 4 g_RQ3_team1model commando/default g_RQ3_team1name "American Army" g_RQ3_team2model action/default g_RQ3_team2name "French Army" g_RQ3_haveHelmet 1 </map> <map> urban g_gametype 4 g_RQ3_team1model grunt/mrt g_RQ3_team1name "Mr. T Wanna Be's" g_RQ3_team2model abbey/abbey g_RQ3_team2name "Unf'er Wanna Be's" g_RQ3_gib 3 </map> <map> pitfall g_gametype 4 g_RQ3_team1model reactionmale/nightops g_RQ3_team1name "Blow Me" g_RQ3_team2model raver/raver g_RQ3_team2name "Go down" g_RQ3_maxWeapons 3 g_RQ3_weaponban 255 </map> <map> cliff g_gametype 3 g_RQ3_team1model grunt/kgb g_RQ3_team1name "Forgotten Heros" g_RQ3_team2model reactionmale/default g_RQ3_team2name "Death to All" g_RQ3_haveHelmet 1 g_RQ3_maxWeapons 1 </map> <map> vashes g_gametype 4 g_RQ3_team1model grunt/nut g_RQ3_team1name "Gas Attendant" g_RQ3_team2model grunt/resdog g_RQ3_team2name "Impatient Smoker" </map> <map> subway g_gametype 4 g_RQ3_team1model action/action g_RQ3_team1name "Bums" g_RQ3_team2model grunt/nut g_RQ3_team2name "Crazies" g_RQ3_gib 3 </map> <map> passin </map> <map> lighthouse </map> <map> friction </map> <map> countryclub </map> <map> tequila </map> <map> pastoral </map> <map> reactionmall g_gametype 5 </map> <map> blockwar g_gametype 5 g_RQ3_team1model grunt/police g_RQ3_team1name "Cops" g_RQ3_team2model reactionmale/robber g_RQ3_team2name "Robbers" g_RQ3_maxWeapons 3 </map> <map> alpinevalley </map> <map> deepcanyon2 </map> <map> sludge </map> <map> bank </map> <map> 420main </map> <map> urban2 </map> </rotation> # Matchmode commands - captain, ready, sub, teamname, teammodel, reflogin, ref, refresign ====================Cut Here=======================
7.5.0 - Launching and interacting with the RQ3 server
To launch the server:
In Win32, just double click on the rq3.bat file you created and the console should spawn and read in all the information from your server.cfg and rq3.ini files, and your game is started.
In Linux, cd to your quake3 directory and type the following command:
screen ./rq3
This will bring up a reaction server console which you can easily detach and go on to other things by typing the following: Ctrl-A D
To get back to the console after detaching it, type the following command at an linux shell prompt:
ps -auwx
and look a process similar to this following line:
scott 19241 0.5 0.1 2712 1348 ? S 13:54 0:00 SCREEN ./react
the #19241 is the process id, which you'll need if you run multiple screen processes:
To re-attach to the console type the following command:
screen -r <process id #> (ex. Screen -r 19241)
More in-depth and detailed installation/setup information will be forthcoming in the future. If you have any questions, please ask them here:
http://www.reactionquake3.com/phpBB2/viewforum.php?f=3
7.6.0 - List of server cvars
cvar name | default value | description |
g_RQ3_IniFile | "rq3.ini" | Specifies the name of the file that holds the server's map rotation. |
sv_RQ3_cvarfile | "cvar.cfg" | Specifies the name of the file that holds the server's cvar checks. Handy for leagues that require different restrictions--you can use different pre-made files on one server with relative ease to conform to restrictions from different leagues. |
g_gametype | 0 |
"0" - Deathmatch "3" - Team Deathmatch "4" - Teamplay "5" - Capture the Briefcase |
g_RQ3_tdmMode | 0 | TeamDM mode, 0 is TP-like where you can choose your own weapons and items, 1 is DM-like where you spawn with a pistol and knife and have to pick up the unique weapons placed on the map |
g_allowvote | 1 | Set voting by players on the server. 1=on, 0=off |
g_RQ3_vote_waittime | 15 | Blocks people from voting when a map first loads so they can't get a vote passed before other people connect in. Default is 15 seconds of blocking. |
g_RQ3_maxClientVotes | 3 | Number of times per map that each client can call votes/team votes |
g_RQ3_sniperup | 0 | Sniper control. Set this to 1 to make players with sniper spawn with it instead of the pistol. Set this to 0 to make the behavior exactly like AQ2 1.52 |
g_RQ3_ctb_respawndelay | 0 | Set delay of CTB respawns in seconds. When 0, scaling CTB respawn delay is active (recommended setting) |
g_friendlyfire | 0 | 0 = FF off, 1 = FF on, 2 = FF off, knockback on (Q3-style) |
g_RQ3_tpcountdown | 0 | Team game countdown. Counts down from 10 before a TP map starts. 1 to enable, 0 to disable. |
g_RQ3_showOwnKills | 0 | If enabled (set to "1"), players can see their own obituaries (see who they frag). Set to 0 to make the behavior exactly like AQ2 1.52. Also controls $K behavior--if set to "0" then $K will only report who was last HIT, not who was last KILLED. |
g_RQ3_matchmode | 0 | Setting to "1" enables Teamplay matchmode. Handy for clan matches/clan wars. Especially handy for league and ladder matches such as for OGL, BWAQSL, STA, PWG, PG, etc. |
g_RQ3_AllowRef | "1" | Set to "1" to allow a referee during matchmode. Set to "0" to disable referees in matchmode. |
g_RQ3_maxRefs | "1" | Allows for multiple referees. |
g_RQ3_RefPassword | "" | The password that official referees can use to become referees without being voted in during matches on your server. TREAT THIS LIKE A LIMITED RCON PASSWORD. |
g_RQ3_forceteamtalk | "" | Matchmode setting, forces players to talk to their team only. |
g_RQ3_mmflags | "31" | Matchmode setting, gives or takes away abilities from Captains. Use it like DMFLAGS. 1 - MMF_TEAMNAME 2 - MMF_TEAMMODEL 4 - MMF_UNREADY 8 - MMF_SETTINGS 16 - MMF_VOTEREF |
g_RQ3_maxplayers | "0" | Matchmode setting, sets the maximum allowed number of players on a team. 0 = disabled |
g_RQ3_ppl_idletime | 0 | Determines how long a player can remind idle before action is taken. 0 = disabled |
g_RQ3_idleaction | 0 | Determines what action will be taken against an idle player. 0 = Play insane sound from Idle players location. 1 = Team none the idle player. 2 = Kick the idle player. |
g_RQ3_roundlimit | 0 | The number of wins by one team before the map is ended. 0 = no limit |
g_RQ3_roundtimelimit | 2 | The number of minutes a round can go on before a winner is declared. 0 = no limit |
g_RQ3_maxWeapons | 1 | The maximum number of "unique weapons" a player can carry (the bandolier adds 1 to a player's max carry) |
g_RQ3_bloodEject | 0 | Toggles blood splats being dropped from bleeding players, 0 = disabled, 1 = enabled |
g_RQ3_gib | 1 | 0 = no gibs 1 = sniper headshot gibs only, removes heads. 2 = 1 + really hard HC hits gib players. 3 = players explode. |
g_RQ3_tgren | 0 | Sets the number of grenades that come with the bandolier in teamplay |
g_RQ3_limchasecam | 0 | If set to 1, will prevent all players on teams from free floating, or chase-camming enemy players. If set to 2, will prevent all players on teams from using the normal chase cam as well (only the through-eyes cam on teammates will be allowed). This variable should be set to 2 for clan matches, etc (default = 0) |
g_RQ3_maxteamkills | 0 | The maximum number of teammates a player can kill in one map before he is temporarily banned from the server. Only applies during friendly-fire enabled teamplay games. Players will also be banned for wounding teammates, if they wound 4*maxteamkills teammates. Setting this to zero disables the feature |
g_RQ3_tkbanrounds | 2 | The number of maps a player will be banned for when he is banned for killing teammates |
g_RQ3_twbanrounds | 2 | The number of maps a player will be banned for when he is banned for wounding teammates |
g_RQ3_respawnProtectTime | 2 | Protects players who spawn in during Deathmatch. Helps to avoid spawn camping. |
sv_RQ3_messageProtect | 1 | Enables message flood checking. 0 = disabled, 1 = enabled |
sv_RQ3_messageInterval | 3 | Time interval in seconds for message flood check after a client's first message is sent. If sv_RQ3_messageMaxCount (listed below) is exceeded in this interval, the player is given a warning or banned from messaging for a period of time. |
sv_RQ3_messageMaxCount | 6 | Number of messages in sv_RQ3_messageInterval it takes to trigger a warning/timeout. |
sv_RQ3_messageMaxWarnings | 3 | Maximum number of warnings before a ban is initiated. |
sv_RQ3_messageWarnTime | 15 | Timeout period for warning in seconds. |
sv_RQ3_messageBanTime | 60 | Timeout period for bans in seconds. Typically, this should be longer than the warning time. If set to 0, clients are disconnected from the server. Warnings are reset after a ban is committed. |
sv_RQ3_statLog | 1 | Enable dedicated server-side logging of player statistics at the end of each game session. Tracks a variety of statistics that can be parsed for whatever needs. 0 = disabled, 1 = enabled |
g_truePing | 1 | Uses a better ping-determination method for in-game ping display |
g_RQ3_haveHelmet | 0 | If set to 1, enables the Helmet as a choosable Item |
g_RQ3_maxWeapons | 1 | Sets an upper limit on how many unique/special weapons a player can pick up in-game from dead opponents and teammates |
g_RQ3_maxItems | 1 | Sets an upper limit on how many unique/special items a player can pick up in-game from dead opponents and teammates |
g_RQ3_allWeapons | 0 | If set to 1, allows all players to have all available and unbanned weapons |
g_RQ3_allItems | 0 | If set to 1, allows all players to have all available and unbanned items |
g_RQ3_weaponban | 511 | Values: MK23 = 1 MP5 = 2 M4 = 4 M3 = 8 HC = 16 SNIPER = 32 AKIMBO = 64 KNIFE = 128 GRENADE = 256 256+128+64+32+16+8+4+2+1 = 511 Say I want to ban the sniper: Sniper = 32, so I just leave "32" out and get: 256+128+64+16+8+4+2+1 = 479 |
g_RQ3_itemban | 63 | Values: SILENCER = 1 SLIPPERS = 2 BANDOLIER = 4 KEVLAR = 8 LASER = 16 HELMET = 32 Refer to g_RQ3_weaponban description above for usage of these values. |
7.7.0 - List of RQ3 3.0 player model/skins
7.8.0 - Explanation of message cvars
Basically for the defaults, if you commit 6 message lines within 3 seconds, you get a warning/timeout of 15 seconds. If you repeat 3 times, you get a ban - which is a 60 second timeout. After that, the warnings reset. The example configs have tightened it up to 4 message lines within 1 second to reduce spamming.
7.9.0 - cvar.cfg
The intent of these checks is to limit possible player abuse of the video cvars (r_*) which could ruin the game atmosphere.
cvar name minvalue maxvalue
Clients will have these cvar values polled during the course of the game. If a client's cvar does not have a value that falls within the minvalue and maxvalue range, he/she is disconnected indicating which cvar limits were exceeded.
Last updated: April 26, 2003