How to Set Up Map Voting (RockTheVote) on Your CS2 Server
Let players vote to change the map mid-round or at round end using the cs2-rockthevote plugin for CounterStrikeSharp.
What You Need
Before setting this up, make sure CounterStrikeSharp (CSS) is already installed on your server. If it isn't, get that done first — Installing CounterStrikeSharp on Your CS2 Server.
The plugin you want is cs2-rockthevote by abnerfs:
https://github.com/abnerfs/cs2-rockthevote
Installing the Plugin
- Go to the GitHub releases page and download the latest release
.zip - Extract the zip — you'll see an
addons/folder inside - Upload the contents so they merge into
game/csgo/on your server- The plugin files should land at
game/csgo/addons/counterstrikesharp/plugins/cs2-rockthevote/
- The plugin files should land at
- Restart your server
If the server starts without errors, the plugin loaded. Check the console for any warnings about missing config files.
Config File Location
After the first run, the config generates at:
game/csgo/addons/counterstrikesharp/configs/plugins/cs2-rockthevote/
Open cs2-rockthevote.json to configure behavior.
Key Settings to Know
Maps list file — point this to a plaintext .txt file with one map name per line. For workshop maps, use the workshop ID, not the display name:
de_dust2
de_inferno
3070596702
2433087314
RTV percentage threshold — default is 60. This means 60% of players need to type !rtv before a vote triggers. You can lower it for small servers or raise it if you want more consensus required.
Nomination — enable or disable whether players can suggest specific maps before the vote starts. Most servers leave this on.
Vote trigger timing — you can set the vote to trigger at end of round (cleaner) or mid-round (more chaotic, not recommended for competitive modes).
Minimum players — set a minimum player count before RTV becomes available. Useful to prevent a lone player from immediately RTVing to a different map.
Player Commands
| Command | What It Does |
|---|---|
!rtv |
Casts your vote to change the map |
!nominate |
Opens the nomination menu to suggest a map |
!nominate <mapname> |
Directly nominate a specific map |
!maps |
Shows the current map pool |
Admin Commands
| Command | What It Does |
|---|---|
css_forcertv |
Forces an RTV vote to start immediately |
css_nextmap <mapname> |
Sets the next map manually, bypassing the vote |
Workshop Maps in the Rotation
If you're running custom maps, check out How to Add Custom Workshop Maps first. In your maps list file, use the numeric workshop ID from the Steam Workshop URL:
# Example: https://steamcommunity.com/sharedfiles/filedetails/?id=3070596702
3070596702
The plugin handles the host_workshop_map call automatically when it switches to a workshop map.