Replay viewer config (replay.yml)
¶

About This Documentation
These docs were generated with AI assistance and are continuously improved.
The in-world replay viewer is its own plugin (StruxReplay). All of its settings
live in one file, replay.yml. This page lists every key, what it does, and its
default.
Where is it?¶
After the replay plugin runs once:
Edit it, then restart the server to apply changes. Delete a key to use its default. Delete the whole file to reset everything — a fresh copy is written on the next start.
Every key¶
recordings-dir¶
Where the viewer looks for recordings. By default this points at the strux
plugin's own recordings/ folder, so the two plugins share files out of the box.
Default: plugins/StructuralIntegrity/recordings
stage.origin-x / stage.origin-y / stage.origin-z¶
Where in the world a replay is rebuilt. Each replay is anchored on the recording's lowest corner and shifted to this spot. Pick an empty, flat area away from real builds so a replay never paints over something you care about.
Defaults: 0, 100, 0
stage.origin-strategy¶
How the stage is placed.
fixed— always at the origin above (the default). Several replays stand side by side automatically.near-viewer— reserved for a future "build it where I'm standing" mode. For now it behaves exactly likefixed.
Default: fixed
max-concurrent-viewers¶
How many people can open their own replay at the same time. Each one builds a stage in the world side by side, so this limits how many stages exist at once. People who join someone else's replay (see Watch together) do not count — they share a stage. Lower it on small servers to save world space.
Default: 8
timeline-cache-size¶
How many recently-opened replays to keep ready in memory. Opening a recording re-runs the whole physics simulation, which is the slow part. Once built, the result is kept so opening the same recording again is instant. Raise this if your team reviews the same handful of matches over and over; lower it to save memory.
Default: 4
sidecar-enabled¶
Save the built replay next to the recording as a .strxt file. Building a replay
means re-running all the physics, which is slow for a big match. With this on,
that work is done once ever per recording: the next time anyone opens it —
even after a server restart — the saved .strxt is read instead of rebuilding.
It is thrown away automatically if the recording changes or strux is upgraded, so
it never shows stale physics. Turn it off if your recordings folder must stay
read-only or tidy.
Default: true
capture-stress¶
Record extra stress numbers while building a replay, so the visual debugger can show how load moved through the structure before it fell. This costs a little extra build time and saved-file size. Turn it off if you only want plain block playback and never use the stress/flow debug overlays.
Default: true
seek-mutations-per-tick¶
How many stage blocks a seek may change in a single tick. Jumping across a big collapse can mean thousands of blocks appear or vanish; doing that all at once would freeze the server for a moment. Instead the change is spread over several ticks (a brief "seeking…" shows on the boss bar). Lower this for weaker servers; raise it for snappier seeks on strong hardware.
Default: 2000
smoothing.max-changes-per-tick¶
How many block changes playback may show per tick. At high speed (say 8×) a single tick can cover a whole explosion whose hundreds of blocks would all pop at once and stutter. This caps how many of those block changes are shown per tick and lets the rest catch up over the next few ticks, so fast-forward animates smoothly. The clock still keeps perfect time — only the picture is spread out. Raise it for snappier fast-forward on strong hardware; lower it to be gentler on weak clients.
Default: 256
captions-enabled¶
Whether the always-on playback caption (the plain-words line on the action bar that says "what is happening now") starts on for a viewer. Each viewer can still flip it with the Captions button in the control menu; this only sets the starting state.
Default: true
tour-hold-seconds¶
How long the guided tour waits on each moment before moving to the next. Higher means a
slower, more relaxed tour; lower means a brisk flythrough. Clamped to a minimum of 0.5
seconds.
Default: 4.0
auto-teleport¶
Whether the person who loads a replay is automatically teleported to a viewing spot overlooking the rebuilt structure when loading finishes. Turn it off if you would rather players walk to the stage themselves. Only the loader is moved — people who join someone else's replay are placed by the join, not by this.
Default: true
debug.max-displays¶
The most coloured overlay blocks the visual engine debugger shows at once (the 🔬
hotbar tool, which needs the struxreplay.debug permission). A heat map on a huge
keep could want thousands of glowing overlays, which would lag the client — so the
debugger shows only the ones nearest you, up to this many. Lower it on weak
hardware. The same cap also limits how many blocks a highlight (the glow on a clicked
moment's blocks) lights up at once.
Default: 512
Faster loading with FastAsyncWorldEdit¶
Loading a replay rebuilds the whole structure into the stage. For a big keep that is a lot of blocks to place at once.
If you have FastAsyncWorldEdit (FAWE) — or plain WorldEdit — installed, the
replay viewer uses it automatically. It places the whole structure in one fast,
off-the-main-thread batch instead of one block at a time. On a big build this turns
a multi-second freeze when you run /replay load into a near-instant load, and the
server does not stutter for everyone else while it happens.
You do not have to turn anything on. The viewer checks for WorldEdit/FAWE when it starts and picks the fast path on its own. The server log says which one it chose, for example:
If you have no WorldEdit/FAWE, the viewer falls back to placing blocks one at a
time (the log says vanilla (per-block, main thread)). Everything still works the
same — it is just slower to load big builds. Installing FAWE is the easy fix.
Permissions¶
| Permission | What it allows | Default |
|---|---|---|
struxreplay.use |
Open and watch replays | op |
struxreplay.driver |
Host a shared replay others can join and watch | op |
struxreplay.debug |
Use the visual engine debugger overlays/inspector | op |