# Reverse - [Welcome to Reverse](https://docs.marioded.com/index.md): Everything you need to record gameplay, watch replays, and build with Reverse. - [Choose your setup](https://docs.marioded.com/owners/overview.md): Understand the three plugins and choose a deployment that fits your server. - [Install Reverse](https://docs.marioded.com/owners/installation.md): Download Reverse, install the plugins your setup needs, and make your first replay. - [Your first replay](https://docs.marioded.com/owners/quick-start.md): Make a short recording, watch it back, and check that your setup works. - [Record gameplay](https://docs.marioded.com/owners/recorder.md): Capture gameplay, choose who owns the recording, and understand the save result. - [Watch replays](https://docs.marioded.com/owners/player.md): Open a recording, use the playback controls, and return to your normal player state. - [Connect your network](https://docs.marioded.com/owners/network.md): Connect gameplay servers, a selection lobby, and replay servers through your proxy. - [Commands and permissions](https://docs.marioded.com/owners/commands.md): Find the command you need and the permission that controls it. - [Configure Reverse](https://docs.marioded.com/owners/configuration.md): Find the right file, understand each setting, and know when a restart is needed. - [Storage and backups](https://docs.marioded.com/owners/storage.md): Choose local, SQL or MongoDB storage and back up the complete replay archive. - [Terrain and templates](https://docs.marioded.com/owners/terrain.md): Give every replay its starting world, using captured chunks or an existing template. - [Customize the catalog](https://docs.marioded.com/owners/menus.md): Customize the replay catalog, details screen, buttons, and navigation. - [Style the viewer experience](https://docs.marioded.com/owners/display.md): Make the viewer experience your own with controls, colors, progress, and messages. - [Common questions](https://docs.marioded.com/owners/faq.md): Quick answers before you install, configure, or build with Reverse. - [Keep Reverse running smoothly](https://docs.marioded.com/owners/operations.md): Keep recordings healthy, apply changes safely, and understand the main performance costs. - [Troubleshooting](https://docs.marioded.com/owners/troubleshooting.md): Start with what you see, narrow down the cause, and get your replays working again. - [Build with Reverse](https://docs.marioded.com/api/index.md): Turn match lifecycle events into recordings, playback, and custom replay experiences. - [Setting up](https://docs.marioded.com/api/getting-started.md): Add Reverse to your Java plugin project and discover its active runtime service. - [Services, recordings, and sessions](https://docs.marioded.com/api/concepts.md): Get to know the services and data objects before creating your first recording. - [Creating your first recording](https://docs.marioded.com/api/first-recording.md): Create a minimal recording integration and connect it to your game's start and end hooks. - [Improving your recording](https://docs.marioded.com/api/improving-recording.md): Extend the first recording example with arena bounds, participant selection, and match ownership. - [Record a match automatically](https://docs.marioded.com/api/recording.md): Connect recording to your match lifecycle and publish the replay only after saving succeeds. - [Start and control playback](https://docs.marioded.com/api/playback.md): Start a replay for one or more viewers, control its timeline, and clean up correctly. - [Work with recordings](https://docs.marioded.com/api/catalog-and-storage.md): List recordings, check ownership, edit metadata, and load the data you actually need. - [Listen for lifecycle events](https://docs.marioded.com/api/events.md): React when capture starts, saving finishes, or viewers change playback state. - [UI extension concepts](https://docs.marioded.com/api/ui-extensions.md): Choose the right extension point for catalog buttons and in-playback controls. - [Custom menu actions](https://docs.marioded.com/api/menu-actions.md): Register an action, bind a catalog item to it, and use the menu interaction context. - [Custom hotbar controls](https://docs.marioded.com/api/hotbar-controls.md): Add a playback action, validate its parameters, and bind it to a hotbar item. - [Send viewers to a replay server](https://docs.marioded.com/api/availability.md): Send an authorized viewer to a replay server and understand what dispatch completion means. - [Threading and failure handling](https://docs.marioded.com/api/threading-and-failures.md): Handle asynchronous completion, missing data, and runtime lifecycle without blocking Bukkit. - [Integration recipes](https://docs.marioded.com/api/recipes.md): Follow practical patterns for matches, Watch buttons, private recordings, and custom controls. - [Example gallery](https://docs.marioded.com/examples/index.md): Browse complete integration examples and pick a starting point for your own plugin. - [Recording a match](https://docs.marioded.com/examples/recording-integration.md): Start a bounded match recording and handle asynchronous persistence outcomes. - [Starting local playback](https://docs.marioded.com/examples/playback-integration.md): Authorize a replay selection and start local playback without blocking the server thread. - [Extending the UI](https://docs.marioded.com/examples/ui-extensions.md): Register a catalog action and a playback hotbar item using the public UI contracts. - [Handling notifications](https://docs.marioded.com/examples/replay-notifications.md): Observe save completion and playback termination while respecting event threading. - [Recording a milestone](https://docs.marioded.com/examples/milestone.md): Serialize a custom transient event on the recorder and render it on the player. - [Add a custom replay event](https://docs.marioded.com/api/recordables.md): Store a game-specific event and play it back with a matching codec and renderer. - [Extend terrain storage](https://docs.marioded.com/api/terrain-providers.md): Implement a terrain backend or a consistent world snapshot source at the runtime boundary. - [Protocol adapters](https://docs.marioded.com/api/adapters.md): Understand the advanced adapter contracts exposed by the public API. - [How recordings work](https://docs.marioded.com/internals/architecture.md): Understand what a recording contains and how recorder, player, and lobby work together. - [Updates and compatibility](https://docs.marioded.com/internals/build-and-docs.md): Update Reverse and its integrations while keeping your recordings and settings safe. ## Optional - [Marketplace](https://modrinth.com/plugin/reverse) - [Discord](https://discord.gg/mhM9qqC6gq) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.