Primul tău plugin CounterStrikeSharp: Hello World
Nu trebuie să fii programator experimentat ca să scrii un plugin CounterStrikeSharp. Un plugin funcțional înseamnă o clasă C# mică și un fișier de proiect. Ghidul te duce de la zero până vezi Hello World în consola serverului, iar tot ce înveți aici se aplică oricărui plugin mai mare.
Instalează .NET 8 SDK
Pluginurile CounterStrikeSharp se scriu în C# pe .NET 8. Instalează .NET 8 SDK pe calculator, apoi deschide un terminal și verifică dacă merge. Comanda afișează versiunea instalată, care ar trebui să înceapă cu 8.
dotnet --version
Creează proiectul
Creează un folder gol, deschide un terminal în el și generează o bibliotecă de clase. Numele ales aici devine numele DLL-ului pluginului, deci alege ceva clar și fără spații.
dotnet new classlib --name HelloWorldPlugin
Editează fișierul de proiect
Deschide fișierul .csproj generat și înlocuiește-i conținutul cu cel de mai jos. Partea importantă este referința la CounterStrikeSharp.API, care îți dă acces la joc. Șterge fișierul Class1.cs generat, nu ai nevoie de el.
<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>
Scrie pluginul
Creează HelloWorldPlugin.cs. Orice plugin este o clasă care moștenește BasePlugin și are un nume și o versiune. Metoda Load rulează o singură dată, când serverul încarcă pluginul, și de acolo pornește codul tău.
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!"); }}
Compilează-l
Poți compila local cu dotnet build -c Release sau poți sări peste configurare: arhivează folderul (fișierul de proiect și fișierul .cs) și încarcă-l în compilatorul nostru. Acesta restaurează pachetele, construiește pluginul și îți dă un zip gata de folosit.
Copiază-l pe server
Din zip, copiază doar folderul pluginului în addons/counterstrikesharp/plugins pe server. Folderul și DLL-ul trebuie să aibă același nume. Folderul dependencies din zip-ul nostru este deja oferit de CounterStrikeSharp, deci las-l deoparte.
Verifică în consolă
Repornește serverul sau încarcă pluginul cât timp rulează. În consola serverului ar trebui să vezi mesajul tău. Dacă nu, rulează css_plugins list ca să vezi dacă pluginul a fost găsit și citește ghidul nostru despre pluginurile care nu se încarcă.
Hello World!
CounterStrikeSharp.API Loaded Successfully.
Modifică și reîncarcă
Când pluginul merge, schimbă mesajul, compilează din nou și înlocuiește DLL-ul. CounterStrikeSharp suportă hot reload, deci pe un server de test poți încerca adesea o versiune nouă fără repornire. Următorii pași sunt comenzile și evenimentele de joc, acoperite în celelalte ghiduri ale noastre.
A fost util acest tutorial?
Barlap pentru comunitate.