Ваш первый плагин CounterStrikeSharp: Hello World
Чтобы написать плагин для CounterStrikeSharp, не нужно быть опытным программистом. Рабочий плагин — это небольшой класс на C# и файл проекта. Руководство проведёт вас от нуля до надписи Hello World в консоли сервера, а всё, чему вы здесь научитесь, пригодится и в более крупных плагинах.
Установите .NET 8 SDK
Плагины CounterStrikeSharp пишутся на C# под .NET 8. Установите .NET 8 SDK на свой компьютер, откройте терминал и проверьте, что он работает. Команда выведет установленную версию, которая должна начинаться с 8.
dotnet --version
Создайте проект
Создайте пустую папку, откройте в ней терминал и сгенерируйте библиотеку классов. Выбранное здесь имя станет именем DLL плагина, поэтому берите понятное название без пробелов.
dotnet new classlib --name HelloWorldPlugin
Отредактируйте файл проекта
Откройте созданный файл .csproj и замените его содержимое тем, что приведено ниже. Главное — ссылка на CounterStrikeSharp.API, которая даёт доступ к игре. Удалите сгенерированный файл Class1.cs, он не понадобится.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="CounterStrikeSharp.API" Version="1.0.*" />
</ItemGroup>
</Project>
Напишите плагин
Создайте HelloWorldPlugin.cs. Любой плагин — это класс, наследующий BasePlugin и задающий себе имя и версию. Метод Load выполняется один раз, когда сервер загружает плагин, и именно с него начинается ваш код.
using CounterStrikeSharp.API.Core;
namespace HelloWorldPlugin;
public class HelloWorldPlugin : BasePlugin
{
public override string ModuleName => "Hello World Plugin";
public override string ModuleVersion => "1.0.0";
public override void Load(bool hotReload) { Console.WriteLine("Hello World!"); }}
Соберите его
Можно собрать локально командой dotnet build -c Release или обойтись без настройки: упакуйте папку (файл проекта и файл .cs) в zip и загрузите в наш компилятор. Он восстановит пакеты, соберёт плагин и вернёт готовый zip.
Скопируйте на сервер
Из zip скопируйте только папку плагина в addons/counterstrikesharp/plugins на сервере. Папка и DLL должны называться одинаково. Папку dependencies из нашего zip CounterStrikeSharp уже предоставляет сам, так что не копируйте её.
Проверьте консоль
Перезапустите сервер или загрузите плагин на работающем. В консоли сервера должно появиться ваше сообщение. Если нет, выполните css_plugins list, чтобы узнать, найден ли плагин, и прочитайте наше руководство о плагинах, которые не загружаются.
Hello World!
CounterStrikeSharp.API Loaded Successfully.
Измените и перезагрузите
Когда плагин работает, поменяйте сообщение, соберите заново и замените DLL. CounterStrikeSharp поддерживает горячую перезагрузку, поэтому на тестовом сервере новую версию часто можно проверить без перезапуска. Дальше — команды и игровые события, о которых рассказывают другие наши руководства.
Было ли это руководство полезным?
Barlap для сообщества.