One contract
Implement IPlugin. The framework drives load, enable, disable, and unload, and refuses packages that break the contract before they run.
Hosi Hikari · art by 墨鱼纸鸢
One contract
Implement IPlugin. The framework drives load, enable, disable, and unload, and refuses packages that break the contract before they run.
Isolation
Every plugin gets its own collectible assembly load context. Unload is verified, and a failing plugin does not take the server down.
In-process loaders
C# and F# source is compiled AOT to IL; the loader loads it into a collectible ALC, and the plugin manager drives lifecycle. Precompiled assemblies use the plugin manager's built-in path. RpcLoader is the out-of-process loader: an official RPC bridge.
Carriers
The same plugin manager runs under LeviLamina, Endstone on Windows and Linux, and the self-hosted Linux carrier (BDS 1.21.3).
The documentation is also available in 简体中文.
RpcLoader is the out-of-process loader: an official RPC bridge for plugins that cannot be compiled to IL.