CounterStrikeSharp implmentation of map chooser plugin with powerful API and configuration.
CounterStrikeSharp verison of MapChooserSharp is no longer maintained.
Consider switching to ModSharp version.
https://github.com/fltuna/MapChooserSharpMS
This plugin is mainly intended for mp_timelimit based gamemode, such as ZombieEscape, Minigame.
This plugin is supported mp_maxrounds and mp_roundtime based gamemode, such as surf, TTT, etc... But there is no gurantee to work properly.
-
Lupercalia Server (ZombieEscape/Minigame) - for a lot of live testing.
-
Spitice - for vote controller code contribution
-
Uru - for hunting bugs
- Full translation support
- Automatically fetch maps from Workshop collections and create map settings
- Automatically fix Workshop map names at map start
- Basic map voting
- !revote support
- Admin command to cancel vote
!cancelvote - Multiple UI support
- Currently supports: BuiltInHtml
- Play sounds when countdown start, countdown, vote start, vote finish
- Map nomination with partial name match
- Much much nomination restriction settings with map config
- Very clear nomination list with
!nomlist - Admin map nomination and removal with
!nominate_addmap <MapName>,!nominate_removemap <MapName> - Multiple UI support
- Currently supports: BuiltInHtml
- !rtv and rtv chat trigger
- Force activate RTV with command
!forcertv - Toggle RTV by
!enablertvand!disablertv
!nextmapandnextmapchat trigger!currentmapandcurrentmapchat trigger!timeleftandtimeleftchat trigger!mapinfocommand to show map's information!extendscommand to check remaining extends- User extend vote command with
!ext- Admin command to manipulate
!extcounts with!setext <count> - Admin command to toggle
!extcommand with!enableextand!disableext
- Admin command to manipulate
- Admin extend command with
!extendand!voteextend,!ve(with native vote UI) - Admin map cycle manipulation with
!setnextmap <MapName>and!removenextmap - Automatic Detection of Map Time Type (See below for details)
- Database cooldown management for Map and Group
- Databases currently supports: SQLite, MySQL, PostgreSQL
- Admin cooldown manipulation command
!setmapcooldown,!setgroupcooldown
See ConVar Document for ConVar configuration
See Map Config Document for Map configuration
See Plugin Config Document for Plugin configuration
It checks three CVars: mp_timelimit, mp_maxrounds, and mp_roundtime, and automatically selects the most appropriate one.
The check order is mp_maxrounds -> mp_timelimit -> mp_roundtime. If any of these CVars is non-zero, it will use that CVar as the basis for detecting the map time type.
Also, for mp_roundtime-based servers like surf servers, the round time is directly extended when an map extend occurs.
See MCS API document
- UI doesn't display when using CenterHTML for Countdown HUD
These dependencies are already packed in to MapChooserSharp-osname-with-dependencies.zip, so you don't need to download them manually.
Currently no optional dependcy is provided
- Go to Latest Release Page | Also, Latest development version is provided in GitHub Actions Artifacts (Requires GitHub Account)
- Download zip files depends on your situation
- If you are first time, or release page says redownload, then donwload
MapChooserSharp-osname-with-dependencies.zip - Just updating, then download
MapChooserSharp-osname.zip
- If you are first time, or release page says redownload, then donwload
- Extract ZIP
- Put folders into
game/csgo/addons/counterstrikesharp/ - Run the server
- It's done
- CounterStrikeSharp.API - Foundation of plugin development environment for CS2.
- CS2ScreenMenuAPI - Screen menu implementation
- CS2MenuManager - Screen menu implementation
- TNCSSPluginFoundation - Powerful plugin development base.
- Dapper - Supporting general database operation
- System.Data.SQLite.Core - Supporting Sqlite database
- Npgsql - Supporting PostgreSql database
- MySqlConnector - Supporting MySql database
Copyright © 2025 JetBrains s.r.o. [Rider] and the [Rider] logo are trademarks of JetBrains s.r.o.