Votre premier plugin CounterStrikeSharp : Hello World
Nul besoin d’être un programmeur chevronné pour écrire un plugin CounterStrikeSharp. Un plugin fonctionnel tient en une petite classe C# et un fichier de projet. Ce guide vous mène de zéro jusqu’à Hello World dans la console du serveur, et tout ce que vous apprenez ici vaut pour des plugins bien plus gros.
Installez le SDK .NET 8
Les plugins CounterStrikeSharp s’écrivent en C# sur .NET 8. Installez le SDK .NET 8 sur votre ordinateur, ouvrez un terminal et vérifiez qu’il fonctionne. La commande affiche la version installée, qui doit commencer par 8.
dotnet --version
Créez le projet
Créez un dossier vide, ouvrez-y un terminal et générez une bibliothèque de classes. Le nom choisi ici devient celui de la DLL de votre plugin : prenez un nom clair, sans espaces.
dotnet new classlib --name HelloWorldPlugin
Modifiez le fichier de projet
Ouvrez le fichier .csproj généré et remplacez son contenu par celui ci-dessous. L’élément important est la référence à CounterStrikeSharp.API, qui vous donne accès au jeu. Supprimez le fichier Class1.cs généré, vous n’en aurez pas besoin.
<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>
Écrivez le plugin
Créez HelloWorldPlugin.cs. Tout plugin est une classe qui hérite de BasePlugin et se donne un nom et une version. La méthode Load s’exécute une fois, quand le serveur charge le plugin, et c’est là que démarre votre code.
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!"); }}
Compilez-le
Vous pouvez compiler en local avec dotnet build -c Release, ou vous épargner l’installation : zippez le dossier (fichier de projet et fichier .cs) et envoyez-le à notre compilateur. Il restaure les paquets, construit le plugin et vous rend un zip prêt à l’emploi.
Copiez-le sur le serveur
Dans le zip, copiez uniquement le dossier du plugin dans addons/counterstrikesharp/plugins sur votre serveur. Le dossier et la DLL doivent porter le même nom. Le dossier dependencies de notre zip est déjà fourni par CounterStrikeSharp, laissez-le de côté.
Vérifiez la console
Redémarrez le serveur, ou chargez le plugin pendant qu’il tourne. Dans la console, vous devriez voir votre message. Sinon, exécutez css_plugins list pour savoir si le plugin a été trouvé et lisez notre guide sur les plugins qui ne se chargent pas.
Hello World!
CounterStrikeSharp.API Loaded Successfully.
Modifiez et rechargez
Quand le plugin marche, changez le message, recompilez et remplacez la DLL. CounterStrikeSharp gère le rechargement à chaud : sur un serveur de développement, vous pouvez souvent essayer une nouvelle version sans redémarrer. La suite, ce sont les commandes et les événements de jeu, traités dans nos autres guides.
Ce tutoriel vous a-t-il été utile ?
Barlap pour la communauté.