MySQL: Online
Load: Low
Sandbox: Running

Ваш первый плагин CounterStrikeSharp: Hello World

Чтобы написать плагин для CounterStrikeSharp, не нужно быть опытным программистом. Рабочий плагин — это небольшой класс на C# и файл проекта. Руководство проведёт вас от нуля до надписи Hello World в консоли сервера, а всё, чему вы здесь научитесь, пригодится и в более крупных плагинах.

1

Установите .NET 8 SDK

Плагины CounterStrikeSharp пишутся на C# под .NET 8. Установите .NET 8 SDK на свой компьютер, откройте терминал и проверьте, что он работает. Команда выведет установленную версию, которая должна начинаться с 8.

dotnet --version
2

Создайте проект

Создайте пустую папку, откройте в ней терминал и сгенерируйте библиотеку классов. Выбранное здесь имя станет именем DLL плагина, поэтому берите понятное название без пробелов.

dotnet new classlib --name HelloWorldPlugin
3

Отредактируйте файл проекта

Откройте созданный файл .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>
4

Напишите плагин

Создайте 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!");    }}
5

Соберите его

Можно собрать локально командой dotnet build -c Release или обойтись без настройки: упакуйте папку (файл проекта и файл .cs) в zip и загрузите в наш компилятор. Он восстановит пакеты, соберёт плагин и вернёт готовый zip.

HelloWorldPlugin.zip
HelloWorldPlugin.csproj
HelloWorldPlugin.cs
Открыть компилятор
6

Скопируйте на сервер

Из zip скопируйте только папку плагина в addons/counterstrikesharp/plugins на сервере. Папка и DLL должны называться одинаково. Папку dependencies из нашего zip CounterStrikeSharp уже предоставляет сам, так что не копируйте её.

plugins
HelloWorldPlugin
HelloWorldPlugin.dll
HelloWorldPlugin.deps.json
HelloWorldPlugin.pdb
7

Проверьте консоль

Перезапустите сервер или загрузите плагин на работающем. В консоли сервера должно появиться ваше сообщение. Если нет, выполните css_plugins list, чтобы узнать, найден ли плагин, и прочитайте наше руководство о плагинах, которые не загружаются.

Hello World!
CounterStrikeSharp.API Loaded Successfully.
8

Измените и перезагрузите

Когда плагин работает, поменяйте сообщение, соберите заново и замените DLL. CounterStrikeSharp поддерживает горячую перезагрузку, поэтому на тестовом сервере новую версию часто можно проверить без перезапуска. Дальше — команды и игровые события, о которых рассказывают другие наши руководства.

Было ли это руководство полезным?

Страница сформирована за 0.010 секунд
CounterStrikeSharp Web Compiler V1.0 - Сделано с от RomaniaBarlap для сообщества.