> For the complete documentation index, see [llms.txt](https://docs.marioded.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.marioded.com/use-reverse/commands.md).

# Commands and permissions

Find the command you need and the permission that controls it.

Choose the tab for the plugin installed on your server. Unless noted otherwise, run these commands in-game as a player.

**Syntax:** `<argument>` is required, `[argument]` is optional. Replace placeholders with real values; keep quotes around multiword names or descriptions.

{% tabs %}
{% tab title="Recorder" %}

## Recorder

All recorder commands require **`reverse.admin`**.

| Command                                                             | What it does                                                                   |
| ------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| `/reverserecorder start --name "Match"`                             | Starts recording the sender's current world. Provide the name flag explicitly. |
| `/reverserecorder start --name "Match" --description "Final round"` | Supplies catalog text.                                                         |
| `/reverserecorder start --name "Match" --template arena`            | Uses existing template terrain instead of capturing runtime terrain.           |
| `/reverserecorder start --name "Match" --owner <name-or-uuid>`      | Adds an owner; sender is always an owner.                                      |
| `/reverserecorder stop [session-id]`                                | Ends capture and asynchronously saves.                                         |
| `/reverserecorder status [session-id]`                              | Checks an active session.                                                      |
| `/reverserecorder reload`                                           | Reloads supported settings and messages; console supported.                    |

Text flags end at the next flag; quote a complete multiword value. The current help text describes repeating `--owner` for additional owners. Use UUIDs when exact identity matters, and verify multi-owner parsing on your build before automating command dispatch.

Without a session ID, `stop` and `status` select the session this player started through the command, even if they changed worlds. The command prevents one player from starting a second command-tracked session before stopping the first. The API supports independent simultaneous sessions, including sessions in the same world.

To select a template, use the **`--template`** flag.
{% endtab %}

{% tab title="Player" %}

## Player

All player commands require **`reverse.player.use`**. Catalog access additionally uses the replay's owners and the server's admin/open-access policy.

| Command                                            | What it does                                                                          |
| -------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `/reverseplayer`                                   | Opens the standalone catalog. Use a lobby for catalog selection in network mode.      |
| `/reverseplayer play <replay-id>`                  | Authorizes, loads, and starts a replay for the sender.                                |
| `/reverseplayer list`                              | Lists accessible replay IDs.                                                          |
| `/reverseplayer pause`                             | Pauses the sender's session.                                                          |
| `/reverseplayer resume`                            | Resumes it.                                                                           |
| `/reverseplayer seek <tick>`                       | Seeks to a nonnegative absolute tick and resumes.                                     |
| `/reverseplayer forward [seconds] [extra-ticks]`   | Seeks forward, then resumes; defaults to 1 second and 0 extra ticks.                  |
| `/reverseplayer backwards [seconds] [extra-ticks]` | Seeks backward, then resumes; same defaults.                                          |
| `/reverseplayer stop`                              | Stops the whole session, restoring its viewers.                                       |
| `/reverseplayer rename <replay-id> [text]`         | Replaces the name; omitted text clears it.                                            |
| `/reverseplayer describe <replay-id> [text]`       | Replaces the description; omitted text clears it.                                     |
| `/reverseplayer resend`                            | Resends stored chunks for the current session; useful for diagnosing missing terrain. |
| `/reverseplayer reload`                            | Reloads supported configuration; console supported.                                   |

Seconds are rounded to the nearest tick before adding `extra-ticks`; negative values and nonfinite/out-of-range numbers are rejected. For example, `forward 0.5 2` requests 12 ticks. There is no current `/reverseplayer speed` or `/reverseplayer fixture` command; speed is exposed through the hotbar and API.

`/reverseplayer reload` also uses `reverse.player.use`. Keep this in mind when granting that permission.
{% endtab %}

{% tab title="Lobby" %}

## Lobby

| Command                                     | What it does                                                    | Permission                              |
| ------------------------------------------- | --------------------------------------------------------------- | --------------------------------------- |
| `/reverse`, `/reverses`, `/reverselobby`    | Opens the catalog                                               | No explicit command permission declared |
| `/reverseview [replay-id]`                  | Opens catalog without an ID, otherwise dispatches to a replayer | Catalog policy controls access          |
| `/reverselobby rename <replay-id> <text>`   | Edits name                                                      | Owner/admin catalog policy              |
| `/reverselobby describe <replay-id> <text>` | Edits description                                               | Owner/admin catalog policy              |
| `/reverselobby reload`                      | Reloads supported lobby configuration; console supported        | `reverse.command.admin.reload`          |

`rename` and `describe` are subcommands of the three root aliases. The lobby command signatures require text; do not assume the player's omitted-text clearing syntax also works here.
{% endtab %}
{% endtabs %}

## Catalog access is separate from command access

| Policy                | Meaning                                                          |
| --------------------- | ---------------------------------------------------------------- |
| Replay owner UUID     | Can access and manage that recording through the catalog.        |
| `reverse.admin`       | Player/lobby catalog administrator, and recorder command access. |
| `reverse.lobby.admin` | Additional lobby catalog administrator permission.               |
| `open-access: true`   | Treats every viewer as a catalog administrator on that server.   |

Giving someone `reverse.player.use` does not itself make them an owner. Conversely, owner membership does not grant permission to use player commands.

{% hint style="warning" %}
**Open access also grants management access.** `open-access: true` treats every viewer as a catalog administrator, not just someone allowed to watch.
{% endhint %}

Keep names within 128 characters and descriptions within 2048. Some symbols can count as more than one character. Use plain text without `&` formatting or hidden/control characters; descriptions may contain line breaks. Style the menu around that text using the [display settings](/configure-and-customize/display.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.marioded.com/use-reverse/commands.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
