[rtcw.co.uk logo] homelink


Map rotations & Campaigns: Automatically Shuffling (or swapping) Teams


The command to shuffle (mix) teams in Enemy Territory server configurations is shuffle_teams. What it does is re-arrange all players on the server, trying to balance out the total experience points for each team. I'm not going to say it balances out the teams particularily well, but a shuffle can break a situation where one team is grossly superior to the other, and can also add some freshness when teams have become stale. On the other hand, when teams are good it can break that up too.

To use, simply insert the shuffle_teams command it into the rotation script - in the right place. If you are looking to swap teams (axis become allies and vice-versa), simply substitute swap_teams in for shuffle_teams.


This is an example of a stopwatch rotation, that shuffles teams after every map:

// STOPWATCH ROTATION

// WATCHDOG
set com_watchdog_cmd "vstr m1r1 ; say watchdog found no map running - restarted mapcycle"


// MAP

set b_mapscriptdirectory etpromapscripts

set m1r1 "g_gametype 3; map oasis; shuffle_teams; set nextmap vstr m1r2"
set m1r2 "map_restart 0; set nextmap vstr m2r1"

set m2r1 "g_gametype 3; map goldrush; shuffle_teams; set nextmap vstr m2r2"
set m2r2 "map_restart 0; set nextmap vstr m3r1"

set m3r1 "g_gametype 3; map radar; shuffle_teams; set nextmap vstr m3r2"
set m3r2 "map_restart 0; set nextmap vstr m4r1"

set m4r1 "g_gametype 3; map railgun; shuffle_teams; set nextmap vstr m4r2"
set m4r2 "map_restart 0; set nextmap vstr m5r1"

set m5r1 "g_gametype 3; map supplydepot; shuffle_teams; set nextmap vstr m5r2"
set m5r2 "map_restart 0; set nextmap vstr m6r1"

set m6r1 "g_gametype 3; map caen; shuffle_teams; set nextmap vstr m6r2"
set m6r2 "map_restart 0; set nextmap vstr m1r1"

vstr m1r1

// END STOPWATCH ROTATION


For a campaign rotation, to shuffle inbetween campaigns:

// CAMPAIGN ROTATION - official campaigns with shuffle

// WATCHDOG
set com_watchdog_cmd "vstr d_initial ; say watchdog found no map running - restarted mapcycle"

// MAP

set d1 "shuffle_teams ; campaign cmpgn_northafrica ; set nextcampaign vstr d2"
set d2 "shuffle_teams ; campaign cmpgn_centraleurope ; set nextcampaign vstr d1"

set d_initial "set g_gametype 4 ; map oasis ; set nextcampaign vstr d2"
vstr d_initial

// END CAMPAIGN ROTATION

Note you may notice a breif oddity when the teams are shuffling (particularily between campaigns), where the server says "server restarting". This is normal and no problem. ETPro mod has introduced a further shuffle command, shuffleteamsxp_norestart, which shuffles teams without restarting the round. This MAY remove the "server restarting" message, and may be preferable in the stopwatch rotation also (map should be in the warmup phase anyway) but I haven't had chance to test it.

Shuffling during campaigns would probably require ETPro mod and it's mapdefault scripting, but this is probably unwise to do, since apparently when mapdefault scripts or the mapdefault section of a .config is used, it can shuffle not only before the warmup, but also after the warmup finishes and the round starts. Regardless, perhaps an automated shuffle would not be in the spirit of a campaign. Another possibility is ETAdmin_Mod, which is actually a server script that can run alongside ETPro or Shrub mods, in addition to running on vanilla ET. Note ETAdmin_Mod requires a Linux server running Pearl.

<< BACK: Map Rotations |


Contents

Enemy Territory & RTCW UK