Vaš prvi CounterStrikeSharp plagin: Hello World
Ne morate biti iskusan programer da biste napisali CounterStrikeSharp plagin. Plagin koji radi je jedna mala C# klasa i jedan projektni fajl. Ovaj vodič vas vodi od nule do Hello World u konzoli servera, a sve što ovde naučite važi i za veće plagine.
Instalirajte .NET 8 SDK
CounterStrikeSharp plagini se pišu u C#-u na .NET 8. Instalirajte .NET 8 SDK na računar, zatim otvorite terminal i proverite da li radi. Komanda ispisuje instaliranu verziju, koja treba da počinje brojem 8.
dotnet --version
Napravite projekat
Napravite prazan folder, otvorite terminal u njemu i generišite biblioteku klasa. Ime koje ovde izaberete postaje ime DLL-a plagina, zato izaberite nešto jasno i bez razmaka.
dotnet new classlib --name HelloWorldPlugin
Izmenite projektni fajl
Otvorite generisani .csproj fajl i zamenite mu sadržaj onim ispod. Važan deo je referenca na CounterStrikeSharp.API, koja vam daje pristup igri. Obrišite generisani fajl Class1.cs, neće vam trebati.
<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>
Napišite plagin
Napravite HelloWorldPlugin.cs. Svaki plagin je klasa koja nasleđuje BasePlugin i sebi daje ime i verziju. Metoda Load se izvršava jednom, kada server učita plagin, i odatle počinje vaš kod.
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!"); }}
Kompajlirajte ga
Možete kompajlirati lokalno komandom dotnet build -c Release ili preskočiti podešavanje: spakujte folder (projektni fajl i .cs fajl) u zip i otpremite ga u naš kompajler. On vraća pakete, kompajlira plagin i daje vam zip spreman za upotrebu.
Kopirajte ga na server
Iz zip-a kopirajte samo folder plagina u addons/counterstrikesharp/plugins na serveru. Folder i DLL moraju imati isto ime. Folder dependencies iz našeg zip-a već obezbeđuje CounterStrikeSharp, zato ga izostavite.
Proverite konzolu
Restartujte server ili učitajte plagin dok radi. U konzoli servera trebalo bi da vidite svoju poruku. Ako ne vidite, pokrenite css_plugins list da proverite da li je plagin pronađen i pročitajte naš vodič o plaginima koji se ne učitavaju.
Hello World!
CounterStrikeSharp.API Loaded Successfully.
Izmenite i ponovo učitajte
Kad plagin proradi, promenite poruku, ponovo kompajlirajte i zamenite DLL. CounterStrikeSharp podržava hot reload, pa na razvojnom serveru često možete isprobati novu verziju bez restarta. Sledeći koraci su komande i događaji u igri, o kojima govore naši drugi vodiči.
Da li vam je ovaj vodič bio koristan?
Barlap za zajednicu.