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.
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
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
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>
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!"); }}
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.
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.
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.
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?
Barlap para la comunidad.