CounterStrikeSharp is a server-side modding framework for Counter-Strike 2. This project implements a .NET 10 scripting layer on top of a Metamod Source Plugin, allowing developers to create plugins that interact with the game server in a modern language (C#) to facilitate the creation of maintainable and testable code.
Forked version by Miksen for own servers
- Supports Debian 13 & Ubuntu 24.04
- Supports CommandLine API (GetCommandLineString)
Download the latest build from here. (Download the with-runtime version if this is your first time installing).
Detailed installation instructions can be found in the docs.
Need help, found a bug, or have a feature idea? Join the Discord support server:
- Questions and setup help: ask in the support channels on Discord.
- Bug reports: open a GitHub issue with your server log, plugin version and steps to reproduce. Discord is fine for a quick check first.
- Feature requests: post them on Discord or open an issue.
Please do not send support requests by direct message. Asking in the public channels means others can help and find the answer later.
These features are the core of the platform and work pretty well/have a low risk of causing issues.
- Console Commands, Server Commands (e.g. css_mycommand)
- Chat Commands with
!and/prefixes (e.g. !mycommand) - Fake Console Variables (commands which mimic ConVar behaviour as these have not been fully reverse engineered)
- Game Event Handlers & Firing of Events (e.g. player_death)
- Basic event value get/set (string, bool, int32, float)
- Complex event values get/set (ehandle, pawn, player controller)
- Game Tick Based Timers (e.g. repeating map timers)
- Timer Flags (REPEAT, STOP_ON_MAPCHANGE)
- Listeners (e.g. client connected, disconnected, map start etc.)
- Client Listeners (e.g. connect, disconnect, put in server)
- OnMapStart
- OnTick
- Server Information (current map, game time)
- Schema System Access (access player values like current weapon, money, location etc.)
A lot of code has been borrowed from SourceMod as well as Source.Python, two pioneering source engine plugin frameworks which this project lends a lot of its credit to. I've also used the scripting context & native system that is implemented in FiveM for GTA5. Also shoutout to the CS2Fixes project for providing good reverse-engineering information so shortly after CS2 release.
Building requires CMake.
Clone the repository
git clone https://github.com/roflmuffin/counterstrikesharpInit and update submodules
git submodule update --init --recursiveMake build folder
mkdir build
cd buildGenerate CMake Build Files
cmake ..Build
cmake --build . --config DebugCounterStrikeSharp is licensed under the GNU General Public License version 3. A special exemption is outlined regarding published plugins, which you can find in the LICENSE file.