Skip to content
ELURA/ ONLINE RUNTIME

Run the world behind your game.

A Rust server framework with typed game logic, resilient networking, and infrastructure that scales only when you need it.

Start with a generated application

You do not need to understand every Elura crate before running a server. Generate an application first, then learn each piece while changing real code:

bash
cargo install elura-cli
mkdir my-game && cd my-game
elura init all --dir .

The generator creates editable application code, local configuration, Docker files, and Kubernetes manifests. Continue with the 10-minute quick start to configure development secrets and launch both processes.

The mental model

text
Player client ──> Gateway ──> World ──> your typed handler
                  sessions     routing   game rules
  • Gateway owns public connections, authentication, sessions, and routing.
  • World executes authenticated game commands and middleware.
  • Your application owns routes, game rules, configuration, persistence, and deployment choices.

That separation stays the same whether you run locally, as a monolith, or across multiple Kubernetes nodes. Read the architecture overview when you want the full picture.

Choose your next step

I want to…Go to…
Run Elura for the first timeQuick start
Run Gateway and World in one process without the CLIManual single-process setup
Build separate Gateway and World processes without the CLIManual split setup
Assemble shared state and dynamic discoveryManual distributed setup
Add my first game commandWorld modules and routes
Build realtime rooms, AOI, prediction, or entity replicationRealtime gameplay
Add TCP, UDP, WebSocket, WebTransport, QUIC, or a custom client endpointClient transports
Add an Axum HTTP API or callback endpointApplication HTTP services
Connect a Rust, C++, or C# clientClient SDKs
Understand generated filesGenerated project
Choose Redis, SQL, DNS, Kubernetes, or a custom backendAdapters
Add login, OTP, SMS, or paymentsProviders
Prepare a production releaseProduction checklist

Project status

The current documented version is v0.3.1, and this site tracks main-branch capabilities. Official Rust, C++20, and C# / Unity SDKs are maintained in separate GitHub repositories and are no longer generated by the CLI. The project remains pre-1.0: pin exact versions in production and review release notes and compatibility before upgrading.

Released under the MIT License.