Elura
A modular Rust framework for online game servers.
Documentation · API reference · Crates.io
Elura separates client connections from game logic. Gateway processes own connections and sessions; World processes execute commands and manage player state. They can scale independently or run together as a monolith.
[!IMPORTANT] Elura is under active
0.xdevelopment. Minor releases may contain breaking API changes.
Highlights
- WebSocket and QUIC transports, sessions, routing, middleware, and graceful shutdown.
- Distributed Gateway and World deployment or single-process monolith mode.
- Application-owned infrastructure with optional Redis, SQL, and Kubernetes adapters.
- Optional identity, notification, OTP, and payment providers.
Clients ── WebSocket / QUIC ──▶ Gateway ── routed commands ──▶ World
sessions game logic
│ │
└── Redis · SQL · Kubernetes ────┘
Quick start
Install the CLI and scaffold an application:
The generated project includes Gateway, World, and monolith binaries, configuration, Docker assets, Kubernetes manifests, and client SDK generation. Continue with the documentation.
Crates and features
The elura facade enables gateway and world by default. Everything else is opt-in.
| Crate | Purpose |
|---|---|
elura-core |
Protocol, session, routing, and cross-process contracts |
elura-runtime |
Lifecycle, security, administration, and observability |
elura-gateway |
Client connection and session runtime |
elura-world |
Command and player-state runtime |
elura-monolith |
Single-process Gateway and World composition |
elura-adapters |
Redis, SQL, and Kubernetes implementations |
elura-providers |
Identity, notification, OTP, and payment integrations |
elura-cli |
Project and client-SDK generator |
Example feature selection:
[]
= { = "0.2", = ["monolith", "redis"] }
Applications may implement the public storage and transport contracts themselves; using
elura-adapters or elura-providers is not required.
Development
Rust 1.97 or newer is required. Run the full verification suite with:
This checks formatting, Clippy, tests, Rustdoc, and package contents.
License
Elura is dual-licensed under your choice of: