> For the complete documentation index, see [llms.txt](https://matt-creppet.gitbook.io/matt-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://matt-creppet.gitbook.io/matt-docs/troubleshooting.md).

# Troubleshooting and performance

## Read the current state

Start with `/rz info <arena>` and the server console. The job status can show capture, validation, restoration, pending audit, waiting for players, waiting for a world, waiting for a chunk or writing a snapshot. The command also reports tracked count, mode, delay mappings, subzones and whether recovery auditing is needed.

The status describes the current job, not every historical reason a position was skipped. There is no per-block audit log in this release.

## A placed block does not disappear

Check these conditions:

1. The position is inside the selected volume, including its Y coordinate.
2. The snapshot originally contains air at that position.
3. `restore-air` is enabled in the effective arena or subzone rules.
4. `track-placements` is enabled if using selective modes.
5. The original and current materials pass inclusion and exclusion filters.
6. The current block is not a protected `TileState` block.
7. A player is not standing on it while floor protection is enabled.
8. A custom integration is not cancelling restoration.

Try a manual full restoration after confirming these settings. Selective modes cannot observe every direct edit by other plugins.

## A broken block does not return

Check whether its snapshot position is protected, current air is excluded, the mode deadline has elapsed, the arena is paused, or players are blocking restoration. The original block must be a supported ordinary block, and the required chunk and world must be available.

If the error reports an invalid block-state string after a server-version change, stop and inspect the snapshot/version mismatch. The plugin validates states rather than silently replacing an unknown block with a guessed material.

## Restoration waits for an empty arena

Full capture and grouped modes normally use `wait-until-empty`. Individual mode uses `block-wait-until-empty`. `empty-seconds` requires a continuous empty period. Spectators count as players. No one is teleported automatically.

## Restoration waits for a chunk

With `load-unloaded-chunks: false`, move a player nearby or use your server's own chunk-management system. With loading enabled, only previously generated terrain may be loaded. A region spanning ungenerated terrain must be generated by normal server activity before it can be processed.

The shared queue rotates jobs, so an arena waiting for a chunk does not monopolize all other arenas' processing.

## Pending positions never reach zero

Players may keep changing blocks, occupy restoration positions, stand on temporary floors or trigger a custom integration veto. Continuous water or growth events can also create pending work when natural tracking is enabled.

Pause scheduling, inspect the arena and its settings, and resolve the cause. Do not disable safety features merely to make the counter reach zero without understanding the affected positions.

## Another plugin denies building

Regen Zone does not override cancelled build events or provide a permission to bypass another plugin's protection. Configure the other plugin's permissions or regions separately. Conversely, direct server-side restoration does not automatically inherit that plugin's player-placement rules; use the custom integration event if necessary.

## Performance tuning

For large arenas with ordinary player edits, `changes` or `block` avoids regular full-region scans. Use `interval` when you intentionally need to reconcile untracked modifications.

Start with the defaults. If profiling shows restoration contributes excessive tick time, try 200–400 blocks and 1–2 milliseconds per tick. Completion will take longer. The budget covers job processing, including validation; event tracking and synchronous chunk-loading overhead still contribute additional work.

Pending state uses one indexed entry per tracked position instead of scheduling one Bukkit task per block. Memory nevertheless grows with the number of dirty positions. Keep arena volumes, number of subzones and natural-event tracking appropriate for the server.

The common Spigot chunk-loading path is synchronous. Loading one chunk can exceed the nominal budget. Disable unloaded-chunk loading if your server relies on an external chunk policy and you prefer jobs to wait.

No TPS improvement percentage is promised. The release tests cover logic and API behavior with fixtures; they are not a benchmark under live player load.

## Before requesting support

Provide the plugin version, server software and exact Minecraft version, Java version, relevant arena settings, a short reproduction sequence and the relevant console error. Remove private server addresses or credentials from logs before sharing them.

Support: [Regen Zone Discord](https://discord.gg/ECMCdamWsd).


---

# 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://matt-creppet.gitbook.io/matt-docs/troubleshooting.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.
