CounterStrikeSharp — это серверная платформа для создания модификаций для Counter-Strike 2. Этот проект реализует уровень сценариев .NET 8 поверх исходного плагина Metamod, позволяя разработчикам создавать плагины, взаимодействующие с игровым сервером, на современном языке (C#) для упрощения создания поддерживаемого и тестируемого кода.
Простой пример взаимодействия с игровым событием и консольными командами:
Более подробный пример возможностей CounterStrikeSharp и CounterStrikeSharp/examples
API - CSS API
Установка CounterStrikeSharp
CounterStrikeSharp использует Metamod:Source в качестве основного способа взаимодействия с игровым сервером, поэтому необходимо установить оба фреймворка.
Запуск команды meta list в консоли должен показать, что загружен 1 плагин
Ваша итоговая структура папок должна выглядеть следующим образом:
Простой пример взаимодействия с игровым событием и консольными командами:
C#:
using CounterStrikeSharp.API.Core;
namespace HelloWorldPlugin;
public class HelloWorldPlugin : BasePlugin
{
public override string ModuleName => "Hello World Plugin";
public override string ModuleVersion => "0.0.1";
public override string ModuleAuthor => "roflmuffin";
public override string ModuleDescription => "Simple hello world plugin";
public override void Load(bool hotReload)
{
Logger.LogInformation("Plugin loaded successfully!");
}
[GameEventHandler]
public HookResult OnPlayerConnect(EventPlayerConnect @event, GameEventInfo info)
{
// Userid will give you a reference to a CCSPlayerController class
Logger.LogInformation("Player {Name} has connected!", @event.Userid.PlayerName);
return HookResult.Continue;
}
[ConsoleCommand("css_issue_warning", "Issue warning to player")]
public void OnCommand(CCSPlayerController? player, CommandInfo command)
{
Logger.LogWarning("Player shouldn't be doing that");
}
}
Более подробный пример возможностей CounterStrikeSharp и CounterStrikeSharp/examples
API - CSS API
Установка CounterStrikeSharp
CounterStrikeSharp использует Metamod:Source в качестве основного способа взаимодействия с игровым сервером, поэтому необходимо установить оба фреймворка.
- Установка Metamod:Source
- После скачивания извлеките CounterStrikeSharp и скопируйте /addons/ каталог в /game/csgo/.
- Перезапустите свой игровой сервер.
- Если вы устанавливаете программу впервые, вам необходимо скачать with-runtime версию. Она включает в себя копию среды выполнения .NET, которая требуется для запуска плагина.
- В зависимости от вашей операционной системы вам также может потребоваться установить libicu / icu-libs / libicu-dev с помощью менеджера пакетов для запуска .NET.
- Если при вводе Unknown Command в консоль вы получаете meta list, убедитесь, что папки скопированы правильно и что файл gameinfo.gi изменен должным образом.
Запуск команды meta list в консоли должен показать, что загружен 1 плагин

Код:
meta list
Listing 1 plugin:
[01] CounterStrikeSharp (0.1.0) by Roflmuffin
Ваша итоговая структура папок должна выглядеть следующим образом:
Код:
<server_path>/game/csgo/addons > tree -L 2
addons
├── counterstrikesharp
│ ├── api
│ ├── bin
│ ├── dotnet
│ ├── plugins
│ └── gamedata
│
├── metamod
│ ├── bin
│ ├── counterstrikesharp.vdf
│ ├── metaplugins.ini
│ └── README.txt
├── metamod.vdf
└── metamod_x64.vdf