跳转到内容

第一个插件

这一页把一台已经能跑的服务端带到有一个插件在跑。它假定框架已经装好;没装的话先看服务器。

构建插件需要你机器上装有 .NET 10 SDK。服务端需要 .NET 10 运行时——框架能起来就已经有了。

在服务端之外的目录里:

终端窗口
dotnet new install Hosihikari.Plugin.Templates
dotnet new hosihikari-plugin -n HelloPlugin -o HelloPlugin

得到的是一个完整的预编译插件项目。用 dotnet new hosihikari-plugin-fsharp 生成 F# 版本。

终端窗口
dotnet add ./HelloPlugin/HelloPlugin.csproj package Hosihikari.Plugin.Build --version 1.0.0
dotnet build ./HelloPlugin/HelloPlugin.csproj -t:PackPlugin

PackPlugin 产出 HelloPlugin/dist/HelloPlugin/——插件包目录,清单已经填好。多目标项目要带 -f <tfm>。

先把 Server 设成服务端根目录:

终端窗口
Server=/path/to/bedrock-server

把目录拷进去:

终端窗口
cp -r ./HelloPlugin/dist/HelloPlugin "$Server/plugins/HelloPlugin"

目录名必须与清单里的 name 相等。重启服务端。

日志里应当能看到插件装载并启用。然后看它写了什么:

终端窗口
ls "$Server/data/hosihikari/HelloPlugin"

数据目录里出现插件的文件,就说明它跑过了。

模板产出的是预编译程序集。要交付在装载时编译的 .cs 或 .fsx 源码,装上对应的加载器包,把清单指向 源文件即可。包的结构见 C# 插件。