MySQL: Online
Load: Low
Sandbox: Running

はじめてのCounterStrikeSharpプラグイン:Hello World

CounterStrikeSharpのプラグインを書くのに、プログラミングの経験は多くなくて構いません。動くプラグインは、小さなC#クラスとプロジェクトファイルだけでできています。このガイドでは、何もない状態からサーバーコンソールにHello Worldが表示されるまでを進めます。ここで学ぶ内容は、もっと大きなプラグインでもそのまま使えます。

1

.NET 8 SDKをインストールする

CounterStrikeSharpのプラグインは、.NET 8上のC#で書きます。パソコンに.NET 8 SDKをインストールし、ターミナルを開いて動作を確認してください。コマンドを実行するとインストール済みのバージョンが表示されます。8で始まっていれば問題ありません。

dotnet --version
2

プロジェクトを作る

空のフォルダーを作成し、その中でターミナルを開いてクラスライブラリーを生成します。ここで付けた名前がプラグインのDLL名になるので、スペースを含まないわかりやすい名前にしましょう。

dotnet new classlib --name HelloWorldPlugin
3

プロジェクトファイルを編集する

生成された.csprojファイルを開き、内容を以下に置き換えます。重要なのは、ゲームにアクセスするためのCounterStrikeSharp.APIへの参照です。生成されたClass1.csは不要なので削除してください。

<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

プラグインのコードを書く

HelloWorldPlugin.csを作成します。プラグインはBasePluginを継承したクラスで、名前とバージョンを自分で宣言します。Loadメソッドは、サーバーがプラグインを読み込んだときに1回だけ実行され、あなたのコードはここから始まります。

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

コンパイルする

ローカルではdotnet build -c Releaseでコンパイルできます。環境構築を省きたい場合は、フォルダー(プロジェクトファイルと.csファイル)をzipにして当社のコンパイラーにアップロードしてください。パッケージを復元し、プラグインをビルドして、すぐ使えるzipを返します。

HelloWorldPlugin.zip
HelloWorldPlugin.csproj
HelloWorldPlugin.cs
コンパイラーを開く
6

サーバーにコピーする

zipの中から、プラグインのフォルダーだけをサーバーのaddons/counterstrikesharp/pluginsにコピーします。フォルダー名とDLL名は同じにしてください。当社のzipに含まれるdependenciesフォルダーはCounterStrikeSharpがすでに提供しているため、コピーしません。

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

コンソールで確認する

サーバーを再起動するか、稼働中にプラグインを読み込みます。サーバーコンソールにメッセージが表示されるはずです。表示されない場合は、css_plugins listでプラグインが認識されているか確認し、「プラグインが読み込まれない」ガイドもご覧ください。

Hello World!
CounterStrikeSharp.API Loaded Successfully.
8

変更して再読み込みする

プラグインが動いたら、メッセージを変更して再コンパイルし、DLLを差し替えます。CounterStrikeSharpはホットリロードに対応しているので、開発用サーバーなら、再起動せずに新しいバージョンを試せることも多くあります。次のステップは、ほかのガイドで取り上げているコマンドとゲームイベントです。

このチュートリアルは役に立ちましたか?

ページは 0.011 秒で生成されました
CounterStrikeSharp Web Compiler V1.0 - Made with 作成: RomaniaBarlap コミュニティのために。