MySQL: Online
Load: High
Sandbox: Ready

你的第一个 CounterStrikeSharp 插件:Hello World

编写 CounterStrikeSharp 插件并不需要丰富的编程经验。一个能运行的插件,就是一个小小的 C# 类加上一个项目文件。本指南带你从零开始,一直做到在服务器控制台看到 Hello World,而你在这里学到的内容同样适用于更大的插件。

1

安装 .NET 8 SDK

CounterStrikeSharp 插件是用 C# 在 .NET 8 上编写的。请在电脑上安装 .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 方法在服务器加载插件时只执行一次,你自己的代码就从这里开始。

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.015 秒
CounterStrikeSharp Web Compiler V1.0 - 制作工具 由 RomaniaBarlap 为社区打造。