Rift

A Minecraft Java Edition proxy written in Rust with embedded LuaJIT.

lobby

survival

games

  1. You joined through play.example.com and landed in lobby

Quick start

Download the archive for your platform from Releases, extract it and run:

  1. ./rift initWrite a commented rift.lua configuration
  2. ./rift checkValidate rift.lua without opening any ports
  3. ./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 %

Method and limitations

Guides

Press a number key to jump to a hotbar slot.