Rift
A Minecraft Java Edition proxy written in Rust with embedded LuaJIT.
lobby
survival
games
- You joined through play.example.com and landed in lobby
Quick start
Download the archive for your platform from Releases, extract it and run:
./rift initWrite a commented rift.lua configuration./rift checkValidate rift.lua without opening any ports./riftStart the proxy using rift.lua
Java 1.8.9 to 26.3. Backends and clients use the same version; Rift never translates.
Inventory
Hover or focus a slot to read what it does.
- Hostname routing
- One listener serves many servers. Exact names win, then the longest wildcard, then the default.
- Online authentication
- Rift verifies accounts with Mojang and forwards identities to Paper with Velocity modern forwarding.
- Configured in Lua
- An ordinary script with modules and folder plugins. Validate with rift check, apply with a reload.
- Extensions
- Login and transfer hooks, permission-checked commands, FIFO queues and durable state.
- Server switching
- /server, /hub and crash recovery keep the client connected while the backend changes.
- Web dashboard
- Edit, validate and apply the configuration from a browser. Status and Prometheus metrics built in.
- Plugin messaging
- A subject broker shared by Lua, Rust and server plugins over authenticated QUIC.
- BungeeCord channel
- Existing Bukkit and Paper plugins can transfer players and query the network.
Stats
Median of three loopback trials with 16 clients. Shorter bar is better.
Peak memory
Rift 8.86 MiB
Velocity 354.40 MiB
CPU during login bursts
Rift 54.00 %
Velocity 208.12 %
Guides
Press a number key to jump to a hotbar slot.
- OverviewInstall, first run, authentication and hostname routing.
- Lua configurationScript-style settings, local modules and folder plugins.
- Authenticated extensionsLogin and transfer hooks, commands, permissions, queues and durable state.
- Operationssystemd, containers, reloads, maintenance, upgrades and rollback.
- Managed serversLocal processes, service groups, scaling, templates and persistent worlds.
- Web dashboard and HTTPThe bundled dashboard, status site, config API and Lua endpoints.
- MessagingA subject broker shared by Rust, Lua and QUIC server plugins.
- Messaging from LuaSubscriptions, publishing and limits inside Lua callbacks.
- Messaging protocolThe QUIC wire format for clients in any language.
- BungeeCord compatibilityTransfers and player queries for existing Bukkit/Paper plugins.
- Network protocolBackend switching and recovery for Java 1.8.9 through 26.3.
- PerformanceCPU, memory and latency against Velocity, with reproducible runs.
Rift is BSD-2-Clause licensed and not affiliated with Mojang or Microsoft.