Installation¶
Requirements¶
- Windows x64 or Linux x64
- An Endstone BDS server for the matching OS (Endstone 0.11.x recommended)
-
.NET 10 Runtime, satisfied by either:
- .NET 10 installed on the system (run
dotnet --list-runtimesand look forMicrosoft.NETCore.App 10.x), or -
A copy of a .NET 10 installation folder, with
ENDSTONE_DOTNET_PATHset before the server starts:
The loader looks for a .NET runtime in this order: the
ENDSTONE_DOTNET_PATHenvironment variable, then the system-wide installation. If neither exists, the loader is not started and .NET plugins are skipped (the server still boots normally and an error is printed). - Windows: VC++ 14.x redistributable (missing it produces e.g. "msvcp140.dll not found") - Linux: shared libraries required by the Endstone native runtime (e.g.libc++) - .NET 10 installed on the system (run
Steps¶
-
Extract the release zip for your OS and copy the
pluginsandplugins.netfolders into the server root directory (next tobedrock_server). The final layout is:<server root>\ bedrock_server plugins\ endstone_dotnet_loader.dll # Windows endstone_dotnet_loader.so # Linux dotnet_loader\ runtime\ Endstone.Loader.dll Endstone.Loader.runtimeconfig.json Endstone.Loader.deps.json plugins.net\ Example.Plugin.dllNote:
endstone_dotnet_loader.dll/.soexists in two places underplugins\(plugins\andplugins\dotnet_loader\). Both are required. -
(Optional but recommended) Clear the
plugins\.local\folder. It is the plugin loading cache; stale cache entries can cause problems after an upgrade. -
Start the server. A successful startup looks like this:
-
Join the game and run
/example hello(alias/ex hello). A reply "Hello,!" means everything works.
Verifying the example plugin¶
The bundled example plugin Example.Plugin.dll also provides these commands:
| Command | Purpose |
|---|---|
/ex test |
Sends .test in chat to trigger the 30-item automated API self-test |
/ex whoami |
Shows info about you / the console |
/ex item |
Inspects the full attributes of the item in hand |
/ex enchant <list\|info\|add\|remove\|clear> [id] [level] [force] |
Enchantments on the held item |
/ex tag <show\|hide\|always\|score\|sb> |
Name tag and scoreboard tag operations |
/ex mob <type> [name] [health] |
Spawns a mob |
/ex form <message\|action\|modal> |
The three form types (player only) |
/ex boss <show\|hide> |
Boss bar (player only) |
/ex level [time\|block\|highest\|spawn\|drop\|chunks] |
Level / dimension operations |
/ex map <create\|send\|item\|clear> |
Map and map renderer |
/ex inv <show\|give\|slot\|clear> |
Inventory operations |
/ex sched <once\|async\|timer\|stop\|pending> |
Scheduler demo |
Typing dotnet-test in the console triggers a broadcast to verify the console event pipeline.
Updating and uninstalling¶
- Update: stop the server, overwrite the matching files in
plugins\andplugins.net\, clearplugins\.local\, restart. - Uninstall: stop the server, delete
endstone_dotnet_loader.dll(Windows) /endstone_dotnet_loader.so(Linux) fromplugins\, delete the wholeplugins\dotnet_loader\folder and the corresponding*.Plugin.dllfiles fromplugins.net\, restart.