MySQL: Online
Load: Low
Sandbox: Running

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.

1

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
2

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
3

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

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

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.

HelloWorldPlugin.zip
HelloWorldPlugin.csproj
HelloWorldPlugin.cs
Ouvrir le compilateur
6

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

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

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

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 ?

Page générée en 0.012 secondes
CounterStrikeSharp Web Compiler V1.0 - Fait avec par RomaniaBarlap pour la communauté.