Deepslate
A Minecraft server proxy library written in Rust.
Deepslate sits between players and backend servers, handling authentication, packet forwarding, and server switching. Use this crate to build a custom proxy binary with compile-time plugins and full type safety.
Quick Start
Add deepslate to your Cargo.toml:
[]
= "0.3"
= { = "1", = ["rt-multi-thread", "macros"] }
Build a proxy binary with a plugin:
use ;
use *;
use *;
const LOBBY: ServerId = new;
;
async
Features
Plugins are compiled into the binary rather than loaded at runtime, giving you zero dispatch overhead and compile-time guarantees.
- Minecraft Java Edition 1.21.x
- Online mode with Mojang authentication
- Velocity modern forwarding
- Compile-time plugin system with an events API
- Environment variable and code-driven configuration
Feature Flags
| Flag | Default | Description |
|---|---|---|
grpc |
Yes | gRPC control plane for managing backend servers at runtime |
grpc-reflection |
Yes | gRPC server reflection (requires grpc) |
To disable gRPC:
[]
= { = "0.3", = false }
Documentation
For configuration, the plugin API, events, and more, see the wiki.
Licence
Deepslate is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.