MapChooserSharp.API
0.1.5
dotnet add package MapChooserSharp.API --version 0.1.5
NuGet\Install-Package MapChooserSharp.API -Version 0.1.5
<PackageReference Include="MapChooserSharp.API" Version="0.1.5" />
<PackageVersion Include="MapChooserSharp.API" Version="0.1.5" />
<PackageReference Include="MapChooserSharp.API" />
paket add MapChooserSharp.API --version 0.1.5
#r "nuget: MapChooserSharp.API, 0.1.5"
#:package MapChooserSharp.API@0.1.5
#addin nuget:?package=MapChooserSharp.API&version=0.1.5
#tool nuget:?package=MapChooserSharp.API&version=0.1.5
MapChooserSharp
CounterStrikeSharp implmentation of map chooser plugin with powerful API and configuration.
Translated readme is available
NOTE
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.
Special Thanks
Lupercalia Server (ZombieEscape/Minigame) - for a lot of live testing.
Spitice - for vote controller code contribution
Uru - for hunting bugs
Features
General
- Full translation support
- Automatically fetch maps from Workshop collections and create map settings
- Automatically fix Workshop map names at map start
Map Vote
- 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
Nomination
- 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
- !rtv and rtv chat trigger
- Force activate RTV with command
!forcertv
- Toggle RTV by
!enablertv
and!disablertv
Map Cycle
!nextmap
andnextmap
chat trigger!currentmap
andcurrentmap
chat trigger!timeleft
andtimeleft
chat trigger!mapinfo
command to show map's information!extends
command to check remaining extends- User extend vote command with
!ext
- Admin command to manipulate
!ext
counts with!setext <count>
- Admin command to toggle
!ext
command with!enableext
and!disableext
- Admin command to manipulate
- Admin extend command with
!extend
and!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
Abundant Customization Options
See ConVar Document for ConVar configuration
See Map Config Document for Map configuration
See Plugin Config Document for Plugin configuration
Automatic Detection of Map Time Type
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.
Powerful API
See MCS API document
A handy commands
Known Issues
- UI doesn't display when using CenterHTML for Countdown HUD
Installation
Dependency
These dependencies are already packed in to MapChooserSharp-osname-with-dependencies.zip
, so you don't need to download them manually.
Optional Dependency
Currently no optional dependcy is provided
Installation
- 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
Reosuces
- 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
Developed with JetBrains Rider
<img src="https://resources.jetbrains.com/storage/products/company/brand/logos/Rider_icon.png" width="64" alt="JetBrains Rider IDE"/>
Copyright © 2025 JetBrains s.r.o. [Rider] and the [Rider] logo are trademarks of JetBrains s.r.o.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- CounterStrikeSharp.API (>= 1.0.335)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.