Seu primeiro plugin do CounterStrikeSharp: Hello World
Você não precisa ser um programador experiente para escrever um plugin do CounterStrikeSharp. Um plugin funcional é uma pequena classe C# e um arquivo de projeto. Este guia leva você do zero até ver Hello World no console do servidor, e tudo o que você aprender aqui vale para plugins bem maiores.
Instale o SDK do .NET 8
Os plugins do CounterStrikeSharp são escritos em C# sobre o .NET 8. Instale o SDK do .NET 8 no seu computador, abra um terminal e confirme que funciona. O comando mostra a versão instalada, que deve começar com 8.
dotnet --version
Crie o projeto
Crie uma pasta vazia, abra um terminal dentro dela e gere uma biblioteca de classes. O nome escolhido aqui vira o nome da DLL do plugin, então escolha algo claro e sem espaços.
dotnet new classlib --name HelloWorldPlugin
Edite o arquivo de projeto
Abra o arquivo .csproj gerado e substitua o conteúdo pelo mostrado abaixo. A parte importante é a referência ao CounterStrikeSharp.API, que dá acesso ao jogo. Apague o arquivo Class1.cs gerado, você não vai precisar dele.
<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>
Escreva o plugin
Crie o HelloWorldPlugin.cs. Todo plugin é uma classe que herda de BasePlugin e define um nome e uma versão. O método Load roda uma vez, quando o servidor carrega o plugin, e é ali que seu código começa.
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!"); }}
Compile
Você pode compilar localmente com dotnet build -c Release ou pular a configuração: compacte a pasta (o arquivo de projeto e o arquivo .cs) em um zip e envie ao nosso compilador. Ele restaura os pacotes, compila o plugin e devolve um zip pronto para usar.
Copie para o servidor
Do zip, copie apenas a pasta do plugin para addons/counterstrikesharp/plugins no servidor. A pasta e a DLL precisam ter o mesmo nome. A pasta dependencies do nosso zip já é fornecida pelo CounterStrikeSharp, então deixe-a de fora.
Confira o console
Reinicie o servidor ou carregue o plugin com ele em execução. No console você deve ver sua mensagem. Se não ver, execute css_plugins list para saber se o plugin foi encontrado e leia nosso guia sobre plugins que não carregam.
Hello World!
CounterStrikeSharp.API Loaded Successfully.
Altere e recarregue
Com o plugin funcionando, mude a mensagem, compile de novo e substitua a DLL. O CounterStrikeSharp oferece hot reload, então num servidor de desenvolvimento você muitas vezes consegue testar uma nova versão sem reiniciar. Os próximos passos são comandos e eventos do jogo, tratados em nossos outros guias.
Este tutorial foi útil?
Barlap para a comunidade.