Server Configuration - server.cfg
Your server configuration file contains all of the detailed settings for the server. There are some basic ones provided with ET, which you WILL need to customise (at the very least to change the rcon password and server name). I have provided an example of a much more heavily customised file, ET_server.cfg. It is only an example cfg, intended for reference - if you want to use it directly you'll need to customise at least the following sections: Passwords & Clients, Public Info and MOTD, and also remove the comments from the PB lines. If you have any problems opening the file, it is basically a .txt file and any text editor or web-browser should be able to read it (at worst, rename extension to .txt).
Note the capital letters in ET_server.cfg, and how the same capitals have been used in the shortcut above. Always use the correct case, although best practice would be to use lower case for everything.
// Example/Reference ET Server Configuration File
// by DaveGOD ~ www.rtcw.co.uk
//
// MUST customise!
set sv_fps "20"
set username "NotForYouToKnow"
// PASSWORDS & CLIENTS
set sv_maxclients "22"
set sv_privateclients "2"
set g_password ""
set g_needpass "0"
set sv_privatepassword "privpass"
set rconpassword "rconpass"
// MASTER SERVERS TO REPORT TO
set sv_master1 "etmaster.idsoftware.com"
set sv_master2 "master.gamespy.com:27900"
set sv_master3 "master0.gamespy.com"
set sv_master4 "clanservers.net"
set sv_master5 ""
// SETS/PUBLIC INFO
// stuff that shows up in server info,
// too many "sets" can crash server, esp large ones.
sets g_needpass "0"
sets sv_pure "1"
sets .IRC "#yourchannel @ network"
sets .Admin "You're Name"
sets .Email "you@domain.com"
sets .URL "http://www.site.com"
sets .Host "http://www.host.com"
sets "URL" "http://www.site.com"
// MOTD ETC
// max length is "12345678901234567890123456" w/o codes
set sv_hostname "name of server"
set server_motd0 "^B.........................."
set server_motd1 "^B. ^&welcome ^B."
set server_motd2 "^B. ^&message ^B."
set server_motd3 "^B. ^&a.k.a. ^B."
set server_motd4 "^B. ^&motd ^B."
set server_motd5 "^B.........................."
// RATE & DOWNLOADS
set sv_maxRate "13000"
set sv_lanforcerate "0"
set sv_allowDownload "1"
set sv_dl_maxRate "25000"
set sv_wwwDownload "0"
set sv_wwwFallbackURL ""
set sv_wwwBaseURL ""
set sv_wwwDlDisconnected "0"
// MISC SETTINGS
set server_autoconfig "0"
set g_antilag "1"
set g_altStopwatchMode "0"
set g_complaintlimit "6"
set g_IPcomplaintLimit "4"
set g_disableComplaints "7"
set g_fastres "0"
set g_friendlyFire "1"
set g_minGameClients "0"
set g_voiceChatsAllowed "5"
set g_warmup "40"
set g_doWarmup "0"
set g_inactivity "300"
set g_spectatorInactivity "600"
set sv_floodProtect "1"
set sv_pure "1"
set sv_minping "0"
set sv_maxping "0"
set match_latejoin "1"
set match_minplayers "0"
set match_mutespecs "0"
set match_readypercent "0"
set match_timeoutcount "0"
set match_warmupDamage "1"
set pmove_fixed "0"
set pmove_msec "8"
set fraglimit "0"
// TEAMS
set g_autofireteams "1"
set g_teamforcebalance "1"
set g_noTeamSwitching "0"
set g_heavyWeaponRestriction "20"
set team_maxplayers "0"
set team_nocontrols "1"
// LMS ~ settings for last man standing mode
set g_lms_currentMatch "0"
set g_lms_roundlimit "3"
set g_lms_matchlimit "2"
set g_lms_lockTeams "0"
set g_lms_followTeamOnly "1"
set g_lms_teamforcebalance "1"
// MAX LIVES ~ settings for limited life servers
set g_maxlives "0"
set g_alliedmaxlives "0"
set g_axismaxlives "0"
// VOTING
set g_allowVote "0"
set g_voteFlags "0"
set vote_limit "0"
set vote_percent "50"
set vote_allow_comp "0"
set vote_allow_pub "0"
set vote_allow_gametype "0"
set vote_allow_kick "1"
set vote_allow_map "0"
set vote_allow_mutespecs "0"
set vote_allow_muting "1"
set vote_allow_matchreset "0"
set vote_allow_nextmap "0"
set vote_allow_referee "0"
set vote_allow_shuffleteamsxp "1"
set vote_allow_swapteams "0"
set vote_allow_friendlyfire "0"
set vote_allow_timelimit "0"
set vote_allow_warmupdamage "0"
set vote_allow_antilag "0"
set vote_allow_balancedteams "0"
// PUNKBUSTER
// dont use set or quotes with PB.
//pb_sv_enable
pb_sv_autoUpdBan 1
pb_sv_CQC 1
pb_sv_KickLen 2
PB_SV_MaxConDls 4
PB_SV_MaxDlRate 4
Pb_sv_noguidgrace 30
pb_sv_updategrace 300
pb_sv_guidrelax 0
pb_sv_scoreKick -9
pb_sv_specname ETTV
// NAMES
pb_sv_dupNameGrace 20
pb_sv_changePeriod 20
pb_sv_changeMax 5
pb_sv_EmptyName 0
pb_sv_minName 1
pb_sv_extChar 1
pb_sv_badname 20 TEAMMATE
pb_sv_badname 20 teamate
pb_sv_badname 20 disguised
pb_sv_badname 20 disguised
pb_sv_badname 20 disgised
pb_sv_badname 20 desguised
pb_sv_badname 20 desgised
pb_sv_badname 0 teamkill
// PB CVAR RESTRICTION
pb_sv_CvarFreq 6
pb_sv_CvarLogging 2
pb_sv_CvarWalk 1
pb_sv_CvarUserPulse 99
pb_sv_CvarChangedPulse 99
pb_sv_cvarempty
pb_sv_cvar rate IN 2500 25000
pb_sv_cvar snaps IN 20 40
pb_sv_cvar cl_maxpackets IN 15 100
pb_sv_cvar cl_timenudge IN 0
pb_sv_cvar cl_freelook IN 1
pb_sv_cvar cl_yawspeed IN 0 140
pb_sv_cvar cl_pitchspeed IN 0 140
pb_sv_cvar m_pitch OUT -0.015 0.015
pb_sv_cvar m_yaw IN -0.022 0.022
pb_sv_cvar cg_bobup IN 0 0.005
pb_sv_cvar cg_errordecay IN 100
pb_sv_cvar cg_shadows IN 0 1
pb_sv_cvar cg_fov IN 90 125
pb_sv_cvar r_flares IN 0 1
pb_sv_cvar r_primitives IN 0 2
pb_sv_cvar r_nv_fogdist_mode INCLUDE NV
pb_sv_cvar r_detailTextures IN 0
pb_sv_cvar r_clamptoedge IN 1
// PB SCREENSHOT
pb_sv_AutoSs 0
pb_sv_AutoSsFrom 300
pb_sv_AutoSsTo 1500
pb_sv_SsFloor 1
pb_sv_SsCeiling 900
pb_sv_SsDelay 0
//pb_sv_SsPath
pb_sv_SsWidth 320
pb_sv_SsHeight 240
pb_sv_SsXpct 50
pb_sv_SsYpct 50
pb_sv_SsSrate 1
// BANS
set g_banIPs ""
set g_filterBan "1"
pb_sv_banload
// LOGGING
set g_log "servername.log"
set logfile 2
set g_logsync 0
// WATCHDOG
set com_watchdog_cmd "exec maprotate.cfg"
// MAP ROTATION
exec maprotate.cfg
|
- leave, ET is NOT Q3, and breaks if sv_fps != 20.
- number of players *including* private slots
- number of reserved slots (e.g. for admin)
- pass required to connect if g_needpass is 1.
- set to 1 to require password to join.
- change this - pass for reserved player slots
- change this - pass for remote console access!
- for showing up on server browsers
- tell's ASE etc wether the server is passworded
- so it shows up in server info (optional)
- your IRC channel + server here (optional)
- Make it your IRC or site nick maybe (optional)
- You're email address (optional)
- your website here (optional)
- host website here (optional)
- your website here (optional)
- (note 1) looks like:
- see Hosting Custom Maps & Mods
- Ceiling for client rates (kb/s), ET benefits from more
- 1 forces maximum rate for clients on LAN to server*
- 1 allows players to download missing files
- download rate for players getting your custom files, 25000=cap.
- set to 1 if you set the two below, allows download via web [faster].
- give a webpage URL for info/files or leave blank to DL from server
- e.g. "http://www.yoursite.com" if .pk3 files at yoursite.com/etmain/
- disconnect player whilst DL'ing? Suggest 0 if small, 1 if large files
- off; see osp doc for setting at 1&2 (public & match).
- 1 enables the antilag coding, mostly liked in ET
- 1 means ABAB stopwatch instead of ABBA.
- how many F1 complaints before player kicked (Detail)
- number of different IPs complaining to kick player (Detail)
- disable complaints for teamkills by mines(1), airstrike/ffe(2), mortar(4)
- 1 means no 3 sec invinciblity on medic revive
- players take damage from teammates
- 0 means dont need x players to start game
- prevents voice chat flooding
- 40sec delay until round starts
- 0 means dont have to "ready" to begin warmup
- e.g. 300 will kick players idle for >300 seconds
- e.g. 600 will kick spectators idle for >10 minutes
- prevents flooding (ignore with ETPro mod)
- referenced files must be same as server
- can set a min ping to keep out LPB
- can set a max ping to keep out HPB
- wether players can join match in progess
- minimum # of players per team
- 1 stops players viewing spec global chats
- % of players needed to be "ready" to start
- no. of pauses allowed (for clanwars really)
- 1 means players can be killed during warmup
- 1 stops bunnyhop fps dependency but buggy in ET
- leave
- Q3 relic, maybe can be used for duel/DM servers??
- players auto join "fire teams" (player can change anyway)
- players can't join the larger team
- 1 = cant swap teams; for limited life server really
- restrict heavy weapons, try 20 or so. See Weapons Restrictions.
- maximum players on any team
- 1 prevents "readyteam", "pause" etc by players (not ref)
- set this to limit lives per player
- set this to limit lives for allies team
- set this to limit lives for axis team
- see Voting.
- redundant, use g_voteflags instead
- controls all non-osp voting
- # of votes per map, resets on successful mapvote...
- % of players on server to pass a vote (nonvoters=votes against)
- vote to load rtcw osp competition settings
- vote to load rtcw osp public settings
- vote stopwatch/obj/campaign etc
- vote to kick a player
- vote to change to specific map
- vote to silence spectators
- vote to mute those players who just wont STFU
- vote to reset match (contrast with map_restart)
- vote to skip this map
- vote a player to ref level
- shuffles players by their EXP to even up skills
- swap the teams around
- vote to allow/disallow team damage
- vote to change timelimit
- vote to allow/disallow damage in warmup
- vote to (dis)enable antilag code
- vote to force equal player numbers (or not to)
- Enables PB, using +set sv_punkbuster 1 in startup line is better
- PB bans set by admins are saved & remembered on reset
- Lets clients query server settings, required even for pb_cvarlist
- PB kicks will last 2mins (default)
- max number of updates PB will attempt to download concurrently
- max speed (KB/s) PB updates will download
- kick a player with no guid in seconds (0-300)
- kicks a player with no updated status (300-600)
- 0 kicks for wrong ip, unknown and duplicate guids
- score lower than this and PB will kick player.
- PB relaxed for cameraman spectatator named ETTV-whatever
- sec's allowed to change name if name copying
- Works with pb_sv_changemax
- Kicks for >5 namechanges in 20 seconds.
- player must have a name
- playername must be > 1 character (no "^1" names)
- Allows names using extended ASCII characters
- players cant have any of these words in their name
and have 20 seconds "grace" to change if they do.
- see Cvar Restrictions
- Toggle automatically taking screenshots from all players
- Min # of secs between auto Ss (each player!)
- Max # of secs between Ss (each player!)
- Low Ss filename serial number (starting number for filename)
- High Ss filename serial number (high-low= max # of ss files stored)
- max time client waits before taking Ss
- can specify path where screenshots are saved
- width of Ss in pixel
- height of Ss in pixel
- % from top of screen the center of Ss should be
- % from left of screen the center of Ss should be
- sampling rate for Ss (increase reduces quality & filesize)
- can specify IP's to ban, see Banning Players
- toggle allowing those IP's to connect
- loads PB ban list file, (pbbans.dat)
- make logfile the name of server for convenience
- if for any reason (i.e. error) there is no map
loaded, watchdog will kick in and run the specified
command; so set it to re-exec your map rotation file.
- run the map rotation, see Map rotations & campaigns
|
Note 1: Regarding server names, message of the day, and suchlike -
It really helps if public servers make clear exactly what sort of game they’re offering. Quite often it’s not clear, and people don’t get the game they expect or want.
Bongoboy - Game Designer, Splash Damage
Note for LAN Servers Without Internet Access
If you are setting up a server for some LAN gaming and there is no internet access available, make sure the server does not have dedicated set to 2 on the command line/shortcut, which is only for an internet dedicated server. +set dedicated 1 will set it as a LAN-only dedicated server.
Also completely disable http redirects -
set sv_wwwDownload "0"
set sv_wwwDlDisconnected "0"
set sv_wwwBaseURL ""
set sv_wwwFallbackURL ""
If you want to force all LAN-connected clients to a high rate and maxpackets (instead of using their usual configs which are liable to be set with internet play in mind), set sv_lanforcerate to 1.
* Note the game may force clients to ignore their cl_maxpackets setting and send a snapshot per frame if their IP is similar to the servers', even if sv_lanforcerate is 0.
If you are going to run PB, you may also wish to manually update punkbuster prior to running the gameserver, and you should probably set PB_SV_LanMask if there are any LAN clients connecting to your server:
PB_SV_LanMask [IP Subnet Mask]
This setting is used for Internet Servers that also have local LAN game clients connecting; it should be set to hold the subnet of the LAN; for example, if the LAN IP Addresses are 192.168.1.x, then set pb_sv_lanmask to 192.168.1
(source: PB admin manual).
Note also it might be an idea for clients to disable the game's autoupdate (set cl_autoupdate 0) when there is no internet access.
|