Commands and debugging

How to see Strut working, and how to tell "did not run" from "ran and did nothing".

The server commands (/strut ...) need operator permission level 2 and work on a dedicated server and in single player. The client commands work in any world.

/strut events

CommandDoes
/strut events statsCumulative counts since launch: server and client events delivered, unbound sound keys, capped sweeps, binding sets loaded, entities being traced.
/strut events trace <entity> [on|off]A chat line for every server event delivered on that entity: type, payload, playback sequence, loop and exact game time. With no on or off it toggles. Server-side events only; the client's are on the F9 overlay.

A working event and one that silently never ran look identical from outside, so trace is the way to check a new clip.

/strut assets

CommandDoes
/strut assets statusWhat the server offers (files, size, manifest hash, whether assets are required), the counters, each player's sync in progress, and files skipped at the last reload with the reason.
/strut assets listThe first 40 offered files with size and a short hash.

Client commands

CommandDoes
/strutarmourWhat each armour slot of your player (or of the entity you look at) resolved to: the look, the model, the texture and what it hides. See Armour.
/strutwear <model> <texture>, status, clearPuts a Strut model on your player to try a worn model (the model's id as the game loads it, such as strut:strut/models/entity/test_dummy.strutmodel). status says whether it is drawn and clear takes it off.
/strutphysics ...The physics switches, the cursor tool and the test scenarios. See Physics.

F9

The render overlay: see Rendering and performance for every line.

The log

Strut's log lines carry a prefix so they can be found:

PrefixFrom
[Strut events]Clip timelines, marker requirements, and event problems (an unknown type, an unreadable clip).
[Strut asset sync]What is offered, each player's sync result, files skipped and why, and client-side problems.
[Strut shadow]The GL state found by the first few Iris shadow flushes.

If something does not work