MySQL: Online
Load: Low
Sandbox: Ready

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.

1

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
2

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
3

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>
4

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!");    }}
5

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.

HelloWorldPlugin.zip
HelloWorldPlugin.csproj
HelloWorldPlugin.cs
Abrir o compilador
6

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.

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

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.
8

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?

Página gerada em 0.012 segundos
CounterStrikeSharp Web Compiler V1.0 - Feito com por RomaniaBarlap para a comunidade.