# Recording
A recording is a per-tick snapshot stream of one player's state, saved to a single `.recap` file.
---
## What gets captured
Every server tick the recorder writes:
- **Movement** — position, rotation, velocity, on-ground flag.
- **Pose & flags** — sneaking, sprinting, swimming, flying, on fire, invisible, glowing.
- **Equipment** — main hand, off hand, 4 armor slots (delta-encoded).
- **Full inventory** — all 41 slots (delta-encoded; only re-emitted when contents actually change).
- **Combat events** — arm swing, item use, critical hits, enchanted-crit particles, damage taken, totem use, riptide.
- **Block interactions** — place, break, mine progress, sign edits, container open/close.
- **Vehicle** — enter / leave for any rideable entity.
- **Sleeping** — bed enter / leave with position.
- **Tracked mobs** — entities within the configured capture radius (default 128 blocks): type, position, equipment, health, baby variant, variant data.
- **Particles** — server-emitted particle packets.
- **Captured packets** — allowlisted server→client packet types (sounds by default; plugins can add their own — see [[Recap/Developers/Packet Capture]]).
- **Death** — vanilla death events.
- **Player skin** — texture URL + signature stored once in the header so the NPC wears the same skin.
- **Environment block changes** *(opt-in via `--environment`)* — world-driven block updates near the player such as pistons and redstone, so contraptions replay in sync.
---
## Starting a recording
```
/recap start <name>
/recap start <name> @a
```
When recording multiple players, output files are named `<name>_<PlayerName>`.
---
## Flags
| Flag | Shorthand | What it does |
|---|---|---|
| `--world <radius>` | `-w <radius>` | Capture a cube of nearby blocks (max 128) alongside the recording. See [[Recap/Server Owners/Features/World Snapshots]]. |
| `--scene <name>` | `-s <name>` | Auto-append each output recording to the named scene on stop. Scene must already exist. |
| `--environment` | `--env` | Also record world-driven block changes near the player (pistons, redstone). Default recordings stay player-driven. |
| `--uncapped` | — | Lift the per-tick block-change limit for large/fast contraptions. Use with `--environment`. |
Flags can combine in any order:
```
/recap start 300_fight @a -w 32 -s big_battle
```
---
## Stopping
```
/recap stop # stop your own recording
/recap stopall # stop every active recorder
```
Recordings save to `plugins/Recap/recordings/<name>.recap` immediately.
---
## Cancelling
```
/recap cancel # discard your in-flight recording
/recap cancelall # discard all in-flight recordings
```
Cancelled recordings are not saved and not appended to any pending scene.
---
## Disk format
Recordings are GZIP-compressed binary streams with delta encoding, bit-flag packing, and skip-tick compression. A typical 60-second recording is tens of KiB; a heavy combat clip with inventory churn is hundreds of KiB.
If a recording grows unexpectedly large (megabytes), check for inventory NBT churn — items with random NBT components (mace attack data, etc.) used to inflate recordings before the byte-comparison delta fix in v0.1.4.
---
## See Also
- [[Recap/Server Owners/Features/Playback]] — playing recordings back
- [[Recap/Server Owners/Features/Scenes]] — composing recordings into scenes
- [[Recap/Server Owners/Features/Hijack]] — interactive playback