MapChooserSharp.API 0.1.5

dotnet add package MapChooserSharp.API --version 0.1.5
                    
NuGet\Install-Package MapChooserSharp.API -Version 0.1.5
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MapChooserSharp.API" Version="0.1.5" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MapChooserSharp.API" Version="0.1.5" />
                    
Directory.Packages.props
<PackageReference Include="MapChooserSharp.API" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MapChooserSharp.API --version 0.1.5
                    
#r "nuget: MapChooserSharp.API, 0.1.5"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MapChooserSharp.API@0.1.5
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MapChooserSharp.API&version=0.1.5
                    
Install as a Cake Addin
#tool nuget:?package=MapChooserSharp.API&version=0.1.5
                    
Install as a Cake Tool

MapChooserSharp

Ask DeepWiki NuGet Version

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 and nextmap chat trigger
  • !currentmap and currentmap chat trigger
  • !timeleft and timeleft 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 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_maxroundsmp_timelimitmp_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

See Commands Document

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

  1. Go to Latest Release Page | Also, Latest development version is provided in GitHub Actions Artifacts (Requires GitHub Account)
  2. Download zip files depends on your situation
    1. If you are first time, or release page says redownload, then donwload MapChooserSharp-osname-with-dependencies.zip
    2. Just updating, then download MapChooserSharp-osname.zip
  3. Extract ZIP
  4. Put folders into game/csgo/addons/counterstrikesharp/
  5. Run the server
  6. It's done

Reosuces

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.5 100 8/16/2025
0.1.2 165 7/9/2025
0.1.1 181 5/29/2025
0.1.0 169 5/19/2025
0.0.3 233 5/16/2025
0.0.2 148 5/9/2025
0.0.1 171 5/7/2025