// **************************
// *
// Auto-scramble settings *
// *
// **************************
// Enables/disables the automatic scrambling.
gs_autoscramble "1"
// Auto-scramble only after a full round has completed.
gs_as_fullroundonly "1"
// If a teams wins with a frag ratio greater than or equal to this setting, trigger a scramble
// 0 = disables this check
gs_as_hfragratio "
2.0"
maybe a bit harsh? not a very good measurement on full server games, where points per minute and co. is a better indication, but it would work better when the server is just getting filled - see minimum number of players settings below.
// Starts a scramble vote instead of scrambling at the end of a round
gs_as_vote "0"
the whole point of this exercise is to get things as automated as possible. but if it's still not working as well as we would like, this could be pretty useful.
// If a team wins in less time, in seconds, than this, and has a frag ratio greater than specified: perform an auto scramble.
// 0 = disables this check
gs_as_wintimelimit "
120.0"
frag ratio required below. if you lose Granary in two minutes, you're doin it wrong. redundant for payload maps and, to a leser extent, CTF maps. hard to balance for smaller games though (see setting for minimum players)
// Lower kill ratio for teams that win in less than the wintime_limit.
gs_as_wintimeratio "
0.1"
a team that wins that quickly is obviously alot better; frag ratio doesn't come into it.
// If the average score difference for all players on each team is greater than this, then trigger a scramble.
// 0 = disables this check
gs_as_playerscore_avgdiff "10.0" *******
// If a team has this many more dominations than the other team, then trigger a scramble.
// 0 = disables this check
gs_as_domination_diff "
0"
// If enabled, trigger a scramble if a team never captures the point in koth mode
gs_as_koth_pointcheck "0"
// **************************
// *
// global scramble settings *
// *
// **************************
// Minimum people connected before scrambles are possible
gs_as_minplayers "
12"
sounds like a good number. a little higher if anything.
// If enabled, teams will scramble at the end of the 'waiting for players' period
gs_prescramble "0"
// If a scramble happens during setup, restore the setup timer to its starting value
gs_setup_reset "1"
guess this is for when admins using !scramble; means medics can get their uber up properly.
// Sets if admins and people with uber and engie buildings are immune from being scrambled.
// medics + enginneers are not immune during scrambles at the beginning of the round
// 0 = no immunity
// 1 = just admins
// 2 = charged medics + engineers with buildings
// 3 = admins + charged medics and engineers with buildings.
gs_scramble_immune "
0 OR 2"
way I see it:
admins: shouldn't be exempt. being exempt stops us from knowing how well the system is working, and so how we can improve.
medics: 99 percent of the time, medics win games. period. from experience, the team with a medic, or more than one medic, will pretty much always beat the team without, unless the skill imbalance is very very big indeed. having charged medics shouldn't matter because A) any medic makes a huge difference, charged or uncharged, and B) it will only come into play whenever an admin uses !scramble, what with the scrambler only kicking it at the end of rounds and all. therefore, the difference between 0, 2 and 3 regarding medics is negligible.
engi: on one hand, there have been complaints about people being switched after getting all their stuff constructed - and this can be annoying. on the other hand, a level three sentry is can be a major factor in determining how well either team is doing. even just having a teleporter or dispenser up an make a load of difference, so for the sake of getting a good balance, you wouldn't want them exempt.
tl;dr version - if you prefer having a better balancing system over people getting annoyed by being balance whilst they have their engi stuff up, pick 2. if it's vice versa, pick 0.
// If a scramble-now happens during setup time, fill up any medic's uber-charge.
gs_setup_recharge "
0"
setup time is reset to the beginning anyway, so medics should have plenty of time to get a charge up.
// Player scramble sort mode.
// 1 = Random
// 2 = Player Score
// 3 = Player Score Per Minute.
// 4 = Player Kill-Death Ratios
// 5 = Swap the top players on each team, controlled by gs_top_swaps
// 6 = Choose randomly one of the above sort modes.
// This controls how players get swapped during a scramble.
gs_sort_mode "
3"
as I've explained, the most decisive factor here is the medics on the team. medics characteristically score the highest in the team, so option 5 could work; however, they also get the highest score per minute. score per minute is the better option because it can better identify newly-joined medics who haven't risen to the top yet, and it gives a better representation of who is making the most difference within that team.
// The number of players to swap during a top-swap scramble
gs_top_swaps "5"
(redundant)
// If set, it will scramble after a team wins X full rounds in a row
gs_winstreak "0"
definately don't want to touch this; a team that wins 'x' amount of rounds in a row isn't necesarily a team that steamrolled every one of those rounds.
// If set, it will scramble every X full rounds
gs_scramblerounds "0"
// If set, then it will block auto-scrambling from happening two rounds in a row.
// Also stops scrambles from being started if one has occured already during a round.
gs_no_sequential_scramble "
0"
if the criteria is met for an auto-scramble, then it should just auto-scrambled; nothing should get in the way of that. assuming the system is working as elegantly as we like, that is.
// **************************
// *
// admin flag settings *
// *
// **************************
// ** if multiple flags specified, will work if client has just one of these flags
// Admin flags for scramble protection (if enabled)
gs_flags_scramble "ab"
// Admin flags for balance protection (if enabled)
gs_flags_balance "ab"
// Admin flags for team swap block protection (if enabled)
gs_flags_teamswap "bn"
// **************************
// *
// generic settings *
// *
// **************************
// Disable most of the frequent chat messages the plugin displays
gs_silent "0"
// Integrate into the sourcemod admin menu
gs_admin_menu "
1"
up to you guys what to want to do with this.
// Enable the mp_forceautoteam command and block people from using the 'jointeam' and 'spectate commands
gs_block_jointeam "0"
// Sets if admins set by 'gs_flags_teamswap' are immune from team swap blocking
gs_teamswitch_immune "1"
this is pretty badly worded; it hasn't explained anywhere what the difference between teamswap and scramble is. anyone? :p
// Punish clients trying to restack teams during the team-switch block period by adding time to when they are able to team swap again
gs_punish_stackers "0"
// Time after being swapped by a balance or scramble where players aren't allowed to change teams
gs_changeblocktime "
0"
stopping people from choosing between RED and BLU seems a bit silly; most of the time it's for perfectly harmless reasons (want to be on the same side as their friend, say) and one person shouldn't make too much difference. unless it's a medic...
// The plugin will check if people are reconnecting to the server to avoid being forced on a team. Requires clientprefs
gs_check_reconnect "
0"
seems a bit silly/pointless.
// Allow clients to choose buddies so that the plugin will try to auto-balance them together,
// and not scramble buddies who are on the same team
gs_use_buddy_system "
0"
again, if people want to be on the same team as someone, then we should just not stop them in the first place. picking buddies is overly complicated.
// If set, block client changes to spectator that result in a team imbalance
gs_prevent_spec_imbalance "0"
// **************************
// *
// voting settings *
// *
// **************************
// How often, in seconds, to advertise the vote-scramble command
// 0 = Disabled
gs_vote_advertise "500"
i'll leave this one up to you too; if you want it, you already know the timing for the other server messages that come up in chatbox.
// String clients type in chat to trigger a vote
gs_vote_trigger "votescramble"
maybe !votescramble ?
// If set, publicly started votes are disabled when an admin is preset.
gs_vote_adminblock "0"
// 0 will trigger scramble for round end.
// 1 will scramble teams after vote.
gs_menu_votebehavior "
1"
makes most sense and solves the problem quickest. unless people start spamming 'votescramble', but i think we can trust ourselves to not be that stupid. there were a few options further back to remedy it if that does, for some reason, become a problem.
// Percentage of votes for the menu vote scramble needed.
gs_menu_votesneeded "
0"
we don't want a menu up; just that if enough people votescramble, teams will be scrambled, simple as.
// Enable/disable public voting
gs_public_votes "1"
// If this many seconds or less is left on the round timer, then block public voting.
gs_public_roundtime "0"
// How to handle the final public vote if there are less that X seconds left in the round, specified by the roundtime cvar.
// 0 = block the final vote.
// 1 = Allow the vote and force a scramble for the next round regardless of any other setting.
gs_public_roundtime_blockmode "0"
// Percentage of people needing to trigger a scramble in chat. If using votemode 1, I suggest you set this lower than 50%
gs_public_triggers "
0.40"
as most people aren't paying enough attention, 60 pecent is a bit steep. 40 percent means the vote is more likely to go through. again, this is fairly balanced assuming people don't abuse the system.
// For public chat votes
// 0 = if enough triggers, enable scramble for next round.
// 1 = if enough triggers, start menu vote to start a scramble
// 2 = scramble teams right after the last trigger.
gs_public_votemode "
2"
is in line with similar options above.
// Time in seconds after the map has started and after a failed vote in which players can votescramble.
gs_vote_delay "
60.0"
might be useful if people start to abuse votescramble. otherwise, no harm in leaving it as it is.
// Time in seconds after a successful scramble in which players can vote again.
gs_vote_delay2 "
300"
see above, though 300 seconds might be a bit much. not that people tend to votescramble alot anyway.
// Minimum poeple connected before any voting will work.
gs_vote_minplayers "3"
(posting this without going back over it looking for typos and stuff so it might be messy for a while)