Il tuo primo plugin CounterStrikeSharp: Hello World
Non serve essere programmatori esperti per scrivere un plugin CounterStrikeSharp. Un plugin funzionante è una piccola classe C# e un file di progetto. Questa guida ti porta da zero a vedere Hello World nella console del server, e tutto ciò che impari vale anche per plugin molto più grandi.
Installa l’SDK di .NET 8
I plugin CounterStrikeSharp si scrivono in C# su .NET 8. Installa l’SDK di .NET 8 sul tuo computer, poi apri un terminale e verifica che funzioni. Il comando mostra la versione installata, che dovrebbe iniziare con 8.
dotnet --version
Crea il progetto
Crea una cartella vuota, apri un terminale al suo interno e genera una libreria di classi. Il nome scelto qui diventa il nome della DLL del plugin, quindi scegline uno chiaro e senza spazi.
dotnet new classlib --name HelloWorldPlugin
Modifica il file di progetto
Apri il file .csproj generato e sostituisci il contenuto con quello qui sotto. La parte importante è il riferimento a CounterStrikeSharp.API, che ti dà accesso al gioco. Elimina il file Class1.cs generato, non ti servirà.
<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>
Scrivi il plugin
Crea HelloWorldPlugin.cs. Ogni plugin è una classe che eredita da BasePlugin e si dà un nome e una versione. Il metodo Load viene eseguito una volta, quando il server carica il plugin, ed è da lì che parte il tuo codice.
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!"); }}
Compilalo
Puoi compilare in locale con dotnet build -c Release, oppure saltare la configurazione: comprimi la cartella (file di progetto e file .cs) in uno zip e caricala nel nostro compilatore. Ripristina i pacchetti, compila il plugin e ti restituisce uno zip pronto all’uso.
Copialo sul server
Dallo zip, copia solo la cartella del plugin in addons/counterstrikesharp/plugins sul tuo server. Cartella e DLL devono avere lo stesso nome. La cartella dependencies del nostro zip è già fornita da CounterStrikeSharp, quindi lasciala fuori.
Controlla la console
Riavvia il server oppure carica il plugin mentre è in esecuzione. Nella console dovresti vedere il tuo messaggio. In caso contrario, esegui css_plugins list per capire se il plugin è stato trovato e leggi la nostra guida sui plugin che non si caricano.
Hello World!
CounterStrikeSharp.API Loaded Successfully.
Modificalo e ricaricalo
Quando il plugin funziona, cambia il messaggio, compila di nuovo e sostituisci la DLL. CounterStrikeSharp supporta l’hot reload, quindi su un server di sviluppo spesso puoi provare una nuova versione senza riavviare. I passi successivi sono i comandi e gli eventi di gioco, trattati nelle nostre altre guide.
Questo tutorial ti è stato utile?
Barlap per la comunità.