Difference between revisions of "Voting"
(rewrite majority of article entirely; include new section on server commands (listing all voting-related cmds & their defaults), rewrite lead, other formatting fixes) |
ShadowMan44 (talk | contribs) m (Added bug that dummies out the vote text.) |
||
(117 intermediate revisions by 52 users not shown) | |||
Line 1: | Line 1: | ||
[[File:Voting_YYN.png|right]] | [[File:Voting_YYN.png|right]] | ||
{{quotation|'''The Soldier''' celebrating democracy at work|America wins again!|sound=Soldier_DominationMedic03.wav}} | {{quotation|'''The Soldier''' celebrating democracy at work|America wins again!|sound=Soldier_DominationMedic03.wav}} | ||
− | '''Voting''' is a game feature added in the [[Hatless Update]] on | + | '''Voting''' is a game feature added in the [[Hatless Update]] on {{Patch name|4|14|2011}}. It enables any player to call a vote to enact a change on the server. The various voting options enable players to vote on a [[list of maps|map]] change, to kick a particular player, or to scramble the teams. Any player can initiate a vote by clicking on the checkbox icon in the [[main menu]]. A vote type can then be selected and the vote is put to all players present in the server, unless the vote is to kick a player in which case it will only be broadcast to the same team as the target player. |
− | The voting system was first introduced into the [[Team Fortress 2 Beta]] on | + | The voting system was first introduced into the [[Team Fortress 2 Beta]] on {{Patch name|3|9|2011|beta}}. Two later updates that included tweaks to the system were made available in the beta, before the system went live in ''Team Fortress 2'' on April 14. Before this feature was added, the only way to change maps, kick, or ban players was via console commands, or using server mods. |
− | The voting system can be disabled by setting the [[servers|server]] command {{code|sv_allow_votes}} to {{code|0}}. Particular voting types can also be disabled by | + | The voting system can be disabled by setting the [[servers|server]] command {{code|sv_allow_votes}} to {{code|0}}. Particular voting types can also be disabled by [[#Server commands|specific server commands]]. |
+ | |||
+ | With default settings, votes require a minimum of 60% of the team to vote "Yes" for the vote to succeed. | ||
== Voting types == | == Voting types == | ||
− | There are | + | There are eleven types of votes that can be called: |
− | * '''Kick''': Kick a selected player out of the server. | + | * '''Kick''': Kick a selected player out of the server and bans the player from joining the server temporarily. The ban time is determined by {{cvar|sv_vote_kick_ban_duration}}. Only players on the vote-initiator's team can be voted upon. |
− | * ''' | + | * '''Restart Game''': Restarts the current round. If this comes to pass, then a notification will be given out to all players that the round will restart. A set number of seconds pass before a new round begins, neither team getting any points. |
− | * ''' | + | * '''Change Level''': The current map changes to the selected map. |
− | * ''' | + | * '''Next Level''': The next map is changed to the selected map. Unlike {{code|ChangeLevel}}, the current map doesn't end. |
− | * ''' | + | * '''Extend Current Map''': The current map being played will have more time added to it. |
+ | * '''Scramble Teams''': The players are put in a random team. Note that this will immediately scramble the teams, rather than wait until the end of the round. A notification is given to all players that a scramble will commence before it happens. | ||
+ | * '''Disable [[Team balance|Team Autobalance]]''': Prevents the server from automatically changing players to the other team if there is an imbalance. | ||
+ | * '''Enable Class Limits''': Prevents the quantity of classes from going over a certain amount. | ||
+ | * '''[[Enchantment: Eternaween|Eternaween]]''': Allow Halloween-restricted items for two hours. | ||
+ | * '''Pause''': Vote to pause the game for a specified amount of seconds.<!--Only available in competitive matchmaking mode? Who specifies the number of seconds and how?--> | ||
+ | * '''Change Mission''': Changes the current mission to any other available for the map. | ||
− | == | + | == Client commands == |
; F1 | ; F1 | ||
− | : Votes "Yes" on the current vote. Client command | + | : Votes "Yes" on the current vote or chooses a map in a level vote. Client command is "{{kbd|vote option1}}". |
; F2 | ; F2 | ||
− | : Votes "No" on the current vote. Client command | + | : Votes "No" on the current vote or chooses a map in a level vote. Client command is "{{kbd|vote option2}}". |
− | ; F3 | + | ; F3 |
− | : | + | : Chooses a map in a level vote. Client command is "{{kbd|vote option3}}". |
+ | |||
+ | ; F4 | ||
+ | : Chooses a map in a level vote. Client command is "{{kbd|vote option4}}". | ||
+ | |||
+ | ; F5 | ||
+ | : Chooses a map in a level vote or extends the current map in a {{code|NextLevel}} vote. Client command is "{{kbd|vote option5}}". | ||
+ | |||
+ | ; "{{kbd|callvote}}" | ||
+ | : Opens the dialog to call a vote. It is not bound by default. | ||
== Server commands == | == Server commands == | ||
Line 32: | Line 49: | ||
Server-side variables can be set to adjust several elements of the voting engine. The following commands are made available: | Server-side variables can be set to adjust several elements of the voting engine. The following commands are made available: | ||
− | ; {{ | + | ; {{cvar|sv_allow_votes}} |
: Enables or disables the voting system entirely. Defaults to {{code|1}} (enabled). | : Enables or disables the voting system entirely. Defaults to {{code|1}} (enabled). | ||
− | ; {{ | + | ; {{cvar|sv_vote_allow_spectators}} |
: Allow spectators to participate in votes. Defaults to {{code|0}} (disabled). | : Allow spectators to participate in votes. Defaults to {{code|0}} (disabled). | ||
− | ; {{code|sv_vote_failure_timer}} | + | ; {{cvar|sv_vote_creation_timer}} |
+ | : Cooldown time (in seconds); the time between votes if previous is successful. Defaults to {{code|150}} (2 minutes and 30 seconds). | ||
+ | |||
+ | ; {{cvar|sv_vote_failure_timer}} | ||
: Cooldown time (in seconds); the time that must pass after a vote fails for another to be initiated. Defaults to {{code|300}} (5 minutes). | : Cooldown time (in seconds); the time that must pass after a vote fails for another to be initiated. Defaults to {{code|300}} (5 minutes). | ||
− | ; {{code|sv_vote_issue_kick_allowed}} | + | ; {{cvar|sv_vote_holder_may_vote_no}} |
+ | : Allows the holder of the vote to have the chance to vote "Yes" or "No" on votes they call. Defaults to {{code|0}} (disabled). | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_autobalance_allowed}} | ||
+ | : Allow a vote to toggle autobalance to be called. Defaults to {{code|0}} (disabled). | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_autobalance_cooldown}} | ||
+ | : Cooldown timer (in seconds) the time between successful autobalance votes. Defaults to {{code|300}} (5 minutes). | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_changelevel_allowed}} | ||
+ | : Allow a vote to enable changing the map to be called, changing immediately if vote succeeds. Defaults to {{code|1}} (enabled). | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_classlimits_allowed}} | ||
+ | : Allow a vote to enable class limits to be called. Defaults to {{code|0}} (disabled). | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_classlimits_cooldown}} | ||
+ | : Cooldown timer (in seconds) the time between successful class limits votes. Defaults to {{code|300}} (5 minutes). | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_classlimits_max}} | ||
+ | : Set the maximum amount of each class that is allowed. Cannot control individual class limits; affects all 9 classes simultaneously. Defaults to {{code|4}}. | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_extendlevel_allowed}} | ||
+ | : Allows a vote to be called to extend the current map, instead of going to the next one. Defaults to {{code|1}} (enabled). | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_extendlevel_quorum}} | ||
+ | : Controls the percentage (in decimal) of the minimum amount of people needed for the Extend Level vote to succeed. Defaults to {{code|0.6}} (60%). | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_kick_allowed}} | ||
: Allow kick votes to be called. Defaults to {{code|0}} (disabled). | : Allow kick votes to be called. Defaults to {{code|0}} (disabled). | ||
− | ; {{ | + | ; {{cvar|sv_vote_issue_kick_namelock_duration}} |
− | : | + | : How long to prevent kick targets from changing their name (in seconds). Defaults to {{code|120}} (2 minutes). |
+ | |||
+ | ; {{cvar|sv_vote_issue_mvm_challenge_allowed}} | ||
+ | : Allows votes for difficulty level in MVM. Defaults to {{code|1}} (enabled). | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_nextlevel_allowed}} | ||
+ | : Allow the next level to be determined by vote. Defaults to {{code|1}} (enabled). If called during a round, the map will change on round end, not at the end of the timelimit for the map. Disabling this also disables the automatic end of map vote. | ||
− | ; {{ | + | ; {{cvar|sv_vote_issue_nextlevel_allowextend}} |
− | : | + | : Should allow the next level vote to include an 'Extend' option but doesn't seem to do anything. Defaults to {{code|1}} (enabled). |
− | ; {{ | + | ; {{cvar|sv_vote_issue_nextlevel_choicesmode}} |
− | : | + | : Should allow players to be presented with a list of lowest playtime maps to choose from but doesn't seem to do anything. Defaults to {{code|0}} (disabled). |
− | ; {{ | + | ; {{cvar|sv_vote_issue_nextlevel_prevent_change}} |
− | : | + | : Not allowed to vote for a nextlevel if one has already been set. Defaults to {{code|1}} (enabled). |
− | ; {{code| | + | ; {{cvar|sv_vote_issue_restart_game_allowed}} |
+ | : Allow a vote that restarts the round to be initiated. Defaults to {{code|0}} (disabled). | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_restart_game_cooldown}} | ||
+ | : Controls cooldown (in seconds) between successful restart game votes. Defaults to {{code|300}} (5 minutes). | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_scramble_teams_allowed}} | ||
+ | : Allow a vote that scrambles the teams to be initiated. Defaults to {{code|1}} (enabled). | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_scramble_teams_cooldown}} | ||
+ | : Controls cooldown (in seconds) between scramble teams votes. Defaults to {{code|1200}} (20 minutes). | ||
+ | |||
+ | ; {{cvar|sv_vote_kick_ban_duration}} | ||
+ | : The length of time (in minutes) of the ban on the player if the kick vote is successful. Defaults to {{code|20}}. Set to {{code|0}} to disable the ban entirely and instead only kick the player. | ||
+ | |||
+ | ; {{cvar|sv_vote_late_join_cooldown}} | ||
+ | : Controls the length of a cooldown (in seconds) applied to players joining a match in progress preventing them from creating vote kicks. Defaults to {{code|300}} (5 minutes). | ||
+ | |||
+ | ; {{cvar|sv_vote_late_join_time}} | ||
+ | : Controls the grace period after the match starts before the cooldown is applied. Defaults to {{code|90}} (1 minute and 30 seconds). | ||
+ | |||
+ | ; {{cvar|sv_vote_quorum_ratio}} | ||
+ | : Controls the percentage (in decimal) of the minimum amount of people needed for the vote to succeed. Defaults to {{code|0.6}} (60%). | ||
+ | |||
+ | ; {{cvar|sv_vote_ui_hide_disabled_issues}} | ||
+ | : Suppress listing of disabled issues in the vote setup screen. Defaults to {{code|1}} (enabled). | ||
+ | |||
+ | == MvM Voting == | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_kick_allowed_mvm}} | ||
+ | : Allow kick votes to be called. Defaults to {{code|1}} (enabled). | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_changelevel_allowed_mvm}} | ||
: Allow a vote that changes the map to the next level immediately to be initiated. Defaults to {{code|0}} (disabled). | : Allow a vote that changes the map to the next level immediately to be initiated. Defaults to {{code|0}} (disabled). | ||
− | ; {{code| | + | ; {{cvar|sv_vote_issue_classlimits_allowed_mvm}} |
+ | : In Mann vs. Machine, allow a vote to be called that enables class limits. Defaults to {{code|0}} (disabled). | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_classlimits_max_mvm}} | ||
+ | : Set the maximum amount of each class allowed in Mann vs. Machine. Defaults to {{code|2}}. | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_kick_min_connect_time_mvm}} | ||
+ | : Sets the minimum connect time a player needs to have before issuing votes. Defaults to {{code|300}} (5 minutes). | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_kick_spectators_mvm}} | ||
+ | : Allow the kicking of spectators. Defaults to {{code|1}} (enabled). | ||
+ | |||
+ | ; {{cvar|sv_vote_failure_timer_mvm}} | ||
+ | : Cooldown time (in seconds); the time that must pass after a vote fails for another to be initiated. Defaults to {{code|120}} (2 minutes). | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_mvm_challenge_allowed}} | ||
+ | : Allow to change MvM game mode difficulty level. Defaults to {{code|1}} (enabled). | ||
+ | |||
+ | ; {{cvar|sv_vote_issue_restart_game_allowed_mvm}} | ||
: Allow a vote that restarts the round to be initiated. Defaults to {{code|1}} (enabled). | : Allow a vote that restarts the round to be initiated. Defaults to {{code|1}} (enabled). | ||
− | + | == Sounds == | |
− | : | + | The voting system uses a few sound clips to help show the progress of the voting, taken from [[The Art of War (Soundtrack)|The Art of War]]. |
+ | * [[Media:Vote started.wav|A vote was started]] | ||
+ | * [[Media:Vote yes.wav|A player has voted "Yes"]] | ||
+ | * [[Media:Vote no.wav|A player has voted "No"]] | ||
+ | * [[Media:Vote success.wav|Vote passed successfully]] | ||
+ | * [[Media:Vote failure.wav|Vote failed to pass]] | ||
+ | |||
+ | == Bugs == | ||
+ | * Being votekicked (or kicked in general) may sometimes result in the game freezing or crashing to desktop.<ref>[https://www.youtube.com/watch?v=_pKS7BJMpqU Video] of the bug.</ref> | ||
+ | * Sometimes, the text display on the vote window will dummy out into "'''%voteissue%'''" when pressing ''alt-tab'' and exiting during a vote. | ||
+ | == Gallery == | ||
+ | <gallery> | ||
+ | File:HUD Vote.png|A picture of the "Scramble Teams" voting dialog. | ||
+ | Votekick %voteissue% bug.png|Dummy text when alt-tabbing and re-entering while the vote is still on. | ||
+ | </gallery> | ||
== Update history == | == Update history == | ||
+ | {{Update history| | ||
+ | '''{{Patch name|4|14|2011}}''' ([[Hatless Update]]) | ||
+ | * Added a new vote system. | ||
+ | ** Server convars to control the vote system: | ||
+ | *** sv_allow_votes : Allow voting? | ||
+ | *** sv_vote_failure_timer : A vote that fails cannot be voted on again during this period. | ||
+ | *** sv_vote_allow_specators : Allow spectators to vote? | ||
+ | *** sv_vote_issue_changelevel_allowed : Allow votes to change levels? | ||
+ | *** sv_vote_issue_kick_allowed : Allow votes to kick players from the server? | ||
+ | *** sv_vote_issue_nextlevel_allowed : Allow votes to set the next level? | ||
+ | *** sv_vote_issue_nextlevel_allowextend : Allow votes to extend the current map? | ||
+ | *** sv_vote_issue_restart_game_allowed : Allow votes to restart the game? | ||
+ | *** sv_vote_issue_scramble_teams_allowed : Allow votes to scramble the teams? | ||
+ | *** sv_vote_issue_nextlevel_choicesmode : Present players with a list of maps with the lowest playtimes to choose from? | ||
+ | *** sv_vote_kick_ban_duration : How long should a kick vote ban someone from the server? (in minutes) | ||
+ | |||
+ | '''{{Patch name|4|15|2011}}''' | ||
+ | * Fixed a server crash caused by the server triggering a nextlevel vote. | ||
+ | |||
+ | '''{{Patch name|5|25|2011}}''' | ||
+ | * Fixed a server crash caused by the vote system. | ||
+ | |||
+ | '''{{Patch name|6|8|2011}}''' | ||
+ | * Added a convar to prevent voting on the next level if one has already been set ({{cvar|sv_vote_issue_nextlevel_prevent_change}}). | ||
+ | * Fixed scrambleteams resetting how many rounds have been played. | ||
+ | ** Updated {{cvar|mp_scrambleteams}} to support a parameter of <code>2</code>, which prevents resetting the number of rounds that have been played. | ||
+ | * Fixed the server automatically creating votes while in training or using [[itemtest]]. | ||
+ | |||
+ | '''{{Patch name|6|23|2011}}''' ([[Über Update]]) | ||
+ | * Added new voting sounds. | ||
+ | |||
+ | '''{{Patch name|6|27|2011}}''' | ||
+ | * Fixed a problem with clients seeing the incorrect vote options after changing servers. | ||
+ | |||
+ | '''{{Patch name|6|28|2011}}''' | ||
+ | * Added an entry for "Call Vote" to the Options->Keyboard Settings, so you can bind a key to it. | ||
+ | |||
+ | '''{{Patch name|7|1|2011}} #1''' | ||
+ | * Fixed a case where the client-side voting dialog would have an incorrect list of items. | ||
+ | |||
+ | '''{{Patch name|3|1|2012}}''' | ||
+ | * Fixed being able to call server votes for training maps. | ||
+ | |||
+ | '''{{Patch name|4|18|2012}}''' | ||
+ | * Vote caller history is now tracked by SteamID to prevent vote cooldown exploits. | ||
+ | * Fixed players being able to disconnect before a successful kickvote to avoid being banned. | ||
+ | |||
+ | '''{{Patch name|6|27|2012}}''' | ||
+ | * Votes created by a dedicated server no longer trigger a failed vote cooldown. | ||
+ | |||
+ | '''{{Patch name|10|9|2012}}''' | ||
+ | * Allow kicking of connected players that haven't joined a team in [[Mann vs. Machine (game mode)|Mann vs. Machine]]. | ||
+ | * Added {{cvar|sv_vote_issue_kick_spectators_mvm}} (default 0) which allows players to kick anyone that isn't team invaders, as long as they've passed the {{cvar|sv_vote_issue_kick_min_connect_time_mvm}} timer, if enabled. | ||
+ | |||
+ | '''{{Patch name|10|26|2012}}''' ([[Spectral Halloween Special]]) | ||
+ | * Mann vs. Machine: | ||
+ | ** Fixed server crash on vote to restart mission. | ||
+ | |||
+ | '''{{Patch name|5|13|2013}}''' | ||
+ | * {{Undocumented}} Player avatars will now appear in the Voting menus. | ||
+ | |||
+ | '''{{Patch name|5|14|2013}}''' | ||
+ | <br>Notes missed from yesterday's update: | ||
+ | * Added player avatars to the votekick menu. | ||
+ | |||
+ | '''{{Patch name|7|10|2013}}''' | ||
+ | * Renamed <code>mvm_coaltown_event</code> to <code>mvm_ghost_town</code> to fix a problem with voting for challenges in MvM when on Coal Town. | ||
+ | |||
+ | '''{{Patch name|11|11|2013}}''' | ||
+ | * The Eternaween server enchantment can now be used to call a server vote to enable Halloween items on that server for a two-hour period. | ||
+ | |||
+ | '''{{Patch name|11|12|2013}}''' | ||
+ | * Added a server cooldown period for Eternaween votes. | ||
+ | |||
+ | '''{{Patch name|2|11|2014}}''' | ||
+ | * Fixed a case where players that are the target of a vote kick would not be banned from the server. | ||
+ | |||
+ | '''{{Patch name|8|7|2014}}''' | ||
+ | * Updated the Restart Game and Scramble Teams votes to always have a mandatory cool-down period. | ||
+ | |||
+ | '''{{Patch name|9|10|2014}} #1''' | ||
+ | * Updated the Eternaween vote so it cannot be initiated by clients without using the Eternaween. | ||
+ | |||
+ | '''{{Patch name|9|15|2014}}''' | ||
+ | * Fixed an exploit where players could circumvent successful kick votes. | ||
+ | * Default value for convar {{cvar|sv_vote_issue_scramble_teams_cooldown}} has been increased to 20 minutes. | ||
+ | |||
+ | '''{{Patch name|9|16|2014}}''' | ||
+ | * Fixed a server crash related to the vote kick system. | ||
+ | |||
+ | '''{{Patch name|10|1|2014}}''' | ||
+ | * Added "Enable/Disable Auto TeamBalance" votes. | ||
+ | ** Successful votes will enable/disable team player count balancing. | ||
+ | ** Use {{cvar|sv_vote_issue_autobalance_allowed}} to control if this vote is enabled on the server. | ||
+ | ** Votes not allowed in Mann vs. Machine, Medieval mode, Arena mode, Tournament Mode, or Training. | ||
+ | |||
+ | '''{{Patch name|10|15|2014}}''' | ||
+ | * Fixed team-specific vote sounds/notifications playing/showing for the ineligible team. | ||
+ | * {{cvar|sv_vote_issue_restart_game_allowed}} default changed to off. | ||
+ | * Added {{cvar|sv_vote_issue_restart_game_allowed_mvm}} (on by default). | ||
+ | * Added "Enable/Disable Class Limits" vote. | ||
+ | ** Controlled by {{cvar|sv_vote_issue_classlimits_allowed}} (off by default). | ||
+ | *** Limit controlled by {{cvar|sv_vote_issue_classlimits_max}} (default 4). | ||
+ | ** Controlled by {{cvar|sv_vote_issue_classlimits_allowed_mvm}} in Mann vs. Machine (off by default). | ||
+ | *** Limit controlled by {{cvar|sv_vote_issue_classlimits_max_mvm}} in Mann vs. Machine (default 2). | ||
+ | |||
+ | '''{{Patch name|3|12|2015}}''' | ||
+ | * Fixed a bug with the vote system UI when {{cvar|sv_vote_ui_hide_disabled_issues}} was set to 0. | ||
+ | |||
+ | '''{{Patch name|7|2|2015}} #1''' ([[Gun Mettle Update]]) | ||
+ | * Updated Mann vs. Machine: | ||
+ | ** Fixed an exploit related to vote restarting and canteen specialist. | ||
+ | |||
+ | '''{{Patch name|7|23|2015}} #1''' | ||
+ | * Fixed Mann vs. Machine maps not resetting properly after a successful vote to change the challenge. | ||
+ | |||
+ | '''{{Patch name|8|18|2015}} #1''' | ||
+ | * Map votes now work with workshop{{sic}} maps. | ||
+ | * A known issue is that the full workshop{{sic}} map name is currently shown instead of the friendly name. | ||
+ | |||
+ | '''{{Patch name|9|24|2015}} #1''' | ||
+ | * Updated the vote system so player can extend the current map using the "Extend Current Map" vote in the Vote Setup menu. | ||
+ | ** Server admin can configure this new feature using the convars {{cvar|sv_vote_issue_extendlevel_allowed}} and {{cvar|sv_vote_issue_extendlevel_quorum}}. | ||
+ | |||
+ | '''{{Patch name|1|7|2016}}''' | ||
+ | * Updated the server log entry for kick votes to include the ID of the vote initiator. | ||
+ | |||
+ | '''{{Patch name|2|29|2016}}''' | ||
+ | * Vote kick events now display that target player's Steam avatar. | ||
+ | |||
+ | '''{{Patch name|7|14|2016}} #1''' | ||
+ | * Added the Vote Kick option. | ||
+ | ** Players that are kicked will receive partial experience after the match ends. | ||
+ | |||
+ | '''{{Patch name|7|28|2016}}''' | ||
+ | * Fixed players being able to avoid a vote-kick by reconnecting to the server at the right time. | ||
+ | |||
+ | '''{{Patch name|10|21|2016}} #1''' ([[Scream Fortress 2016]]) | ||
+ | * Fixed a bug with the vote-kick timer in Mann vs. Machine mode. | ||
+ | |||
+ | '''{{Patch name|5|15|2017}}''' | ||
+ | * Fixed the vote menu erroneously hiding itself when the main menu is opened. | ||
+ | |||
+ | '''{{Patch name|6|2|2017}}''' | ||
+ | * Players who are vote-kicked from a Casual or MvM match cannot be re-matched into the match in question for several hours. | ||
+ | |||
+ | '''{{Patch name|8|2|2017}} #1''' | ||
+ | * Fixed a server crash related to vote-kick. | ||
+ | |||
+ | '''{{Patch name|10|20|2017}} #1''' ([[Jungle Inferno Update]]) | ||
+ | * Players who are vote-kicked from a Mann vs. Machine match cannot matchmake back into that same game for several hours. | ||
+ | |||
+ | '''{{Patch name|5|17|2018}}''' | ||
+ | * Fixed matchmaking players being able to sit at the MOTD so they can't be kicked by players in the match. They will now show in the scoreboard on their assigned team and will be valid vote-kick targets by members of their team. | ||
+ | |||
+ | '''{{Patch name|3|28|2019}}''' | ||
+ | * Improved how vote kicks work in matchmaking to reduce potential for abuse. | ||
+ | * Fixed a case where vote-kicked players could rejoin a match. | ||
+ | |||
+ | '''{{Patch name|7|3|2020}}''' | ||
+ | * Updated the vote kick process to automatically vote Yes for anyone who hasn't already voted if the target for the vote leaves the server. | ||
+ | |||
+ | '''{{Patch name|6|22|2021}} #1''' ([[Summer 2021 Pack]]) | ||
+ | * Added a cooldown before a player can create a vote when they join a match already in-progress. | ||
+ | ** {{cvar|sv_vote_late_join_time}} controls the grace period after the match starts before the cooldown is applied: default 90 secs. | ||
+ | ** {{cvar|sv_vote_late_join_cooldown}} controls the length of the cooldown: default 5 min. | ||
+ | * Kick votes will end early and automatically pass if the vote target leaves the match during the vote. | ||
+ | * Updated the player list in the vote-kick dialog to show the time each player has been connected to the server. | ||
− | ''' | + | '''{{Patch name|6|21|2022}}''' |
− | * | + | * Updated vote system: |
+ | ** Both teams can have a kick vote running at the same time. | ||
+ | ** Can have a global vote running at the same time as a kick vote. | ||
− | ''' | + | '''{{Patch name|6|23|2022}}''' |
− | * | + | * Fixed {{cvar|sv_vote_holder_may_vote_no}} ConVar to work with the recent vote changes. |
− | + | }} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | == References == | |
− | + | <references/> | |
− | |||
− | + | {{Hatless Update Nav}} | |
− | |||
− | |||
[[Category:Gameplay]] | [[Category:Gameplay]] |
Latest revision as of 05:36, 14 August 2024
“ | America wins again!
Click to listen
— The Soldier celebrating democracy at work
|
” |
Voting is a game feature added in the Hatless Update on April 14, 2011 Patch. It enables any player to call a vote to enact a change on the server. The various voting options enable players to vote on a map change, to kick a particular player, or to scramble the teams. Any player can initiate a vote by clicking on the checkbox icon in the main menu. A vote type can then be selected and the vote is put to all players present in the server, unless the vote is to kick a player in which case it will only be broadcast to the same team as the target player.
The voting system was first introduced into the Team Fortress 2 Beta on March 9, 2011 Patch (Beta). Two later updates that included tweaks to the system were made available in the beta, before the system went live in Team Fortress 2 on April 14. Before this feature was added, the only way to change maps, kick, or ban players was via console commands, or using server mods.
The voting system can be disabled by setting the server command sv_allow_votes
to 0
. Particular voting types can also be disabled by specific server commands.
With default settings, votes require a minimum of 60% of the team to vote "Yes" for the vote to succeed.
Contents
Voting types
There are eleven types of votes that can be called:
- Kick: Kick a selected player out of the server and bans the player from joining the server temporarily. The ban time is determined by
sv_vote_kick_ban_duration
. Only players on the vote-initiator's team can be voted upon. - Restart Game: Restarts the current round. If this comes to pass, then a notification will be given out to all players that the round will restart. A set number of seconds pass before a new round begins, neither team getting any points.
- Change Level: The current map changes to the selected map.
- Next Level: The next map is changed to the selected map. Unlike
ChangeLevel
, the current map doesn't end. - Extend Current Map: The current map being played will have more time added to it.
- Scramble Teams: The players are put in a random team. Note that this will immediately scramble the teams, rather than wait until the end of the round. A notification is given to all players that a scramble will commence before it happens.
- Disable Team Autobalance: Prevents the server from automatically changing players to the other team if there is an imbalance.
- Enable Class Limits: Prevents the quantity of classes from going over a certain amount.
- Eternaween: Allow Halloween-restricted items for two hours.
- Pause: Vote to pause the game for a specified amount of seconds.
- Change Mission: Changes the current mission to any other available for the map.
Client commands
- F1
- Votes "Yes" on the current vote or chooses a map in a level vote. Client command is "vote option1".
- F2
- Votes "No" on the current vote or chooses a map in a level vote. Client command is "vote option2".
- F3
- Chooses a map in a level vote. Client command is "vote option3".
- F4
- Chooses a map in a level vote. Client command is "vote option4".
- F5
- Chooses a map in a level vote or extends the current map in a
NextLevel
vote. Client command is "vote option5".
- "callvote"
- Opens the dialog to call a vote. It is not bound by default.
Server commands
Server-side variables can be set to adjust several elements of the voting engine. The following commands are made available:
sv_allow_votes
- Enables or disables the voting system entirely. Defaults to
1
(enabled).
sv_vote_allow_spectators
- Allow spectators to participate in votes. Defaults to
0
(disabled).
sv_vote_creation_timer
- Cooldown time (in seconds); the time between votes if previous is successful. Defaults to
150
(2 minutes and 30 seconds).
sv_vote_failure_timer
- Cooldown time (in seconds); the time that must pass after a vote fails for another to be initiated. Defaults to
300
(5 minutes).
sv_vote_holder_may_vote_no
- Allows the holder of the vote to have the chance to vote "Yes" or "No" on votes they call. Defaults to
0
(disabled).
sv_vote_issue_autobalance_allowed
- Allow a vote to toggle autobalance to be called. Defaults to
0
(disabled).
sv_vote_issue_autobalance_cooldown
- Cooldown timer (in seconds) the time between successful autobalance votes. Defaults to
300
(5 minutes).
sv_vote_issue_changelevel_allowed
- Allow a vote to enable changing the map to be called, changing immediately if vote succeeds. Defaults to
1
(enabled).
sv_vote_issue_classlimits_allowed
- Allow a vote to enable class limits to be called. Defaults to
0
(disabled).
sv_vote_issue_classlimits_cooldown
- Cooldown timer (in seconds) the time between successful class limits votes. Defaults to
300
(5 minutes).
sv_vote_issue_classlimits_max
- Set the maximum amount of each class that is allowed. Cannot control individual class limits; affects all 9 classes simultaneously. Defaults to
4
.
sv_vote_issue_extendlevel_allowed
- Allows a vote to be called to extend the current map, instead of going to the next one. Defaults to
1
(enabled).
sv_vote_issue_extendlevel_quorum
- Controls the percentage (in decimal) of the minimum amount of people needed for the Extend Level vote to succeed. Defaults to
0.6
(60%).
sv_vote_issue_kick_allowed
- Allow kick votes to be called. Defaults to
0
(disabled).
sv_vote_issue_kick_namelock_duration
- How long to prevent kick targets from changing their name (in seconds). Defaults to
120
(2 minutes).
sv_vote_issue_mvm_challenge_allowed
- Allows votes for difficulty level in MVM. Defaults to
1
(enabled).
sv_vote_issue_nextlevel_allowed
- Allow the next level to be determined by vote. Defaults to
1
(enabled). If called during a round, the map will change on round end, not at the end of the timelimit for the map. Disabling this also disables the automatic end of map vote.
sv_vote_issue_nextlevel_allowextend
- Should allow the next level vote to include an 'Extend' option but doesn't seem to do anything. Defaults to
1
(enabled).
sv_vote_issue_nextlevel_choicesmode
- Should allow players to be presented with a list of lowest playtime maps to choose from but doesn't seem to do anything. Defaults to
0
(disabled).
sv_vote_issue_nextlevel_prevent_change
- Not allowed to vote for a nextlevel if one has already been set. Defaults to
1
(enabled).
sv_vote_issue_restart_game_allowed
- Allow a vote that restarts the round to be initiated. Defaults to
0
(disabled).
sv_vote_issue_restart_game_cooldown
- Controls cooldown (in seconds) between successful restart game votes. Defaults to
300
(5 minutes).
sv_vote_issue_scramble_teams_allowed
- Allow a vote that scrambles the teams to be initiated. Defaults to
1
(enabled).
sv_vote_issue_scramble_teams_cooldown
- Controls cooldown (in seconds) between scramble teams votes. Defaults to
1200
(20 minutes).
sv_vote_kick_ban_duration
- The length of time (in minutes) of the ban on the player if the kick vote is successful. Defaults to
20
. Set to0
to disable the ban entirely and instead only kick the player.
sv_vote_late_join_cooldown
- Controls the length of a cooldown (in seconds) applied to players joining a match in progress preventing them from creating vote kicks. Defaults to
300
(5 minutes).
sv_vote_late_join_time
- Controls the grace period after the match starts before the cooldown is applied. Defaults to
90
(1 minute and 30 seconds).
sv_vote_quorum_ratio
- Controls the percentage (in decimal) of the minimum amount of people needed for the vote to succeed. Defaults to
0.6
(60%).
sv_vote_ui_hide_disabled_issues
- Suppress listing of disabled issues in the vote setup screen. Defaults to
1
(enabled).
MvM Voting
sv_vote_issue_kick_allowed_mvm
- Allow kick votes to be called. Defaults to
1
(enabled).
sv_vote_issue_changelevel_allowed_mvm
- Allow a vote that changes the map to the next level immediately to be initiated. Defaults to
0
(disabled).
sv_vote_issue_classlimits_allowed_mvm
- In Mann vs. Machine, allow a vote to be called that enables class limits. Defaults to
0
(disabled).
sv_vote_issue_classlimits_max_mvm
- Set the maximum amount of each class allowed in Mann vs. Machine. Defaults to
2
.
sv_vote_issue_kick_min_connect_time_mvm
- Sets the minimum connect time a player needs to have before issuing votes. Defaults to
300
(5 minutes).
sv_vote_issue_kick_spectators_mvm
- Allow the kicking of spectators. Defaults to
1
(enabled).
sv_vote_failure_timer_mvm
- Cooldown time (in seconds); the time that must pass after a vote fails for another to be initiated. Defaults to
120
(2 minutes).
sv_vote_issue_mvm_challenge_allowed
- Allow to change MvM game mode difficulty level. Defaults to
1
(enabled).
sv_vote_issue_restart_game_allowed_mvm
- Allow a vote that restarts the round to be initiated. Defaults to
1
(enabled).
Sounds
The voting system uses a few sound clips to help show the progress of the voting, taken from The Art of War.
- A vote was started
- A player has voted "Yes"
- A player has voted "No"
- Vote passed successfully
- Vote failed to pass
Bugs
- Being votekicked (or kicked in general) may sometimes result in the game freezing or crashing to desktop.[1]
- Sometimes, the text display on the vote window will dummy out into "%voteissue%" when pressing alt-tab and exiting during a vote.
Gallery
Update history
- Added a new vote system.
- Server convars to control the vote system:
- sv_allow_votes : Allow voting?
- sv_vote_failure_timer : A vote that fails cannot be voted on again during this period.
- sv_vote_allow_specators : Allow spectators to vote?
- sv_vote_issue_changelevel_allowed : Allow votes to change levels?
- sv_vote_issue_kick_allowed : Allow votes to kick players from the server?
- sv_vote_issue_nextlevel_allowed : Allow votes to set the next level?
- sv_vote_issue_nextlevel_allowextend : Allow votes to extend the current map?
- sv_vote_issue_restart_game_allowed : Allow votes to restart the game?
- sv_vote_issue_scramble_teams_allowed : Allow votes to scramble the teams?
- sv_vote_issue_nextlevel_choicesmode : Present players with a list of maps with the lowest playtimes to choose from?
- sv_vote_kick_ban_duration : How long should a kick vote ban someone from the server? (in minutes)
- Server convars to control the vote system:
- Fixed a server crash caused by the server triggering a nextlevel vote.
- Fixed a server crash caused by the vote system.
- Added a convar to prevent voting on the next level if one has already been set (
sv_vote_issue_nextlevel_prevent_change
). - Fixed scrambleteams resetting how many rounds have been played.
- Updated
mp_scrambleteams
to support a parameter of2
, which prevents resetting the number of rounds that have been played.
- Updated
- Fixed the server automatically creating votes while in training or using itemtest.
June 23, 2011 Patch (Über Update)
- Added new voting sounds.
- Fixed a problem with clients seeing the incorrect vote options after changing servers.
- Added an entry for "Call Vote" to the Options->Keyboard Settings, so you can bind a key to it.
- Fixed a case where the client-side voting dialog would have an incorrect list of items.
- Fixed being able to call server votes for training maps.
- Vote caller history is now tracked by SteamID to prevent vote cooldown exploits.
- Fixed players being able to disconnect before a successful kickvote to avoid being banned.
- Votes created by a dedicated server no longer trigger a failed vote cooldown.
- Allow kicking of connected players that haven't joined a team in Mann vs. Machine.
- Added
sv_vote_issue_kick_spectators_mvm
(default 0) which allows players to kick anyone that isn't team invaders, as long as they've passed thesv_vote_issue_kick_min_connect_time_mvm
timer, if enabled.
October 26, 2012 Patch (Spectral Halloween Special)
- Mann vs. Machine:
- Fixed server crash on vote to restart mission.
- [Undocumented] Player avatars will now appear in the Voting menus.
May 14, 2013 Patch
Notes missed from yesterday's update:
- Added player avatars to the votekick menu.
- Renamed
mvm_coaltown_event
tomvm_ghost_town
to fix a problem with voting for challenges in MvM when on Coal Town.
- The Eternaween server enchantment can now be used to call a server vote to enable Halloween items on that server for a two-hour period.
- Added a server cooldown period for Eternaween votes.
- Fixed a case where players that are the target of a vote kick would not be banned from the server.
- Updated the Restart Game and Scramble Teams votes to always have a mandatory cool-down period.
- Updated the Eternaween vote so it cannot be initiated by clients without using the Eternaween.
- Fixed an exploit where players could circumvent successful kick votes.
- Default value for convar
sv_vote_issue_scramble_teams_cooldown
has been increased to 20 minutes.
- Fixed a server crash related to the vote kick system.
- Added "Enable/Disable Auto TeamBalance" votes.
- Successful votes will enable/disable team player count balancing.
- Use
sv_vote_issue_autobalance_allowed
to control if this vote is enabled on the server. - Votes not allowed in Mann vs. Machine, Medieval mode, Arena mode, Tournament Mode, or Training.
- Fixed team-specific vote sounds/notifications playing/showing for the ineligible team.
sv_vote_issue_restart_game_allowed
default changed to off.- Added
sv_vote_issue_restart_game_allowed_mvm
(on by default). - Added "Enable/Disable Class Limits" vote.
- Controlled by
sv_vote_issue_classlimits_allowed
(off by default).- Limit controlled by
sv_vote_issue_classlimits_max
(default 4).
- Limit controlled by
- Controlled by
sv_vote_issue_classlimits_allowed_mvm
in Mann vs. Machine (off by default).- Limit controlled by
sv_vote_issue_classlimits_max_mvm
in Mann vs. Machine (default 2).
- Limit controlled by
- Controlled by
- Fixed a bug with the vote system UI when
sv_vote_ui_hide_disabled_issues
was set to 0.
July 2, 2015 Patch #1 (Gun Mettle Update)
- Updated Mann vs. Machine:
- Fixed an exploit related to vote restarting and canteen specialist.
- Fixed Mann vs. Machine maps not resetting properly after a successful vote to change the challenge.
- Map votes now work with workshop(sic) maps.
- A known issue is that the full workshop(sic) map name is currently shown instead of the friendly name.
- Updated the vote system so player can extend the current map using the "Extend Current Map" vote in the Vote Setup menu.
- Server admin can configure this new feature using the convars
sv_vote_issue_extendlevel_allowed
andsv_vote_issue_extendlevel_quorum
.
- Server admin can configure this new feature using the convars
- Updated the server log entry for kick votes to include the ID of the vote initiator.
- Vote kick events now display that target player's Steam avatar.
- Added the Vote Kick option.
- Players that are kicked will receive partial experience after the match ends.
- Fixed players being able to avoid a vote-kick by reconnecting to the server at the right time.
October 21, 2016 Patch #1 (Scream Fortress 2016)
- Fixed a bug with the vote-kick timer in Mann vs. Machine mode.
- Fixed the vote menu erroneously hiding itself when the main menu is opened.
- Players who are vote-kicked from a Casual or MvM match cannot be re-matched into the match in question for several hours.
- Fixed a server crash related to vote-kick.
October 20, 2017 Patch #1 (Jungle Inferno Update)
- Players who are vote-kicked from a Mann vs. Machine match cannot matchmake back into that same game for several hours.
- Fixed matchmaking players being able to sit at the MOTD so they can't be kicked by players in the match. They will now show in the scoreboard on their assigned team and will be valid vote-kick targets by members of their team.
- Improved how vote kicks work in matchmaking to reduce potential for abuse.
- Fixed a case where vote-kicked players could rejoin a match.
- Updated the vote kick process to automatically vote Yes for anyone who hasn't already voted if the target for the vote leaves the server.
June 22, 2021 Patch #1 (Summer 2021 Pack)
- Added a cooldown before a player can create a vote when they join a match already in-progress.
sv_vote_late_join_time
controls the grace period after the match starts before the cooldown is applied: default 90 secs.sv_vote_late_join_cooldown
controls the length of the cooldown: default 5 min.
- Kick votes will end early and automatically pass if the vote target leaves the match during the vote.
- Updated the player list in the vote-kick dialog to show the time each player has been connected to the server.
- Updated vote system:
- Both teams can have a kick vote running at the same time.
- Can have a global vote running at the same time as a kick vote.
- Fixed
sv_vote_holder_may_vote_no
ConVar to work with the recent vote changes.
References
|