Repository navigation
Releases
Releases · TrixNEW/Bifrost
v2.0.0-rc.13
What's Changed
Full Changelog: v1.0.0-rc.1...v2.0.0-rc.13
Bifrost 1.0.0-rc.1
First release candidate for Bifrost 1.0, a Minecraft: Bedrock Edition reverse proxy written in Zig 0.17.0.
Not yet tested against real backends with a real client; please report anything that breaks.
Highlights
- Two session modes.
passthroughrelays each player's encrypted session untouched and works with any game version.
managedterminates the session at the proxy (Minecraft 1.26.51, protocol 2193) and requires Microsoft-verified logins. - Transfers between backends in managed mode. The player stays on the old backend until the target has started the game,
and their own entity ids stay the same on every backend. - Native plugin ABI v1, now frozen. A C header (
include/bifrost_plugin.h) and a Zig SDK. Plugins get events, packet
hooks, commands shown in client autocomplete, chat messages and background tasks. The full contract is in
docs/plugin-abi.md. Plugins run in-process, so a crashing plugin takes the proxy down. - Multiple workers on Linux (
SO_REUSEPORT), health-checked backends, and a server list showing the combined player count.
Changes since 0.3.0
- Plugin host calls have defined thread rules. A new
postcall lets plugin threads run code on a player's worker. - Plugin tasks run on a fixed thread pool (
[limits] plugin_task_threads). Tasks still queued at shutdown getCANCELED. - Plugin commands are added to the backend's command list, so clients get autocomplete for them.
- New
[limits] handshake_rate_per_ip(default 2000) for the newer RakNet's per-IP handshake limit. - RakNet now includes keepalive for idle backend connections, plus hardening fixes.
- The default server-list advertisement now matches the protocol managed mode speaks.
Upgrading from 0.3.0
- Plugins must be rebuilt against the 1.0 header. ABI v1 adds
post,register_command_infoand theWRONG_THREADand
CANCELEDstatuses. transferandspawn_tasknow returnWRONG_THREADwhen called from a plugin's own thread;postto the player first.- If you set
motdin your config, update its protocol field to2193and version to1.26.51for managed mode.
Performance
On WSL2 with 12 CPUs, ReleaseFast, everything on one machine: 44.6k relayed round trips/s on one worker (146k on eight),
transfers at p50 33 ms, and 228 KiB RSS per passthrough player. Full numbers are in tests/bench/baseline.md.
New Contributors
Full Changelog: https://github.com/Bedrock-Phanatics/Bifrost/commits/v1.0.0-rc.1