As such, below is a code listing for what I would consider a good layout and execution of a .config. And and all critique/improvements welcomed:
Code: Select all
configname "defaults"
init
{
setl sv_pure 1
setl g_altStopwatchMode 0
setl g_autofireteams 1
setl g_complaintlimit 6
setl g_doWarmup 1
setl g_fastres 0
setl g_filtercams 1
setl g_friendlyFire 1
setl g_gametype 3
setl g_gravity 800
setl g_heavyWeaponRestriction 100
setl g_ipcomplaintlimit 3
setl g_knockback 1000
setl g_landminetimeout 0
set g_minGameClients 2
setl g_noTeamSwitching 1
setl g_spectatorInactivity 0
setl g_speed 320
setl g_teamforcebalance 0
setl g_voiceChatsAllowed 99
setl g_warmup 20
setl g_alliedmaxlives 0
setl g_axismaxlives 0
setl g_maxlives 0
setl g_enforcemaxlives 1
setl g_medicChargeTime 45000
setl g_engineerChargeTime 30000
setl g_LTChargeTime 40000
setl g_soldierChargeTime 20000
setl g_covertopsChargeTime 30000
set logfile 1
set g_log "match.log"
set sv_allowDownload 1
setl sv_minping 0
setl sv_maxping 0
setl sv_cheats 0
setl team_maxMortars 2
setl team_maxFlamers 2
setl team_maxmines 7
setl team_maxMg42s 2
setl team_maxPanzers 2
setl team_maxriflegrenades 2
setl team_maxplayers 6
setl team_nocontrols 0
setl match_latejoin 1
setl match_minplayers 2
setl match_mutespecs 0
setl match_readypercent 100
setl match_timeoutcount 2
setl match_timeoutlength 180
setl match_warmupDamage 2
setl pmove_fixed 0
setl pmove_msec 8
setl g_allowVote 1
setl vote_limit -1
setl vote_percent 50
setl vote_allow_antilag 0
setl vote_allow_balancedteams 0
setl vote_allow_cointoss 1
setl vote_allow_config "*"
setl vote_allow_friendlyfire 0
setl vote_allow_gametype 0
setl vote_allow_kick 1
setl vote_allow_map 1
setl vote_allow_matchreset 1
setl vote_allow_mutespecs 0
setl vote_allow_muting 0
setl vote_allow_nextmap 0
setl vote_allow_referee 1
setl vote_allow_shuffleteams 0
setl vote_allow_swapteams 1
setl vote_allow_timelimit 1
setl vote_allow_warmupdamage 1
setl b_antiwarp 1
setl b_banners 0
setl b_customVoiceChat 1
setl b_damagexp 1
setl b_fallingbugfix 1
setl b_fixedphysics 1
setl b_fixedphysicsfps 125
setl b_floodMaxCommands 6
setl b_headshot 0
setl b_intermissiontime 40
setl b_intreadypercent 70
setl b_match_warmupjoin 0
set b_multiview 1
setl b_noskillupgrades 0
setl b_panzerlevelup 1
setl b_privatemessages 3
setl b_pronedelay 0
setl b_riflegrenades 1
setl b_shove 80
setl b_shove_noz 1
setl b_spectatornames 1
setl b_statsaver 1
setl b_stickycharge 1
setl b_xpstopwatch 0
set b_watermark "league/watermark"
set b_watermarkFadeAfter 40
set b_watermarkFadeTime 5
setl b_defaultskills ""
setl b_levels_battlesense "20 50 90 140"
setl b_levels_engineer "20 50 90 140"
setl b_levels_medic "20 50 90 140"
setl b_levels_fieldops "20 50 90 140"
setl b_levels_lightweapons "20 50 90 140"
setl b_levels_soldier "20 50 90 140"
setl b_levels_covertops "20 50 90 140"
setl b_mapscriptdirectory "etpromapscripts"
setl b_mapconfigdirectory ""
set b_anticheat 1
setl b_cheatkicktime -1
set b_cheatlog "cheats.log"
set nextmap ""
command "pb_sv_enable"
command "sv_cvarempty"
command "pb_sv_cvarempty"
command "pb_sv_kicklen 1"
command "sv_cvar cg_bobup IN -0.005 0.005"
command "sv_cvar cg_errordecay EQ 100"
command "sv_cvar cg_fov IN 90 120"
command "sv_cvar cg_shadows IN 0 1"
command "sv_cvar cl_freelook EQ 1"
command "sv_cvar m_pitch OUT -0.015 0.015"
command "sv_cvar m_yaw IN -0.022 0.022"
command "sv_cvar r_clampToEdge EQ 1"
command "sv_cvar r_ext_ATI_pntriangles EQ 0"
command "sv_cvar r_ext_texture_filter_anisotropic EQ 0"
command "sv_cvar r_flares IN 0 1"
command "sv_cvar r_nv_fogdist_mode INCLUDE NV GL_EYE_RADIAL_NV"
command "sv_cvar r_primitives IN 0 2"
}
map default
{
setl g_userTimeLimit 15
command "forcecvar r_drawfoliage 1"
setl b_moverscale 1
setl g_useralliedrespawntime 0
setl g_useraxisrespawntime 0
}
map radar
{
command "forcecvar r_drawfoliage 0"
}
map fueldump
{
setl b_moverscale 1.5
}
There's also a bunch of set's no longer needed. For example, sv_fps is forced in etpro to 20 - no point setting it. sv_floodprotect is superceeded by the b_floodMaxCommands cvar, etc.
The per-map settings at the bottom are an example only, though turning off grass on radar should be a feature all leagues use. To see why:
http://homepages.inspire.net.nz/~evans/ET/radar.html
The etpro team have already certified several .config's:
http://themuffin.net/etpro/MGL.config
http://themuffin.net/etpro/etcl.config
http://themuffin.net/etpro/maxlives.config
When going through your league .config, note the following:
- Any cvar that isn't a number (vote_allow_config, b_watermark, b_levels_medic etc) must have quotes around it's value, even if its value is a single number.
- XP levels lists shouldn't have comma's in them (b_levels_medic etc)
- Putting cvars in groups alphabetically as above makes it a LOT easier to maintain and verify.
- Make sure there's an extra endline at the end of the file (after the closing '}')
- TEST YOUR .CONFIG - you can do this simply by putting it in your /etpro/configs dir, and starting your et.exe with +set dedicated 2 +exec server.cfg (or whatever), then calling the .config with /config NAME. The console will report any major syntax errors in the .config
- Make sure to include ALL relevant gameplay-related cvars. That means pretty much everything in the above listing.
- In order to get the .config certified, you will need a copy of the .config linked from your leagues' website (to ensure that it is indeed the official league .config).
I'll update this as I think of things....
hf