Skip to main content
Euca’s server is deliberately simple to run. This page lists the operational knobs, grounded in code.

Server

SettingValueNotes
Bind address127.0.0.1Localhost only — no remote binding by design
Port3917 (convention)The CLI and OpenAPI default to 3917; the headless_server example binds 8080 if no port arg, so pass 3917
Content-Typeapplication/jsonRequired on all POST requests
/step limit10,000 ticksPer call (clamped)
Authnone (local)Unauthenticated; see Hosting
Version1.2.0Workspace version, Rust edition 2024
cargo run -p euca-agent --example headless_server -- 3917

Environment variables

  • There is no EUCA_URL. Clients take a base URL directly — the CLI via --server (default http://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.example documents 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

The headless_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.