跳转到内容
星光 星光 · 立绘:墨鱼纸鸢

把 .NET 插件带进基岩版专用服务器

你自己的库与工具链,进程内加载——逐个隔离,卸载有验证。

一份契约

实现 IPlugin。载入、启用、停用与卸载由框架驱动;违反契约的包在运行之前就被拒绝。

隔离

每个插件一个可回收的程序集装载上下文。卸载经过验证,单个插件失败不会拖垮服务端。

进程内加载器

C# 与 F# 源码在装载时 AOT 为 IL;加载器把 IL 装进 collectible ALC,插件管理器驱动生命周期。预编译程序集由插件管理器内置入口装载。RpcLoader 是进程外加载器:官方 RPC 桥。

三个载体

同一份插件管理器跑在 LeviLamina、Endstone(Windows 与 Linux)与自持态 Linux(BDS 1.21.3)上。

本文档也有English.

RpcLoader 是进程外加载器:官方 RPC 桥,给无法编译为 IL 的插件用。