Skip to main content
Euca is a self-hosted, developer-facing engine: you run a server, and clients (your code, the CLI, a model) talk to it over one HTTP API. This page is the honest operational picture.

Run a server

# The reference headless server (pass the port explicitly)
cargo run -p euca-agent --example headless_server -- 3917
The server binds 127.0.0.1 (localhost only). The conventional port is 3917 — the CLI and the generated OpenAPI default to it — but the example binds 8080 if you don’t pass a port, so pass 3917. POST requests must send Content-Type: application/json. POST /step is capped at 10,000 ticks per call.
The reference server is intentionally minimal. It registers the world, the unified rule system, and the gameplay schedule. Subsystems that need their own resource or a GPU — templates/prefabs, input bindings, Lua scripting, audio, and camera/rendering — are not wired into this example and must be registered on your own server build (or run on a GPU host).

Point clients at a host

There is no EUCA_URL environment variable in the engine. Clients take a base URL directly:
  • CLIeuca --server http://localhost:3917 <command> (default is http://localhost:3917).
  • HTTP — your client sets the base URL itself. For a hosted deployment, point it at the host’s URL.

Auth posture

  • Local / self-hosted: unauthenticated. A localhost server trusts its caller — there is no API key and no login by default. This is the intended posture for a trusted dev environment.
  • POST /auth/login and GET /auth/status exist but are dormant — the auth store isn’t installed by default, so they’re inert. They are scaffolding for a hosted, multi-tenant scenario, not a feature to enable locally.
  • Hosted / benchmark access (where it exists) layers an API key at the hosting tier (e.g. a reverse proxy), not inside the engine — the truth-hiding evaluation boundary is the relevant access control for graded runs.

Platforms & what’s not here

  • Platforms — macOS and Linux. The headless server has no GPU dependency and runs anywhere the engine builds.
  • No managed/cloud offering yet. There is no Docker image, Kubernetes manifest, CI/CD deploy pipeline, multi-tenancy, rate limiting, or built-in monitoring in the repo. Containerizing the single binary is straightforward, but no reference deployment ships today. Treat hosting as “run the binary behind your own infrastructure.”

The euca CLI

Drive a running server from a shell, with --server to target a host.