Server
| Setting | Value | Notes |
|---|---|---|
| Bind address | 127.0.0.1 | Localhost only — no remote binding by design |
| Port | 3917 (convention) | The CLI and OpenAPI default to 3917; the headless_server example binds 8080 if no port arg, so pass 3917 |
| Content-Type | application/json | Required on all POST requests |
/step limit | 10,000 ticks | Per call (clamped) |
| Auth | none (local) | Unauthenticated; see Hosting |
| Version | 1.2.0 | Workspace version, Rust edition 2024 |
Environment variables
- There is no
EUCA_URL. Clients take a base URL directly — the CLI via--server(defaulthttp://localhost:3917), HTTP clients via their own config. - Asset-generation keys — the asset pipeline reads provider API keys
from the environment (
TRIPO_API_KEY,MESHY_API_KEY, …). None ship by default; an.env.exampledocuments the shape. ANTHROPIC_API_KEY— used only by the benchmark crate’s optional LLM grading, not the engine.
Rendering options
Rendering features like MetalFX are runtime renderer options (renderer.enable_metalfx(true)),
not compile-time feature flags — there’s no server-level flag to toggle them. See
Engine internals for which render features are on by default vs. opt-in.
What the reference server registers
Theheadless_server example is a minimal world: it registers Events and the unified
rule system + gameplay schedule. It does not register a
TemplateRegistry/PrefabRegistry, an input ActionMap, a Lua ScriptEngine, an audio engine, or a
camera/GPU — so those endpoints no-op, error, or require a render host (see
Troubleshooting). Register the resources you need on your own server build.
Hosting & deployment
Running a server, auth posture, and platform support.