> ## Documentation Index
> Fetch the complete documentation index at: https://docs.simforge.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# simforge env

> Reference for simforge env: usage, arguments and flags, generated from the CLI.

Generated from the CLI's own help (CLI 0.2.0-rc.5). Global flags and exit codes are on the [command reference](/cli).

## env serve

Serve reset/step/observe episodes over a local socket or named pipe

```sh theme={null}
simforge env serve [OPTIONS] --socket <PATH> <WORKSPACE>
```

Runs on: local runtime.

| Argument / flag | Notes | What |
| - | - | - |
| `<workspace>` | required | The scenario package or workspace directory (a package without a simulation is compiled from its document and recordings) |
| `--socket PATH` | required | Local endpoint path; Windows derives a same-user named pipe from this path |
| `--rig RIG.JSON` | | The sensor rig (`simforge.render-rig/v1`, as `simforge render` takes it) |
| `--no-sensors` | | Serve the episode without a renderer (observations are the engine's only) |
| `--observation-profile OBSERVATION_PROFILE` | one of state, sensors, both | Restrict observations to state, sensors, or both; omission preserves the native layout |
| `--preset PRESET` | one of training, showcase; default training | The render preset for observations (`schematic` is offline `simforge render` only) |
| `--set KEY=VALUE` | repeatable | Renderer overrides, including textureMaxSize=1024\|2048\|4096\|full |
| `--passes PASSES` | one of rgb, hdr, id, depth, semantic; default rgb; repeatable | Camera passes rendered per observation, comma-separated |
| `--textures TEXTURES` | one of uastc-full, bc7-512; default uastc-full | The staged texture tier |
| `--episode EPISODE.JSON` | | Episode configuration (camelCase `EpisodeConfig`, as the gym's episode specs carry it) |
| `--decision-hz HZ` | | Policy decisions per second (overrides the episode's `decisionHz`) |
| `--max-objects N` | default 64 | Rows of the `objects` observation |
| `--allow-software-adapter` | | Render on a software (CPU) Vulkan adapter such as lavapipe, explicitly |
| `--map-dir DIR` | | Use this map directory instead of the installed map found by content |
| `--cache-root DIR` | | Map cache root to search. Default: SIMFORGE\_MAPS\_CACHE\_ROOT, then \$XDG\_DATA\_HOME/simforge/maps |
| `--assets-root DIR` | | Actor-asset root. Default: SIMFORGE\_ACTOR\_ASSETS\_ROOT, then \$XDG\_DATA\_HOME/simforge/actor-assets |
| `--actor-closure SHA256` | | The actor closure to bind, instead of the workspace's `catalog.actorClosureDigest` |
| `--actor-layer SHA256` | | The workspace's private model layer (an actor closure in the same store) for `workspace.*` models, instead of the workspace's `simforge.actorLayer` extension |
| `--vram-budget BYTES` | | A texture budget in bytes; without it admission is skipped (reported) |
| `--log FILE` | | Where the renderer's diagnostics go. Default: `<socket>.log` |
| `--allow-map-drift` | | Render on the installed map release even where its members differ from the workspace's map closure (recorded; the default refuses) |
| `--max-sessions N` | default 8 | Maximum concurrent client sessions sharing one prewarmed renderer. Training defaults to eight sessions per map renderer |
| `--shm-size-mb MIB` | default 512 | Size of the renderer's shared-memory frame ring, MiB |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.