Skip to content
@HosihikariFramework

星光框架

🌟 Bringing your favorite .NET tech into Minecraft Bedrock Edition ❤️

Hosihikari Framework

Hosi Hikari, the Hosihikari Framework mascot
Art by 墨鱼纸鸢

English | 简体中文

A plugin container that brings .NET plugins to Minecraft Bedrock Dedicated Server (BDS). Also known as 星光框架.

A carrier (LeviLamina, Endstone, or the Linux self-hosted carrier) loads the native HostingShim, which hosts the CLR inside the server process. The managed PluginManager discovers plugins, resolves dependencies, isolates them, and drives their lifecycle. C# and F# loaders compile source at load; RpcLoader runs plugins out of process; the core's built-in loader handles precompiled assemblies.

Current release: Hosihikari.Plugin.Abstractions 1.1.0 · PluginManager v1.1.0 · HostingShim v1.1.0 · C#/F#/RPC Loaders v1.0.0 · Plugin.Build / Testing 1.0.0 · Plugin Templates 1.0.1
Platforms: Windows x64 (LeviLamina 26.51, Endstone 0.11) · Linux x64 (Endstone 0.11, self-hosted BDS 1.21.3)
Contract: api_version 2 · manifest manifest_version 1

Documentation

Install

Run in the server root:

# self-hosted Linux
lip install github.com/HosihikariFramework/HostingShim

# LeviLamina
lip install github.com/HosihikariFramework/HostingShim#levilamina

# Endstone (Windows / Linux)
lip install github.com/HosihikariFramework/HostingShim#endstone

# In-process source loaders
lip install github.com/HosihikariFramework/CSharpLoader
lip install github.com/HosihikariFramework/FSharpLoader

# Out-of-process loader
lip install github.com/HosihikariFramework/RpcLoader

# Precompiled plugin templates
dotnet new install Hosihikari.Plugin.Templates::1.0.1

A plugin package is a directory under plugins/ whose name matches name in its manifest. Start with the quick start.

Plugin project packages

In the plugin project directory, add the build package:

dotnet add package Hosihikari.Plugin.Build --version 1.0.0

In the test project directory, add the test package:

dotnet add package Hosihikari.Testing --version 1.0.0

Repositories

Repository Purpose
HostingShim Native hosting shim: hosts the CLR in BDS and hands control to the managed core
PluginManager Managed core: discovery, dependency graph, isolated loading, lifecycle, unload verification
PluginAbstractions Plugin contract, published on NuGet
CSharpLoader C# source loader: Roslyn compiles at load into a collectible ALC
FSharpLoader F# source loader: compiles at load into a collectible ALC
RpcLoader Out-of-process loader over line-delimited JSON-RPC 2.0, with Node/QuickJS/Python/Java/Kotlin bindings
CSharpPluginTemplate Source C# plugin template
FSharpPluginTemplate Source F# plugin template
RpcPluginTemplate Out-of-process templates: Node.js/TypeScript, Python, Kotlin/JVM
Hosihikari.McMaster.NETCore.Plugins Fork of McMaster.NETCore.Plugins with RID-first native library resolution
HOCON HOCON implementation used for framework configuration
hosihikariframework.github.io Documentation site and example plugins

License and trust boundary

LGPL-3.0-or-later for the framework and loaders. Hosihikari.Plugin.Abstractions 0.7.1 and later are MIT; the 0.7.0 package remains LGPL-3.0-or-later. Plugin templates and documentation code examples are MIT-0; documentation prose is CC BY-SA 4.0. In-process plugins run in the host process; cross-process plugins run in a child process. Both are fully trusted, and the framework provides no permission boundary; do not load untrusted plugins.

Popular repositories Loading

  1. PluginAbstractions PluginAbstractions Public

    Public plugin contract for the Hosihikari Framework: IPlugin, IPluginLoader, manifests, events, and scheduling.

    C#

  2. PluginManager PluginManager Public

    Managed plugin manager for the Hosihikari Framework: discovery, dependency resolution, lifecycle, and unload verification.

    C#

  3. HostingShim HostingShim Public

    Native hosting shim that brings the CLR into Bedrock Dedicated Server and hands control to the managed plugin manager.

    C++

  4. HOCON HOCON Public

    Forked from akkadotnet/HOCON

    C# implementation of Lightbend's HOCON configuration format, maintained as a Hosihikari fork.

    C#

  5. FSharpLoader FSharpLoader Public

    F# source loader for the Hosihikari Framework: compiles plugins with FSharp.Compiler.Service and loads them into a collectible assembly load context.

    C#

  6. CSharpLoader CSharpLoader Public

    C# source loader for the Hosihikari Framework: compiles plugins with Roslyn and loads them into a collectible assembly load context.

    C#

Repositories

Showing 10 of 13 repositories

Top languages

Loading…

Most used topics

Loading…