elura 0.2.2

Unified facade for the Elura online-game server framework
Documentation

Elura

A modular Rust framework for online game servers.

CI Rust 1.97+ License

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.x development. 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:

cargo install elura-cli
elura skill install
elura init all --dir .

The skill is installed in .agents/skills/elura-app-development for project-level coding agents. 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:

[dependencies]
elura = { version = "0.2.2", features = ["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:

make verify

This checks formatting, Clippy, tests, Rustdoc, and package contents.

License

Elura is dual-licensed under your choice of: