- Posts
- 798
- Likes
- 873
Originally posted by klax.
Credits to @LoU for preserving this information.
Introduction:
Rock the Vote is a plugin for the HL/Source engines created by AlliedModders LLC.
It allows players to register their votes for a map change without the need of a timed voting system, static rotations, and administrators. All that's required is the simple message \"rtv\".
Rock the Mode is an original concept created by myself while playing with the Rock the Vote words, meant to serve as an option for Movie Battles II's gameplay modes.
Usage:
Red = Command becomes disabled if no map voting type is available (Roundlimit, Timelimit, RTV) or if the total number of allowed maps is less than or equal 5, as all available maps will be used for the voting without any need for nominations.
Green = No visual message confirmation.
Standard command list (All commands can be sent via say or sayteam and are case-insensitive):
NOTE: Exclamation mark is optional, that's why it's enclosed in <>.
A voting will only start once the number of players who rtv'ed is equal the number of players required for rtv to pass.
The required number of players is defined by the Rate field.
<!>unrtv: Use this command to revoke your previous rtv.
Must be done before a voting starts.
<!>rtm: Use this command if you want to call for a mode voting.
A voting will only start once the number of players who rtm'ed is equal the number of players required for rtm to pass.
The required number of players is defined by the RTM Rate field.
<!>unrtm: Use this command to revoke your previous rtm.
Must be done before a voting starts.
<!>nominate mapname: Use this command to nominate a map for a future map voting.
Current and recently played maps cannot be nominated.
This command is of great importance when pick secondary maps is disabled, as they will never be picked automatically for a voting.
If you nominate a map while you've already nominated another map, your nomination will be changed.
There are two nomination types that an admin can choose from.
The first type is the classic one, every player is entitled to a single map nomination to a maximum of 5 nominations among all players.
If all 5 nominations have already been used, no new nomination will be accepted until a nomination becomes available again.
The map order during a voting will be based on a FIFO (First-In, First-Out) order, AKA, first person who nominates will have his/her map at the head of the voting list.
Second type will use a nomination count instead. Every player is entitled to a single nomination vote and there are no limits for the amount of nominations.
When a voting starts, a maximum of 5 nominations will be picked with the priority as follow:
1) Nomination count (the most nominated maps will be picked).
2) Map priority (if nomination count equals for those maps, map priority will be checked and remove lower priority nominations to fit 5 nominations).
3) FIFO order (with nomination count equal, as well as the same map priority, the last nominated maps will be discarded).
The order for the voting list will be nomination count and then a FIFO order, AKA, most nominated maps goes first, but if they equal in nomination count, the first nominated maps will be at the head of the voting list.
Maps that have already been nominated can only be nominated again by another player under the second nomination type.
<!>revoke: Use this command to revoke a map nomination.
This is no longer required for changing your nomination and should only be used if you want to completely remove your nomination.
<!>maplist <number>: Show the current map list in alphanumeric order.
Current and recently played maps will not be displayed.
Nominated maps under the first nomination type will not be displayed.
If the list is too big, it will be split into smaller numbered lists.
In this case, an argument containing the list number is required to display that list alone.
<!>search expression: Use this command to search for a specific expression within the map list.
The search is case-insensitive and will return all results containing that expression, including current, recently played and nominated maps.
The result is in alphanumeric order.
If expression is the wildcard *, all allowed maps will be returned as the result.
If the result is too long, a warning will be returned instead.
<!>elapsed map/mode: This command will display for how long the current map or mode has been running as HH:MM:SS.
It also displays whether the current map or mode had any extensions.
<!>nextgame: This command will display the queued for next round map or mode change, if there is one.
Not to confuse with the admin command of same name.
Voting command list (All commands can be sent via say or sayteam and are case-insensitive):
NOTE: Exclamation mark is not optional for the vote command (!number).
Re-voting will cause your previous vote to change to the new one.
<!>unvote: Use this command to revoke your vote during a voting.
This command is not required for changing your vote and should only be used if you want to completely remove your vote.
Admin command list (All commands must be sent via /smod say and are case-insensitive):
NOTE: Exclamation mark is *NOT* optional.
RTV or RTM must be configuration enabled for this command to have any effect.
Maps argument enables all current recently played maps.
For the maps argument, it will only have an effect if map votings are enabled and
if enable recently played contains a non-zero value.
/smod say !disable rtv/rtm time: Disable RTV/RTM for the specified time.
Time must be an integer greater than or equal 0, and it's value is registered in seconds.
Value 0 will disable RTV/RTM indefinitely (until a !rehash command is executed, or a server restart occurs, or finally, after an admin uses the !enable command).
Ex: !disable rtv 3600 will disable RTV for 1 hour.
RTV or RTM must be configuration enabled for this command to have any effect.
/smod say !force rtv/rtm: Force a voting to begin.
RTV or RTM must be configuration enabled for this command to have any effect.
/smod say !cancel: This command serves two purposes.
During a voting, it will cancel the current voting.
After a voting, if change immediately is disabled and a map/mode has been queued for the next round, this command will cancel the queued change.
/smod say !nextgame: If change immediately is disabled and a next map/mode has been queued for the next round, this command can be used to ignore the next round requirement and change to the next map/mode immediately.
Not to confuse with the standard command of same name.
/smod say !rehash: Use this command to force RTV/RTM into re-reading the configuration file and binding a new configuration without a process restart.
All fields but Log can be rehashed. If you need to change the path to your log file, a process restart will still be required.
Error checks will be performed during rehash, however, if an error is detected, warning() will be called instead of error() and RTV/RTM will rollback to the last valid configuration instead of crashing. Even with an invalid configuration, RTV/RTM will not cease to function during rehash.
Updates:
Update by Spaghetti (2020):
Download:
Installation:
This is a server only tool, therefore only administrators are required to read this.
The script was coded on Python 2.7 www.python.org.
Python versions compatible (without changing anything) with this script are 2.5, 2.6 and 2.7.
The script must be running at the same time as the MB2 server.
The script is meant to work locally with the server, as it needs to read the log file.
You will need to change two variables (cvars) within your server.cfg, if you haven't them already set to the correct values:
If you've Name protection enabled you will also need to have g_logClientInfo enabled (\"1\").
It's also important to note that g_log must have a log file.
For configuration, please open rtvrtm.cfg with a text editor.
All descriptions and examples are included inside.
You can run the script by just executing it. However, there are some command line options that you might want to add.
Please refer to the Command Line Options section.
Extra information:
A voting option will have the number of players who voted for it displayed besides its ID and before the value, not after:
Ex: 1(2): mb2_dotf, blabla
ID: 1
Vote count: 2
Value: mb2_dotf
The percentage displayed after a voting is calculated from the number of votes that the winning option received over the total number of players, not the total number of votes.
Ex: (100 * most_voted) / total_players
Ties will be handled by the map priority or mode priority systems.
However, if the same priority options tie, a random call will be made to decide the victor.
A second turn will only occur when it's configuration enabled, the voting has more than two options, the most voted option received less than or 50% votes from the total number of votes and more than two options received votes (a pseudo absolute majority requirement).
A second turn will only have two options and will start after the main voting has completed.
The priority system for maps/modes described above, is also used to define the options for second turn.
Besides that, second turn works just like any other voting.
Command Line Options:
-h or --help = Display the options list and exit.
--noreport = RTV/RTM will not send bug reports when unhandled exceptions occur.
--noupdate = Update checks will not be performed while initializing. Useful for users without shell access.
--quit = Check for updates and exit. This option will have no effect if --noupdate is set.
-c <configuration file> = Set a specific path for RTV/RTM's configuration file. If not provided, configuration path is assumed to be <application folder>/rtvrtm.cfg.
-t <tries> = Set the amount of server connection tries before giving up and raising an error() call. This will only be used during the initial configuration error checks. If not provided, it defaults to 5. It's recommended to set this value to 0 (infinite), if the server company in question restarts their servers in a daily basis.
Recommendations:
For server administrators:
Lowering sv_timeout to a value between 120-240 seconds is a good idea.
The faster the server drops timeout'ed clients, the faster RTV/RTM updates its valid player database.
If you find your players flooding the chat with commands, you should consider enabling the Flood Protection system within RTV/RTM.
This protection is individual for each player and is only enforced for non-voting/non-admin commands.
Cvar values:
Useful for parsers, such as weblists.
0 -> Admin voting only
1879 -> Roundlimit
1890 -> Timelimit
1928 -> RTV
2000 -> RTM
3769 -> Roundlimit + Timelimit
3807 -> Roundlimit + RTV
3879 -> Roundlimit + RTM
3818 -> Timelimit + RTV
3890 -> Timelimit + RTM
3928 -> RTV + RTM
5697 -> Roundlimit + Timelimit + RTV
5769 -> Roundlimit + Timelimit + RTM
5807 -> Roundlimit + RTV + RTM
5818 -> Timelimit + RTV + RTM
7697 -> Roundlimit + Timelimit + RTV + RTM
Extras
Admin voting command list (All commands must be sent via /smod say and are case-insensitive):
NOTE: Exclamation mark is *NOT* optional.
The description will be displayed everytime the voting list is displayed.
/smod say !vote option: Use this command to add an option for an admin voting.
Options cannot be repeated and a minimum of two options must be added.
A maximum of ten options can be added.
/smod say !erase: Use this command to remove all admin voting options that you or another admin have previously added.
It's recommended to always call this command first, before deciding to initiate an admin voting.
/smod say !force admin: Use this command to initiate an admin voting.
Admin voting is an automatic poll that will do nothing once it's completed. Its purpose is to provide an automatic and organized mechanism for admins to make decisions based on players' opinions.
Commands from the Voting commands section are applied to an admin voting.
A voting description and at least 2 voting options must be added before starting the voting.
Credits to @LoU for preserving this information.
Introduction:
Rock the Vote is a plugin for the HL/Source engines created by AlliedModders LLC.
It allows players to register their votes for a map change without the need of a timed voting system, static rotations, and administrators. All that's required is the simple message \"rtv\".
Rock the Mode is an original concept created by myself while playing with the Rock the Vote words, meant to serve as an option for Movie Battles II's gameplay modes.
Usage:
Red = Command becomes disabled if no map voting type is available (Roundlimit, Timelimit, RTV) or if the total number of allowed maps is less than or equal 5, as all available maps will be used for the voting without any need for nominations.
Green = No visual message confirmation.
Standard command list (All commands can be sent via say or sayteam and are case-insensitive):
NOTE: Exclamation mark is optional, that's why it's enclosed in <>.
- rtv, !rtv
- unrtv, !unrtv
- rtm, !rtm
- unrtm, !unrtm
- nominate mapname, !nominate mapname
- revoke, !revoke
- maplist <number>, !maplist <number>
- search expression, !search expression
- elapsed map/mode, !elapsed map/mode
- nextgame, !nextgame
A voting will only start once the number of players who rtv'ed is equal the number of players required for rtv to pass.
The required number of players is defined by the Rate field.
<!>unrtv: Use this command to revoke your previous rtv.
Must be done before a voting starts.
<!>rtm: Use this command if you want to call for a mode voting.
A voting will only start once the number of players who rtm'ed is equal the number of players required for rtm to pass.
The required number of players is defined by the RTM Rate field.
<!>unrtm: Use this command to revoke your previous rtm.
Must be done before a voting starts.
<!>nominate mapname: Use this command to nominate a map for a future map voting.
Current and recently played maps cannot be nominated.
This command is of great importance when pick secondary maps is disabled, as they will never be picked automatically for a voting.
If you nominate a map while you've already nominated another map, your nomination will be changed.
There are two nomination types that an admin can choose from.
The first type is the classic one, every player is entitled to a single map nomination to a maximum of 5 nominations among all players.
If all 5 nominations have already been used, no new nomination will be accepted until a nomination becomes available again.
The map order during a voting will be based on a FIFO (First-In, First-Out) order, AKA, first person who nominates will have his/her map at the head of the voting list.
Second type will use a nomination count instead. Every player is entitled to a single nomination vote and there are no limits for the amount of nominations.
When a voting starts, a maximum of 5 nominations will be picked with the priority as follow:
1) Nomination count (the most nominated maps will be picked).
2) Map priority (if nomination count equals for those maps, map priority will be checked and remove lower priority nominations to fit 5 nominations).
3) FIFO order (with nomination count equal, as well as the same map priority, the last nominated maps will be discarded).
The order for the voting list will be nomination count and then a FIFO order, AKA, most nominated maps goes first, but if they equal in nomination count, the first nominated maps will be at the head of the voting list.
Maps that have already been nominated can only be nominated again by another player under the second nomination type.
<!>revoke: Use this command to revoke a map nomination.
This is no longer required for changing your nomination and should only be used if you want to completely remove your nomination.
<!>maplist <number>: Show the current map list in alphanumeric order.
Current and recently played maps will not be displayed.
Nominated maps under the first nomination type will not be displayed.
If the list is too big, it will be split into smaller numbered lists.
In this case, an argument containing the list number is required to display that list alone.
<!>search expression: Use this command to search for a specific expression within the map list.
The search is case-insensitive and will return all results containing that expression, including current, recently played and nominated maps.
The result is in alphanumeric order.
If expression is the wildcard *, all allowed maps will be returned as the result.
If the result is too long, a warning will be returned instead.
<!>elapsed map/mode: This command will display for how long the current map or mode has been running as HH:MM:SS.
It also displays whether the current map or mode had any extensions.
<!>nextgame: This command will display the queued for next round map or mode change, if there is one.
Not to confuse with the admin command of same name.
Voting command list (All commands can be sent via say or sayteam and are case-insensitive):
NOTE: Exclamation mark is not optional for the vote command (!number).
- !number (vote)
- unvote, !unvote
Re-voting will cause your previous vote to change to the new one.
<!>unvote: Use this command to revoke your vote during a voting.
This command is not required for changing your vote and should only be used if you want to completely remove your vote.
Admin command list (All commands must be sent via /smod say and are case-insensitive):
NOTE: Exclamation mark is *NOT* optional.
- !enable rtv/rtm/maps
- !disable rtv/rtm time
- !force rtv/rtm
- !cancel
- !nextgame
- !rehash
RTV or RTM must be configuration enabled for this command to have any effect.
Maps argument enables all current recently played maps.
For the maps argument, it will only have an effect if map votings are enabled and
if enable recently played contains a non-zero value.
/smod say !disable rtv/rtm time: Disable RTV/RTM for the specified time.
Time must be an integer greater than or equal 0, and it's value is registered in seconds.
Value 0 will disable RTV/RTM indefinitely (until a !rehash command is executed, or a server restart occurs, or finally, after an admin uses the !enable command).
Ex: !disable rtv 3600 will disable RTV for 1 hour.
RTV or RTM must be configuration enabled for this command to have any effect.
/smod say !force rtv/rtm: Force a voting to begin.
RTV or RTM must be configuration enabled for this command to have any effect.
/smod say !cancel: This command serves two purposes.
During a voting, it will cancel the current voting.
After a voting, if change immediately is disabled and a map/mode has been queued for the next round, this command will cancel the queued change.
/smod say !nextgame: If change immediately is disabled and a next map/mode has been queued for the next round, this command can be used to ignore the next round requirement and change to the next map/mode immediately.
Not to confuse with the standard command of same name.
/smod say !rehash: Use this command to force RTV/RTM into re-reading the configuration file and binding a new configuration without a process restart.
All fields but Log can be rehashed. If you need to change the path to your log file, a process restart will still be required.
Error checks will be performed during rehash, however, if an error is detected, warning() will be called instead of error() and RTV/RTM will rollback to the last valid configuration instead of crashing. Even with an invalid configuration, RTV/RTM will not cease to function during rehash.
Updates:
Update by Spaghetti (2020):
- Updated to support Legends mode (make sure to update mode priority setting in config to the new format, default:
2 0 2 0 2 1
)
- No updates are expected on RTV/RTM.
- Latest RTV version includes DUEL support for RTM. - thanks LoU
- In addition, RTV commands like !rehash can now be sent via rcon say (attention: not svsay) and executed via server .cfg scripts.
Download:
- The latest RTV/RTM script, including map lists and rtvrtm.cfg can be downloaded here. Please note you will need to be able to have install (for Python) and execution rights on the server you plan to install this on.
- The rtvrtm.cfg needs to be edited and the information on log paths, IPs, rconpassword, etc. need to be updated for your server. The attached rtvrtm.cfg includes examples.
- The maplists, both primary and secondary should also be updated.
- The .zip file includes readmes and instructions for both Windows and Linux installations.
Installation:
This is a server only tool, therefore only administrators are required to read this.
The script was coded on Python 2.7 www.python.org.
Python versions compatible (without changing anything) with this script are 2.5, 2.6 and 2.7.
The script must be running at the same time as the MB2 server.
The script is meant to work locally with the server, as it needs to read the log file.
You will need to change two variables (cvars) within your server.cfg, if you haven't them already set to the correct values:
- seta g_logExplicit \"3\"
- seta g_logSync \"1\"
If you've Name protection enabled you will also need to have g_logClientInfo enabled (\"1\").
It's also important to note that g_log must have a log file.
For configuration, please open rtvrtm.cfg with a text editor.
All descriptions and examples are included inside.
You can run the script by just executing it. However, there are some command line options that you might want to add.
Please refer to the Command Line Options section.
Extra information:
A voting option will have the number of players who voted for it displayed besides its ID and before the value, not after:
Ex: 1(2): mb2_dotf, blabla
ID: 1
Vote count: 2
Value: mb2_dotf
The percentage displayed after a voting is calculated from the number of votes that the winning option received over the total number of players, not the total number of votes.
Ex: (100 * most_voted) / total_players
Ties will be handled by the map priority or mode priority systems.
However, if the same priority options tie, a random call will be made to decide the victor.
A second turn will only occur when it's configuration enabled, the voting has more than two options, the most voted option received less than or 50% votes from the total number of votes and more than two options received votes (a pseudo absolute majority requirement).
A second turn will only have two options and will start after the main voting has completed.
The priority system for maps/modes described above, is also used to define the options for second turn.
Besides that, second turn works just like any other voting.
Command Line Options:
-h or --help = Display the options list and exit.
--noreport = RTV/RTM will not send bug reports when unhandled exceptions occur.
--noupdate = Update checks will not be performed while initializing. Useful for users without shell access.
--quit = Check for updates and exit. This option will have no effect if --noupdate is set.
-c <configuration file> = Set a specific path for RTV/RTM's configuration file. If not provided, configuration path is assumed to be <application folder>/rtvrtm.cfg.
-t <tries> = Set the amount of server connection tries before giving up and raising an error() call. This will only be used during the initial configuration error checks. If not provided, it defaults to 5. It's recommended to set this value to 0 (infinite), if the server company in question restarts their servers in a daily basis.
Recommendations:
For server administrators:
Lowering sv_timeout to a value between 120-240 seconds is a good idea.
The faster the server drops timeout'ed clients, the faster RTV/RTM updates its valid player database.
If you find your players flooding the chat with commands, you should consider enabling the Flood Protection system within RTV/RTM.
This protection is individual for each player and is only enforced for non-voting/non-admin commands.
Cvar values:
Useful for parsers, such as weblists.
0 -> Admin voting only
1879 -> Roundlimit
1890 -> Timelimit
1928 -> RTV
2000 -> RTM
3769 -> Roundlimit + Timelimit
3807 -> Roundlimit + RTV
3879 -> Roundlimit + RTM
3818 -> Timelimit + RTV
3890 -> Timelimit + RTM
3928 -> RTV + RTM
5697 -> Roundlimit + Timelimit + RTV
5769 -> Roundlimit + Timelimit + RTM
5807 -> Roundlimit + RTV + RTM
5818 -> Timelimit + RTV + RTM
7697 -> Roundlimit + Timelimit + RTV + RTM
Extras
Admin voting command list (All commands must be sent via /smod say and are case-insensitive):
NOTE: Exclamation mark is *NOT* optional.
- !description description
- !vote option
- !erase
- !force admin
The description will be displayed everytime the voting list is displayed.
/smod say !vote option: Use this command to add an option for an admin voting.
Options cannot be repeated and a minimum of two options must be added.
A maximum of ten options can be added.
/smod say !erase: Use this command to remove all admin voting options that you or another admin have previously added.
It's recommended to always call this command first, before deciding to initiate an admin voting.
/smod say !force admin: Use this command to initiate an admin voting.
Admin voting is an automatic poll that will do nothing once it's completed. Its purpose is to provide an automatic and organized mechanism for admins to make decisions based on players' opinions.
Commands from the Voting commands section are applied to an admin voting.
A voting description and at least 2 voting options must be added before starting the voting.
Last edited by a moderator: