MySQL: Online
Load: Low
Sandbox: Running

Tu primer plugin de CounterStrikeSharp: Hello World

No hace falta ser programador experto para escribir un plugin de CounterStrikeSharp. Un plugin que funciona son una clase pequeña de C# y un archivo de proyecto. Esta guía te lleva desde cero hasta ver Hello World en la consola del servidor, y todo lo que aprendas aquí vale para plugins mucho mayores.

1

Instala el SDK de .NET 8

Los plugins de CounterStrikeSharp se escriben en C# sobre .NET 8. Instala el SDK de .NET 8 en tu ordenador, abre una terminal y comprueba que funciona. El comando muestra la versión instalada, que debería empezar por 8.

dotnet --version
2

Crea el proyecto

Crea una carpeta vacía, abre una terminal dentro y genera una biblioteca de clases. El nombre que elijas aquí será el de la DLL de tu plugin, así que usa uno claro y sin espacios.

dotnet new classlib --name HelloWorldPlugin
3

Edita el archivo de proyecto

Abre el archivo .csproj generado y sustituye su contenido por el de abajo. Lo importante es la referencia a CounterStrikeSharp.API, que te da acceso al juego. Borra el archivo Class1.cs generado, no lo necesitarás.

<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

Escribe el plugin

Crea HelloWorldPlugin.cs. Todo plugin es una clase que hereda de BasePlugin y se da un nombre y una versión. El método Load se ejecuta una vez, cuando el servidor carga el plugin, y ahí empieza tu propio código.

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

Compílalo

Puedes compilar en local con dotnet build -c Release o saltarte la preparación: comprime la carpeta (el archivo de proyecto y el archivo .cs) en un zip y súbela a nuestro compilador. Restaura los paquetes, compila el plugin y te devuelve un zip listo para usar.

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

Cópialo al servidor

Del zip, copia solo la carpeta del plugin a addons/counterstrikesharp/plugins en tu servidor. La carpeta y la DLL deben llamarse igual. La carpeta dependencies de nuestro zip ya la aporta CounterStrikeSharp, déjala fuera.

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

Mira la consola

Reinicia el servidor o carga el plugin con el servidor en marcha. En la consola deberías ver tu mensaje. Si no, ejecuta css_plugins list para ver si el plugin se encontró y lee nuestra guía sobre plugins que no cargan.

Hello World!
CounterStrikeSharp.API Loaded Successfully.
8

Cámbialo y recárgalo

Cuando el plugin funcione, cambia el mensaje, compila de nuevo y sustituye la DLL. CounterStrikeSharp admite recarga en caliente, así que en un servidor de desarrollo a menudo puedes probar una versión nueva sin reiniciar. Lo siguiente son los comandos y los eventos del juego, que tratan nuestras otras guías.

¿Te ha resultado útil este tutorial?

Página generada en 0.011 segundos
CounterStrikeSharp Web Compiler V1.0 - Hecho con por RomaniaBarlap para la comunidad.