Repository navigation
Rollback and Restore
Revert and re-apply changes with a detailed preview.
/up rollback u:Griefer t:2h r:30 #preview
/up apply
/up restore u:Griefer t:2h r:30
/up undo
-
rollbackreverts changes,restorere-applies rolled back changes. - A time (
t:) is required. - Without
r:the radius is 10 blocks. In the console you must name the area, for exampler:#worldorr:#global.
| Kind | Actions | Behavior |
|---|---|---|
| Blocks, including block updates and item frames |
block, +block, -block
|
Old state is restored, including sign text and container extras |
| Container contents |
container, +container, -container
|
Items are put back or removed, including full item data |
| Player inventories |
inventory, +inventory, -inventory
|
Dropped, crafted and picked up items |
| Killed mobs | kill |
The mob is revived with its saved data. Villagers keep profession, level and trades |
| Spawned mobs | spawn |
The mob is removed |
With #preview nothing changes on the server. The changes are only shown on your client and you get a detailed summary:
- Scope: area, time and filters
- Log entries: how many entries are affected
-
Blocks: transitions such as
stone -> air - Containers, entities and inventories
- Buttons [Apply] and [Cancel]
Confirm with [Apply] or /up apply, discard with [Cancel] or /up cancel. A preview expires after preview.timeout-seconds.
Tip: Always use
#previewfor large rollbacks. It costs nothing and shows exactly what will happen.
/up undo reverts the last rollback or restore. Rolled back entries are flagged in the database and appear struck through in lookups. Rolling back twice does no harm.
| Tag | Effect |
|---|---|
#preview |
Show a preview first |
#verbose |
More detailed result report |
#silent |
No output |
Large rollbacks are spread over many ticks (rollback.time-budget-ms), so the server keeps running smoothly.
Block changes made with /fill, /setblock and /clone are logged and can be rolled back and restored with the tag #command. execute ... run is understood when the coordinates are absolute.
/up rollback t:10m #command #preview Commands of all players from the last 10 minutes
/up rollback u:Steve t:1h #command Only Steve's commands
/up rollback t:1h #command r:50 Only within 50 blocks of you
/up restore t:10m #command Re-apply them
/up lookup t:1h #command Only look at them
- The user is optional. Without
u:the commands of all players are affected. - Without
r:the whole server is searched, not just 10 blocks. - Containers and signs get their contents back.
- Logging can be turned off with
log.command-blocks, see Configuration.
Limits:
- Only commands run by players are tracked, not commands from the console or command blocks.
- A command that changes more than 262,144 blocks is not tracked.
-
executewith relative coordinates (~,^) or withat,positioned,inoralignis ignored. - Commands run before this feature existed cannot be rolled back.
Every rollback and restore is journaled. If the server stops in the middle of one, it is resumed automatically a few seconds after the next start. The console shows a [Recovery] message. Not available with ClickHouse.
Long rollback reports are split into pages, use /up view <n>. Rollbacks, restores and undos are recorded in the staff audit log, see Investigation and Alerts.
Fabric: World names are dimension IDs. Use
#the_nether,#overworldand#the_endinstead of#world_nether,#worldand#world_the_end. See Platforms.
Related pages: Parameters and Tags · Purge · Troubleshooting
UniversalProtect · Minecraft 26.3 · Paper · Fabric · Java 25 · API v13
Getting started
Using UniversalProtect
- Commands
- Inspector
- Parameters and Tags
- Actions
- Lookup Examples
- Rollback and Restore
- Investigation and Alerts
- Purge
Administration
Developers
Help