これを見る前に…
前提として公式のドキュメント見たほうが早いです。 英語読める人はこっち見るのおすすめ。
とりあえず入れよう
筆者は本番環境がWindowsであるため開発環境もWindowsで構築しています。
自分の環境
開発
- Windows 10 22H2
- .NET 8.0.101
- Visual Studio Code
テストサーバー
- VMWare Workstation
- Windows 11 23H2
サーバーの環境構築
0. Windows環境の場合
Visual Studio再頒布可能パッケージがないとWindowsのサーバーでは動作しないのでインストールしておいてください。
1. SteamCMDからCounterStrike2をインストールする
- https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip から
steamcmd.zip
をダウンロード steamcmd.zip
を解凍- 中にある
steamcmd.exe
を実行 force_install_dir <インストール先>
でインストール先を指定login anonymous
でログインapp_update 730
でインストール開始- 終わるまで待つ
2. Metamodを入れる
ここから2.x系のMetamodをダウンロードしたら
- Metamodを解凍して
game/csgo
ディレクトリにaddons
ディレクトリをコピペ game/csgo
ディレクトリの中にあるgameinfo.gi
を開くGame_LowViolence csgo_lv
の下にGame csgo/addons/metamod
を追加する- サーバー起動
3. CounterStrikeSharpを入れる
- ここから
counterstrikesharp-with-runtime-build-***-windows-*******.zip
をダウンロード - Metamodを解凍して
game/csgo
ディレクトリにaddons
ディレクトリをコピペ - サーバー起動
4. 確認
サーバーが起動したらmeta list
と打って、CounterStrikeSharpが出てくればOK
開発環境構築
1. .NET SDKを入れる
まずここから.NET 8.0のSDKをダウンロードします。
2. NETのクラスライブラリを作成する
以下のコマンドを使用して、クラスライブラリのプロジェクトを作成します。
1 | dotnet new classlib --name <ProjectName> |
3. 依存関係を追加する
<ProjectName>.csproj
があるディレクトリで、以下のコマンドを使用してCounterStrikeSharpAPIを依存関係として追加します。
1 | dotnet add package CounterStrikeSharp.API |
4. とりあえずHello Worldしておく
以下のようなコードで適当にhelloworld.cs
とかで保存すればHello World出来ます。
1 | namespace VeryNicePlugin { |
5. コンパイル
<ProjectName>.csproj
があるディレクトリでdotnet build --configuration Release
を実行します。- 成果物が、
<ProjectName>\bin\Release\
以下に生成されます
6. サーバーに導入
<ProjectName>.dll
をサーバーのPluginsにコピーしてあげれば勝手にホットリロードされます。
入れる際は、plugins/<ProjectName>/<ProjectName>.dll
としないと読み込まれないので注意