一份契约
实现 IPlugin。载入、启用、停用与卸载由框架驱动;违反契约的包在运行之前就被拒绝。
一份契约
实现 IPlugin。载入、启用、停用与卸载由框架驱动;违反契约的包在运行之前就被拒绝。
隔离
每个插件一个可回收的程序集装载上下文。卸载经过验证,单个插件失败不会拖垮服务端。
进程内加载器
C# 与 F# 源码在装载时 AOT 为 IL;加载器把 IL 装进 collectible ALC,插件管理器驱动生命周期。预编译程序集由插件管理器内置入口装载。RpcLoader 是进程外加载器:官方 RPC 桥。
三个载体
同一份插件管理器跑在 LeviLamina、Endstone(Windows 与 Linux)与自持态 Linux(BDS 1.21.3)上。
本文档也有English.
RpcLoader 是进程外加载器:官方 RPC 桥,给无法编译为 IL 的插件用。