RTCW Server Setup Guide
- July 21st, 2012
- Posted in Return to Castle Woflenstein
- Write comment
I decided to archive the entirety of the RTCW Advanced Server Setup Guide from its original home on planetwolfenstein.com. Sadly, as we pass the 10 year anniversary of the release of RTCW, critical sites and services continue to drop offline – even those that are intergral to the game (such as the master server heartbeat). I am taking preventative measures to ensure information isn't lost. In any case, if anyone would like me to remove any of this content, just let me know. I updated various parts below.
Step 1: Create a WolfMP.bat file
wolfMP.exe +set dedicated 2 +set net_IP XXX.XXX.X.X +set net_port 27960 +set com_hunkMegs 64 +set com_zoneMegs 24 +set vm_game 0 +exec server.cfg
./wolfded +set dedicated 2 +set net_IP XXX.XXX.X.X +set net_port 27960 +set fs_basepath ./ +set com_hunkMegs 64 +set com_zoneMegs 24 +set vm_game 0 +set ttycon 0 +exec server.cfg
NOTE: For BOTH win/linux: (DO NOT USE the net_IP OR net_Port on your command line unless you're on a multi-homed system).
Make sure to insert your server's I.P. address where the X's are. The standard port is 27960, but if you already have a q3 server on that port just use 27961.
Step 2: Create a default.cfg file

Step 3: Create a server.cfg file
// Public Info exec public.cfg // Server Config seta sv_pure 1 seta com_hunkMegs "1024" seta com_soundMegs "32" seta com_zoneMegs "32" // General Settings (extras) seta sv_maxRate "8000" //this overrides the autoexec.cfg setting seta g_maxGameClients "0" seta g_minGameClients "2" seta sv_allowDownload "1" //server must be pure seta sv_reconnectlimit "3" seta g_forcerespawn "15" seta sv_timeout "60" //amount of time before assuming a disconnected state seta sv_padPackets "0" // General Settings seta sv_maxclients "16" seta sv_privateClients "2" seta sv_fps "20" seta g_friendlyFire "1" seta g_warmup "5" seta sv_zombietime "1" seta g_inactivity "120" // Logs seta g_log "logs/games.log" seta logfile "1" //console log - 0=no log 1=buffered 2=continuous 3=append seta g_logsync "1" // Voting seta g_allowVote "1" seta g_complaintlimit "3" // Extras seta sv_maxPing "0" seta sv_minPing "0" seta sv_floodProtect "1" seta sv_screenshake "5" //the shaking of the video during explosions seta g_voiceChatsAllowed "4" // Server Passwords seta rconpassword "rconpasswordhere" seta sv_privatePassword "passwordhere" // Game Type Settings // Set the type of game: 5=Multiplayer 6=Stopwatch 7=Checkpoint seta g_gametype "6" seta timelimit "20" // Game Type Settings (extras) seta pmove_fixed "0" //leave this off seta pmove_msec "8" seta g_smoothClients "1" seta g_altStopWatchMode "0" // Game Play Default Settings seta g_enableBreath "1" seta g_complaintlimit "3" seta g_gravity "800" seta g_knockback "1000" seta g_speed "320" seta g_weaponRespawn "5" seta g_weaponTeamRespawn "15" //respawn time in seconds for team games seta dmflags "0" //8 (no falling damage) 16 (fixed FOV) 32 (no footsteps) // uncomment to make some of them public sets g_gravity "800" //sets g_knockback "1000" //sets g_speed "320" //sets g_weaponrespawn "5" //sets g_weaponTeamRespawn "15" // Match Settings seta g_maxlives "0" seta g_doWarmup "1" seta g_warmup "10" //10 seconds of free frag time :) // Team Preferences seta g_teamAutoJoin "0" seta g_teamForceBalance "1" seta g_friendlyFire "0" seta g_noTeamSwitching "0" // Punk Buster // Turn it On/Off (ENABLE/DISABLE) PB_SV_ENABLE // change to PB_SV_DISABLE to turn off // Start the Game Map // exec MapRotate.cfg exec maps.cfg vstr e01 // Wolf Specific // more settings can be found in the .script and .arena files // in the maps and scripts directory in the .pk3's. Extract them to // the mainmaps mainscripts dir and edit to your delight. :-) // The settings listed below WILL NOT stick, given here as an example // of what to edit in the maps .script and .arena files seta g_bluelimbotime "30000" seta g_redlimbotime "40000" writeconfig wolfconfig_mp.cfg wait // Banned Players seta g_filterBan "1" exec banned.cfg
Step 4: Create a Maps.cfg file
// note: all standard Wolfenstein maps listed except single player maps // add custom map rotations under different letter combinations // MP Maps set m01 "set g_gametype 5; map mp_assault; set nextmap vstr m02" set m02 "map mp_base; set nextmap vstr m03" set m03 "map mp_beach; set nextmap vstr m04" set m04 "map mp_castle; set nextmap vstr m05" set m05 "map mp_depot; set nextmap vstr m06" set m06 "map mp_sub; set nextmap vstr m07" set m07 "map mp_village; set nextmap vstr m01"//back to top // CP Maps set c01 "set g_gametype 7; map mp_assault; set nextmap vstr c02" set c02 "map mp_base; set nextmap vstr c03" set c03 "map mp_depot; set nextmap vstr c04" set c04 "map mp_destruction; set nextmap vstr c05" set c05 "map mp_sub; set nextmap vstr c06" set c06 "map mp_village; set nextmap vstr c01" //back to top // Custom Maps - get them here set t01 "set g_gametype 5; map carnage_castle_final; set nextmap vstr t02" set t02 "map mp_generator; set nextmap vstr t03" set t03 "set g_gametype 7; map mp_trenchtoast; set nextmap vstr t04" set t04 "map silo_base; set nextmap vstr t01" //back to top // Everything in all possible gametype combinations :-) set e01 "set g_gametype 5; map mp_assault; set nextmap vstr e02" set e02 "set g_gametype 6; map_restart 0; set nextmap vstr e03" set e03 "set g_gametype 7; map_restart 0; set nextmap vstr e04" set e04 "set g_gametype 5; map mp_base; set nextmap vstr e05" set e05 "set g_gametype 6; map_restart 0; set nextmap vstr e06" set e06 "set g_gametype 7; map_restart 0; set nextmap vstr e07" set e07 "set g_gametype 5; map mp_beach; set nextmap vstr e08" set e08 "set g_gametype 6; map_restart 0; set nextmap vstr e09" set e09 "set g_gametype 5; map mp_castle; set nextmap vstr e10" set e10 "set g_gametype 6; map_restart 0; set nextmap vstr e11" set e11 "set g_gametype 5; map mp_depot; set nextmap vstr e12" set e12 "set g_gametype 6; map_restart 0; set nextmap vstr e13" set e13 "set g_gametype 7; map_restart 0; set nextmap vstr e14" set e14 "set g_gametype 7; map mp_destruction; set nextmap vstr e15" set e15 "set g_gametype 6; map_restart 0; set nextmap vstr e16" set e16 "set g_gametype 5; map mp_sub; set nextmap vstr e17" set e17 "set g_gametype 6; map_restart 0; set nextmap vstr e18" set e18 "set g_gametype 7; map_restart 0; set nextmap vstr e19" set e19 "set g_gametype 5; map mp_village; set nextmap vstr e20" set e20 "set g_gametype 6; map_restart 0; set nextmap vstr e21" set e21 "set g_gametype 7; map_restart 0; set nextmap vstr e22" set e22 "set g_gametype 5; map mp_generator; set nextmap vstr e23" set e23 "set g_gametype 7; map mp_trenchtoast; set nextmap vstr e24" set e24 "set g_gametype 5; map carnage_castle_final; set nextmap vstr e25" set e25 "set g_gametype 6; map_restart 0; set nextmap vstr e26" set e26 "set g_gametype 7; map_restart 0; set nextmap vstr e27" set e27 "set g_gametype 5; map silo_base; set nextmap vstr e28" set e28 "set g_gametype 6; map_restart 0; set nextmap vstr e29" set e29 "set g_gametype 7; map_restart 0; set nextmap vstr e01" //back to top sets nextmap "" //makes the nextmap public
Step 5: Create a Public.cfg file
// Server Config seta sv_hostname "SERVERNAME" seta g_motd "MESSAGE_OF_THE_DAY" // public info seta "Administrator" "ADMIN_NAME" seta "Email" "EMAIL_ADDRESS" seta "url" "URL" seta "Location" "LOCATION" seta "CPU" "CPU_DESCRIPTION" seta "icq" "ICQ_NUMBER" seta "Clan" "CLAN_NAME" seta "Connection" "CONNECTION_SPEED" seta username "kuato" //block out your computer account name // the default master server no longer works. // the extras below are included so browser will // show servers. Otherwise, no servers for you. seta sv_master1 "wolfmaster.idsoftware.com" //built in seta sv_master2 "master.gamespy.com:27900" seta sv_master3 "master0.gamespy.com" seta sv_master4 "clanservers.net" seta sv_master5 "wolfmaster.s4ndmod.com" writeconfig wolfconfig_mp.cfg wait
Step 6: Create a Autoexec.cfg, Banned.cfg, and Pbsv.cfg files
set devdll 1 set sv_pure "1" set bot_enable "0" //no bots available set sv_maxRate "8000" //here for safety set dedicated "2" set com_hunkMegs "70" // Wolf Specific - time in miliseconds set g_soldierChargeTime "10000" set g_LTChargeTime "20000" set g_engineerChargeTime "15000" set g_medicChargeTime "30000"
Create or edit a file named banned.cfg and save it to your /main directory:
// Banned Player IP's // Sadly there is a limit to how many peeps you can ban // id made the g_banIPs variable small in size :-( reset g_banIPs // Example: addip "xxx.xxx.xxx.xxx" writeconfig wolfconfig_mp.cfg wait
Create or edit a file named pbsv.cfg and save it to your /pb directory:
PB_SV_AutoSs "0" PB_SV_AutoSsFrom "60" PB_SV_AutoSsTo "1200" PB_SV_CQC "0" PB_SV_CvarChangedPulse "99" PB_SV_CvarFreq "1" PB_SV_CvarLogging "2" PB_SV_CvarUserPulse "99" PB_SV_CvarWalk "0" PB_SV_KickLen "60" PB_SV_LogAddr "" PB_SV_LogCeiling "250" PB_SV_LogPort "0" PB_SV_LogPw "" PB_SV_LogSync "0" PB_SV_LogUser "" PB_SV_MaxConDls "3" PB_SV_MaxDlRate "300" PB_SV_MsgPrefix "^3PunkBuster Server" PB_SV_Sleep "250" PB_SV_SsCeiling "100" PB_SV_SsCmd "" PB_SV_SsDelay "0" PB_SV_SsFloor "1" PB_SV_SsHeight "240" PB_SV_SsPath "" PB_SV_SsSRate "1" PB_SV_SsWidth "320" PB_SV_SsXPct "50" PB_SV_SsYPct "50"

Hi Brian!
Great info, thanks so much for sharing! I have a question. I want to change the spawn times for various maps, specifically mp_beach but the edits do not seem to have any sort of affect.
Can you elaborate more in these instructions?
/ Wolf Specific
// more settings can be found in the .script and .arena files
// in the maps and scripts directory in the .pk3's. Extract them to
// the mainmaps mainscripts dir and edit to your delight. <img src="http://i0.wp.com/brian-horning.com/wp-includes/images/smilies/icon_smile.gif" alt=":-)" class="wp-smiley" data-recalc-dims="1">
// The settings listed below WILL NOT stick, given here as an example
// of what to edit in the maps .script and .arena files
seta g_bluelimbotime "30000"
seta g_redlimbotime "40000"
I have have created a "scripts" and "maps" directory in my main and then extract the "maps" folder from PK3 files to "maps" folder in main and "scripts" folder in in PK3 files to "scripts" directory in main. Is this correct?
I don't see these lines to edit anywhere in any of the .scipt and .arena files :
seta g_bluelimbotime "30000"
seta g_redlimbotime "40000"
Sorry for the long post. I hope you reply and thanks again for the tutorial!
I have never had occasion to do this, but I know its possible. The limbotime commands will only “stick” in game when they are presented to the server via the .arena files that are embedded in a map .pk3 file.
So, to change the spawn times for beach I believe you need to create a new .pk3 file, something like “z_mp_beach.pk3”, and that .pk3 should contain a scripts directory with an edited copy of the original mp_beach.arena file.
Naming the file with “z_xxx” will ensure that it will load last, which is important because you want the modified mp_beach.arena file to be loaded into memory last, not the original one. This is how duplicate files are handled throughout RTCW. The last version loaded into memory, alphabetically, will be the version used.
Note: This will require players to download your custom .pk3 file, so you will want to ensure your server is set to allow downloads: seta cl_allowDownload “1”.
This is untested, but it should work. Good luck!