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

# Updates and compatibility

> Update Reverse and its integrations while keeping your recordings and settings safe.

# Updates and compatibility

Use the marketplace download to update your servers and Maven Central to update a custom integration's API dependency. You do not need to compile Reverse.

## Update the plugin

1. Read the release notes and check supported server versions before downloading.
2. Stop new recordings and wait for current saves to finish.
3. Stop playback and shut down the affected servers.
4. Back up configuration and the complete recording storage, including terrain.
5. Replace the old jar for each installed role with the new download. Do not leave two versions of the same role in `plugins/`.
6. Start the servers, check the console, and make a short recording/playback test.

Keep recorder, player, and lobby on the same release across the network.

Use a full stop/start when replacing plugin jars. The role's reload command applies supported configuration changes; Bukkit `/reload` is not an alternative to installing an updated release and restarting.

## Recent corrections to verify after updating

| Area | Corrected behavior | Quick verification |
| - | - | - |
| Shared spatial storage | A player started before capture discovers newly published chunks; an idle reader cannot overwrite the recorder's CAS index on close. | Start both roles, record and stop, watch immediately, then restart and watch again. |
| Player movement capture | Movement, rotation, and animation identity matches the initial Bukkit snapshot even after late packet injection. | Make a new recording with walking, turning, and an arm swing. Older discarded events cannot be recovered. |
| Dyed leather armor | Legacy item reconstruction uses the RGB integer expected by the client. | Watch a recording with visibly dyed armor on the target server version. |
| Details menus | Release packaging retains the framework callbacks that populate the details inventory. | Open details repeatedly from Browse and Back; check Information, Watch, and Back. |

For symptoms and recovery steps, use [Troubleshooting](https://docs.marioded.com/owners/troubleshooting.md). These corrections do not introduce a storage-migration command or recover event data that was never recorded.

## Keep your configuration

Start with the files generated by your installed version. When a release introduces new settings, follow its release notes and merge your customizations rather than replacing the whole configuration with a short wiki example.

Message and display changes can usually be reloaded. Storage, connection, and networking changes require a restart; use the [configuration guide](https://docs.marioded.com/owners/configuration.md) to check each setting.

This includes `storage.recordings-folder`, a changed relative SQLite path, and recorder/player `adapter`. Blank recordings-folder defaults to `plugins/recordings`; setting another folder does not transfer the previous archive. Keep recorder and player pointed at the same resolved local dataset, or configure the same shared SQL backend on all roles.

## Keep recordings usable

A recording includes events and a reference to its starting terrain. Back up both. Template recordings also need the same template to remain available on the player server.

The current development project deliberately does not preserve earlier recording layouts or provide migration/read-old-layout branches. There is exactly one `.rpl` container version, `1`; layout changes are applied to it directly rather than incrementing the version. Matching version bytes therefore do not guarantee compatibility between development builds. Recreate disposable test recordings after layout changes and use matching recorder/player builds.

Unknown codec IDs and a container version other than `1` fail loading rather than skipping bytes. Missing custom codecs must be installed on the loading side; manually editing the file or changing its version byte cannot repair an incompatible payload.

## Update integrations

Developers should update the public API dependency to a version compatible with the installed Reverse release, then rebuild and test their own integration.

Check that custom event codecs and renderers are installed on the servers that need them. Changing a custom event's ID or payload requires coordinated updates on recording and playback servers.

[API: Setting up →](https://docs.marioded.com/api/getting-started.md)

## Before reopening the feature to players

* [ ] Recorder, player, and lobby start without errors.
* [ ] A new recording saves and can be watched.
* [ ] The terrain/template is visible.
* [ ] New spatial recordings are visible before and after restarting the roles.
* [ ] Details open with their configured items, including after returning from the catalog.
* [ ] Owners and nonowners have the expected access.
* [ ] Lobby transfers and return transfers work, if used.
* [ ] Custom integrations still start and handle match end/save failures correctly.

[Storage and backups →](https://docs.marioded.com/owners/storage.md)


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