pluggable tournament config file format

ET Pro Documentation Project

Moderators: Forum moderators, developers, ET Pro Documentation

Post Reply
User avatar
bani
Site Admin
Posts: 2780
Joined: Sun Jul 21, 2002 3:58 am
Contact:

pluggable tournament config file format

Post by bani »

i'm designing a pluggable tournament config file format to go into the next etpro major release (2.1), so that league configs are no longer hardcoded.

If a league wants a config included in the 2.1 distribution, please submit to me your configs in this format.

here's an example of what the config looks like, using an adapted TWL stopwatch config:

Code: Select all

configname TWL-SW
init
{
        set g_gametype 3
        set sv_privateclients  0
        set g_minGameClients 8
        set sv_maxRate 25000
        set sv_dl_maxRate 42000
        set sv_floodProtect 0
        set sv_pure 1
        set sv_fps 20
        set g_heavyWeaponRestriction 20
        set team_maxMortars 2
        set team_maxFlamers 2
        set team_maxMg42s 2
        set team_maxPanzers 2
        set g_antilag 1
        set g_altStopwatchMode 0
        set g_autofireteams 0
        set g_complaintlimit 0
        set g_ipcomplaintlimit 0
        set g_fastres 0
        set g_friendlyFire 1
        set g_maxlives 0
        set g_alliedmaxlives 0
        set g_axismaxlives 0
        set g_teamforcebalance 0
        set g_noTeamSwitching 0
        set g_voiceChatsAllowed 99
        set g_doWarmup 1
        set g_warmup 30
        set g_spectatorInactivity 0
        set sv_minping 0
        set sv_maxping 0
        set match_latejoin 1
        set match_minplayers 4
        set match_mutespecs 0
        set match_readypercent 100
        set match_timeoutcount 1
        set match_timeoutlength 120
        set match_warmupDamage 2
        set team_maxplayers 0
        set team_nocontrols 0
        set pmove_fixed 0
        set pmove_msec 8
        set g_allowVote 1
        set vote_limit 99
        set vote_percent 51
        set vote_allow_comp 1
        set vote_allow_gametype 1
        set vote_allow_kick 1
        set vote_allow_map 1
        set vote_allow_matchreset 1
        set vote_allow_mutespecs 1
        set vote_allow_nextmap 1
        set vote_allow_pub 0
        set vote_allow_referee 1
        set vote_allow_shuffleteams 0
        set vote_allow_swapteams 1
        set vote_allow_friendlyfire 0
        set vote_allow_timelimit 1
        set vote_allow_warmupdamage 1
        set vote_allow_antilag 0
        set vote_allow_balancedteams 0
        set vote_allow_muting 1
        set b_defaultskills ""
        set b_noskillupgrades 0
        set b_shove 0
        set b_shove_noz 0
        set b_statsaver 1
        set b_intermissiontime 20
        set b_privatemessages 0
        set b_match_warmupjoin 0
        set b_xpstopwatch 0
        set b_multiview 1
        set b_stickycharge 1
        set b_spectatornames 1
        set b_mapscriptdirectory twl-sw
        set b_levels_battlesense ""
        set b_levels_engineer ""
        set b_levels_medic ""
        set b_levels_fieldops ""
        set b_levels_lightweapons ""
        set b_levels_soldier ""
        set b_levels_covertops ""
        set g_log comp-match.log

        command "pb_sv_enable"
        command "pb_sv_cvarempty"
        command "pb_sv_kicklen 1"
        command "sv_cvarempty"
        command "sv_cvar cl_maxpackets in 30 100"
        command "sv_cvar cl_timenudge eq 0"
        command "sv_cvar rate in 4000 25000"
        command "sv_cvar snaps in 20 40"
        command "sv_cvar cl_freelook eq 1"
        command "sv_cvar cg_bobup in 0 0.005"
        command "sv_cvar cg_fov in 90 120"
        command "sv_cvar cg_shadows in 0 1"
        command "sv_cvar cg_thirdperson eq 0"
        command "sv_cvar com_maxfps out 0.00001 40"
        command "sv_cvar m_pitch out -0.015 0.015"
        command "sv_cvar m_yaw eq 0.022"
        command "sv_cvar r_flares in 0 1"

        command "sv_cvar r_intensity in 1 1.5"
        command "sv_cvar r_mapoverbrightbits in 2 3"
        command "sv_cvar r_overbrightbits in 0 1"
        command "sv_cvar r_picmip in 0 3"
        command "pb_sv_cvar r_nv_fogdist_mode INCLUDE NV"
        command "sv_cvar r_primitives IN 0 2"
        command "sv_cvar cg_errordecay eq 100"

        command "sv_cvar r_drawentities eq 1"
        command "sv_cvar r_lightmap in 0 1"
        command "sv_cvar r_showtris eq 0"
        command "sv_cvar r_showmodelbounds eq 0"
        command "sv_cvar r_shownormals eq 0"
        command "sv_cvar r_wolffog eq 1"
}
map default
{
        set g_userTimeLimit 0
        set g_useraxisrespawntime 0
        command "forcecvar r_drawfoliage 1"
}
map fueldump
{
        set g_userTimeLimit 20
        set g_useraxisrespawntime 40
}
map radar
{
        set g_userTimeLimit 10
        command "forcecvar r_drawfoliage 0"
}
map battery
{
        set g_userTimeLimit 10
}
map goldrush
{
        set g_userTimeLimit 20
}
map oasis
{
        set g_userTimeLimit 15
}
map railgun
{
        set g_userTimeLimit 15
}
Some notes:

configname must be the first line of the file, it takes a single parameter -- the name of the tournament config. This would be displayed below the "waiting on X players" line in warmup as "TWL-SW Enemy Territory Match".

The init block is executed only once, when the config is loaded by referee or rcon/console. It is never reloaded.

The map blocks are loaded on every map_restart. The parameter is the mapname to match to. A parameter of default will execute that block for all maps. map blocks are executed in order from first to last. Generally you want your default block first, and then specific map blocks to override it.

Inside a block you may have two commands: set and command.

The set command takes two parameters. A cvar name and a cvar value. Any cvar value with spaces in it must be quoted.

The command command takes one parameter, the console command to execute. Any command with spaces in it must be quoted.
Last edited by bani on Sun Jan 11, 2004 8:55 pm, edited 2 times in total.
User avatar
Imbroglio
Posts: 369
Joined: Mon Sep 02, 2002 3:12 pm

Post by Imbroglio »

is that a limit i see placed on the fps, and why? :?:

i understand that certain jumps are made at high frame rates, but why 40, or is that TWL's doing?
Till DEATH do us Part
pack
Posts: 22
Joined: Sun Dec 14, 2003 1:42 pm

Post by pack »

thx for answer bani

---
Imbroglio wrote:is that a limit i see placed on the fps, and why? :?:

i understand that certain jumps are made at high frame rates, but why 40, or is that TWL's doing?
leftover from rtcw cvarchecks, it's a check on how low you can put the upperlimit of your fps. In RTCW this could be used for recoilscripts, in ET this check is kinda useless.

a good reference is
http://www.rtcw.jolt.co.uk/index.php?pa ... ow&id=4019
User avatar
gwg.Redef
Posts: 43
Joined: Sat Dec 13, 2003 4:10 am
Contact:

Post by gwg.Redef »

Bani, if we want a new league/ladder pluggable cfg with i.e. new xp skill levels settings... can we get it on the current etpro version? Or do we need to wait for the new one to be released?

Thanks.
#rtcw.no:ET and #rtcw.no @ Qnet
User avatar
gwg.Redef
Posts: 43
Joined: Sat Dec 13, 2003 4:10 am
Contact:

Post by gwg.Redef »

By the way, can we remove wolffog without punkbuster beeing a drag?

I.e.

map default
{
set g_userTimeLimit 0
command "forcecvar r_wolffog 0"
}

Is this possible?
#rtcw.no:ET and #rtcw.no @ Qnet
Bedrock
Posts: 140
Joined: Wed Sep 17, 2003 3:56 am

Post by Bedrock »

Imbroglio wrote:is that a limit i see placed on the fps, and why? :?:

i understand that certain jumps are made at high frame rates, but why 40, or is that TWL's doing?
No "jumps" are banned from TWL at this moment.

They are forced OUT of .00001 - 40 because under 40 fps it is alot easier to snipe. So easy that scripts were made to "+attack; com_maxfps 1; com_maxfps 125; -attack" <- No recoil on the sniper rifle.. :p
Image
User avatar
bani
Site Admin
Posts: 2780
Joined: Sun Jul 21, 2002 3:58 am
Contact:

Post by bani »

Bedrock wrote:They are forced OUT of .00001 - 40 because under 40 fps it is alot easier to snipe. So easy that scripts were made to "+attack; com_maxfps 1; com_maxfps 125; -attack" <- No recoil on the sniper rifle.. :p
this no longer works in ET, recoil is no longer FPS dependent.
User avatar
=FF=im2good4u
Posts: 3821
Joined: Wed Feb 05, 2003 7:30 am
Location: The Netherlands, HOLLAND
Contact:

Post by =FF=im2good4u »

Bedrock wrote:They are forced OUT of .00001 - 40 because under 40 fps it is alot easier to snipe. So easy that scripts were made to "+attack; com_maxfps 1; com_maxfps 125; -attack" <- No recoil on the sniper rifle.. :p
this give me a good idea :twisted:
User avatar
bani
Site Admin
Posts: 2780
Joined: Sun Jul 21, 2002 3:58 am
Contact:

Post by bani »

i've added 2 new features to the pluggable config.

configs can be certified by me 8) like microsoft-signed drivers. this way players will know the server config hasn't been tampered with.

also, the configs can lock cvars on the server, so the admin can't change them in the middle of a game. this keeps admins honest :P

the syntax for a locked cvar in a config is setl, league admins should think hard about which cvars really need locking and which do not.
User avatar
bani
Site Admin
Posts: 2780
Joined: Sun Jul 21, 2002 3:58 am
Contact:

Post by bani »

more notes:

etpro 2.1 always enforces sv_fps 20 and sv_floodprotect 0, so there's no point setting it in tournament config files.
User avatar
KingJackaL
Posts: 666
Joined: Thu Jan 08, 2004 3:47 pm
Location: ChCh, NZ
Contact:

Post by KingJackaL »

How likely are you to include configs from more minor leagues ( for example, 10-16 teams ), and by what time do you want the configs submitted? ( ASAP? )

Looks very nice though - good to have all that in one easy to read file. ( especially the mapdefault's - which tend to turn into lots of 2-line txt files :roll: )
User avatar
bani
Site Admin
Posts: 2780
Joined: Sun Jul 21, 2002 3:58 am
Contact:

Post by bani »

there's still plenty of time to get configs in, leagues should start posting proposed configs so I can critique them. i can also make changes to the format if there turns out to be problems with the syntax and/or league requirements.

leagues will get certified configs by publically posting them on their league website. i'll download it off their website and generate a certified config which they can then use.
User avatar
gwg.Redef
Posts: 43
Joined: Sat Dec 13, 2003 4:10 am
Contact:

Post by gwg.Redef »

N1 bani
Can we email the config to you? Or do you prefer not?

We could of course post it in this forum.

8)
Last edited by gwg.Redef on Sun Feb 01, 2004 4:58 am, edited 1 time in total.
#rtcw.no:ET and #rtcw.no @ Qnet
User avatar
gwg.Redef
Posts: 43
Joined: Sat Dec 13, 2003 4:10 am
Contact:

Post by gwg.Redef »

Here is the config format for clanbase.com & rtcw.no:

configname clanbase&rtcw.no
init
{
set g_gametype 3
set sv_maxRate 25000
set sv_floodProtect 0
set sv_pure 1
set sv_fps 20
set g_heavyWeaponRestriction 20
set team_maxMortars 1
set team_maxFlamers 1
set team_maxMg42s 1
set team_maxPanzers 1
set team_maxMines 7
set g_antilag 1
set g_voiceChatsAllowed 99
set g_doWarmup 1
set g_warmup 15
set g_spectatorInactivity 0
set sv_minping 0
set sv_maxping 0
set match_latejoin 1
set match_minplayers 4
set match_mutespecs 0
set match_readypercent 100
set match_timeoutcount 2
set match_timeoutlength 120
set match_warmupDamage 2
set team_maxplayers 0
set team_nocontrols 0
set g_allowVote 1
set vote_limit 99
set vote_percent 51
set vote_allow_comp 0
set vote_allow_gametype 0
set vote_allow_kick 1
set vote_allow_map 1
set vote_allow_matchreset 1
set vote_allow_mutespecs 1
set vote_allow_nextmap 1
set vote_allow_pub 0
set vote_allow_referee 1
set vote_allow_shuffleteams 0
set vote_allow_swapteams 1
set vote_allow_friendlyfire 0
set vote_allow_timelimit 1
set vote_allow_warmupdamage 1
set vote_allow_antilag 0
set vote_allow_balancedteams 0
set vote_allow_muting 1


set b_defaultskills ""
set b_noskillupgrades 0
set b_shove 0
set b_shove_noz 0
set b_statsaver 1
set b_intermissiontime 20
set b_privatemessages 0
set b_match_warmupjoin 0
set b_xpstopwatch 0
set b_multiview 1
set b_stickycharge 1
set b_spectatornames 1
set b_mapscriptdirectory clanwar
set b_levels_battlesense "20 90 140"
set b_levels_engineer "20 90 140"
set b_levels_medic "20 90 140"
set b_levels_fieldops "20 140"
set b_levels_lightweapons "20 90 140"
set b_levels_soldier "140"
set b_levels_covertops "20 90 140"

command "pb_sv_enable"
command "pb_sv_cvarempty"
command "pb_sv_kicklen 1"
command "sv_cvarempty"

command "sv_cvar cl_freelook EQ 1"
command "sv_cvar cl_maxpackets IN 30 100"
command "sv_cvar cl_timenudge EQ 0"

command "sv_cvar rate IN 5000 25000"
command "sv_cvar snaps IN 20 40"

command "sv_cvar cg_bobup IN 0 0.005"
command "sv_cvar cg_fov IN 90 120"
command "sv_cvar cg_shadows IN 0 1"
command "sv_cvar cg_thirdperson EQ 0"

command "sv_cvar com_maxfps GE 40"

command "sv_cvar m_pitch OUT -0.015 0.015"
command "sv_cvar m_yaw EQ 0.022"

command "sv_cvar r_allowextensions EQ 1"
command "sv_cvar r_ati_fsaa_samples EQ 0"
command "sv_cvar r_ati_truform_tess EQ 0"
command "sv_cvar r_drawentities EQ 1"
command "sv_cvar r_drawfoliage 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_gamma IN 1 3"
command "sv_cvar r_intensity IN 1 1.5"
command "sv_cvar r_lightmap IN 0 1"
command "sv_cvar r_mapoverbrightbits IN 0 3"
command "sv_cvar r_overbrightbits IN 0 1"
command "sv_cvar r_picmip IN 0 3"
command "sv_cvar r_showtris EQ 0"
command "sv_cvar r_showmodelbounds EQ 0"
command "sv_cvar r_shownormals EQ 0"

}
map default
{
set g_userTimeLimit 0
set b_moverscale 1
command "forcecvar r_wolffog 0"
}
map fueldump
{
set g_userTimeLimit 20
set b_moverscale 1.5
}
map radar
{
set g_userTimeLimit 15
}
map battery
{
set g_userTimeLimit 15
}
map goldrush
{
set g_userTimeLimit 20
set b_moverscale 1.5
}
map oasis
{
set g_userTimeLimit 20
}
map railgun
{
set g_userTimeLimit 15
}

-------------------------------------------------------------------------------------


You can find me or any other www.rtcw.no ET league admins (with op) @ Quakenet #rtcw.no:ET.
You can also find representatives from www.clanbase.com @ Quakenet #clanbase.et - and msg [CB]NoOne.

Please let us know of any flaws or syntax error etc. 8)


Best regards,
gwg|redef
www.rtcw.no ET league admin
User avatar
bani
Site Admin
Posts: 2780
Joined: Sun Jul 21, 2002 3:58 am
Contact:

Post by bani »

you may want to consider locking most of those cvars
eg team_maxpanzers g_antilag etc
as stated before, etpro 2.1 enforces sv_fps 20 so theres no need to put it in the config.
Post Reply