MySQL: Online
Load: Medium
Sandbox: Running

Dein erstes CounterStrikeSharp-Plugin: Hello World

Du musst kein erfahrener Programmierer sein, um ein CounterStrikeSharp-Plugin zu schreiben. Ein funktionierendes Plugin besteht aus einer kleinen C#-Klasse und einer Projektdatei. Diese Anleitung bringt dich von null bis zu Hello World in der Serverkonsole, und alles Gelernte gilt auch für größere Plugins.

1

Installiere das .NET 8 SDK

CounterStrikeSharp-Plugins werden in C# auf .NET 8 geschrieben. Installiere das .NET 8 SDK auf deinem Rechner, öffne dann ein Terminal und prüfe, ob es funktioniert. Der Befehl zeigt die installierte Version an, die mit 8 beginnen sollte.

dotnet --version
2

Lege das Projekt an

Erstelle einen leeren Ordner, öffne darin ein Terminal und erzeuge eine Klassenbibliothek. Der hier gewählte Name wird zum Namen deiner Plugin-DLL, wähle also etwas Klares ohne Leerzeichen.

dotnet new classlib --name HelloWorldPlugin
3

Bearbeite die Projektdatei

Öffne die erzeugte .csproj-Datei und ersetze ihren Inhalt durch den unten gezeigten. Wichtig ist der Verweis auf CounterStrikeSharp.API, der dir den Zugriff auf das Spiel gibt. Lösche die erzeugte Datei Class1.cs, du brauchst sie nicht.

<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

Schreibe das Plugin

Erstelle HelloWorldPlugin.cs. Jedes Plugin ist eine Klasse, die von BasePlugin erbt und sich einen Namen und eine Version gibt. Die Methode Load läuft einmal, wenn der Server das Plugin lädt, und dort beginnt dein eigener 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

Kompiliere es

Du kannst lokal mit dotnet build -c Release kompilieren oder dir die Einrichtung sparen: Packe den Ordner (Projektdatei und .cs-Datei) in ein ZIP und lade es in unseren Compiler hoch. Er stellt die Pakete wieder her, baut das Plugin und gibt dir ein fertiges ZIP.

HelloWorldPlugin.zip
HelloWorldPlugin.csproj
HelloWorldPlugin.cs
Compiler öffnen
6

Kopiere es auf den Server

Kopiere aus dem ZIP nur den Plugin-Ordner nach addons/counterstrikesharp/plugins auf deinem Server. Ordner und DLL müssen denselben Namen tragen. Den Ordner dependencies in unserem ZIP bringt CounterStrikeSharp schon mit, lass ihn also weg.

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

Prüfe die Konsole

Starte den Server neu oder lade das Plugin während des Betriebs. In der Serverkonsole solltest du deine Nachricht sehen. Wenn nicht, führe css_plugins list aus, um zu sehen, ob das Plugin gefunden wurde, und lies unsere Anleitung zu Plugins, die nicht laden.

Hello World!
CounterStrikeSharp.API Loaded Successfully.
8

Ändere es und lade neu

Läuft das Plugin, ändere die Nachricht, kompiliere erneut und ersetze die DLL. CounterStrikeSharp unterstützt Hot Reload, daher kannst du auf einem Entwicklungsserver neue Versionen oft ohne Neustart ausprobieren. Als Nächstes folgen Befehle und Spielereignisse, die unsere anderen Anleitungen behandeln.

War diese Anleitung hilfreich?

Seite generiert in 0.013 Sekunden
CounterStrikeSharp Web Compiler V1.0 - Erstellt mit von RomaniaBarlap für die Community.