Minecraft Tutorials

Minecraft CoreProtect

Track, view, and revert player or game changes with CoreProtect on your Minecraft server. Learn installation, inspection, rollback, and lookup commands.

Last updated: July 21, 2026

4.9

608+ Satisfied Customers

To undo grief, stand near the damage and run /co rollback user:<player> time:2h radius:20. To see what happened without changing anything, swap rollback for lookup. CoreProtect logs almost every change a player (and much of what the game itself) makes, and is worth running on a server of any size.

Quick answer

  • Install: drop the jar in plugins, restart, done.
  • Investigate a block: /co i to toggle inspector mode, then left-click to see who placed it, right-click to see what was removed.
  • See what happened: /co lookup user:Alex time:1d radius:50
  • Undo it: /co rollback user:Alex time:1d radius:50
  • Undo your undo: /co undo, or /co restore with the same parameters.
  • Check before you commit: add #preview to any rollback.

See also: CoreProtect Events for a full list of tracked actions, Rolling Back Player Death for item recovery after death, and Database Corruption for troubleshooting database issues.

Installation

Download the latest CoreProtect release, import the CoreProtect-XX.X.jar file into your server’s plugins folder, and restart the server. On restart it loads the plugin and generates a new CoreProtect folder with its config and database.

Inspect

Once CoreProtect is running it starts logging immediately. Enable inspector mode with /co inspect (or /co i) and run the same command again to turn it off. While it’s on:

  • Left-click a block to see who placed it.
  • Right-click a block to see what adjacent block was removed.
  • Place a block somewhere to see what was removed at that spot.
  • Place a block into water, lava, or similar to see who put the liquid there.
  • Right-click a door, button, chest, or furnace to see who last used it.

Basic rollback

/co rollback user:<user> time:<time> radius:<radius> action:<action> blocks:<blocks> exclude:<exclude> #<hashtag>

Parameters can go in any order and none of them are individually required, though you’ll almost always want at least a user or a time. Full details are in Parameters below.

Some examples:

  • /co rollback user:Alex time:2h rolls back Alex’s actions from the last 2 hours. Radius defaults to 10 blocks around you.
  • /co rollback radius:200 time:1d rolls back every player’s actions in the last day within 200 blocks.
  • /co rollback user:Steve time:1h30m radius:15 rolls back Steve’s last 90 minutes within 15 blocks.

The results screen after running the 3rd command example.

The results screen after running the 3rd command example.

Basic lookup

/co lookup takes the same parameters as rollback but only reports what it finds instead of reverting it.

The results of lookup command with the same parameters as the 3rd example above.

The results of lookup command with the same parameters as the 3rd example above.

Results show when it happened, who did it, what they did, and where. Click the coordinates to teleport straight to that spot, and use the arrows next to “Page” to page through results.

All commands

Every command marked [parameters] accepts the shared parameters below.

CommandWhat it doesShortcutExample
/co rollback [parameters]Reverts modified blocks. Your main grief recovery tool./co rb/co rollback user:Alex radius:20 time:7h block:stone
/co restore [parameters]Undoes a rollback by restoring what it reverted./co rs/co restore user:Alex radius:10 time:2h
/co lookup [parameters]Searches logged data without changing anything./co l/co lookup user:Alex radius:35 time:3d action:login
/co undoReverts the last rollback or restore you ran./co undo
/co nearQuick lookup with a radius of 5 blocks./co near
/co statusShows plugin status./co status
/co reloadReloads the configuration file./co reload

Purging old data

/co purge t:<time> r:<world> deletes logged data older than the time you give it, which frees up disk space once you no longer need the history.

  • /co purge t:30d deletes everything older than 30 days across all worlds.
  • /co purge t:30d r:#world_nether deletes data older than 30 days in the Nether only, leaving other dimensions intact.

Parameters

These are shared by every command marked [parameters]. They can go in any order and none are required.

ParameterShortcutWhat it filters onExample
user:<user>u:A specific player.user:Alex, u:Steve
time:<time>t:How far back to search, in w d h m s. Decimals work.time:3w,4d,7h,20m,10s, time:2.5h
radius:<radius>r:Blocks around you, or a whole world.radius:10, r:#world_nether, r:#global, r:#worldedit
action:<action>a:One action type, such as block, kill, or container.action:block, a:kill, action:-item
blocks:<blocks>b:One or more block types, comma separated.block:dirt, b:diamond_ore,emerald_ore
exclude:<exclude>e:Block types to leave out of the results.exclude:tnt, e:chest,ender_chest

For radius, r:#world covers an entire world, r:#global covers all of them, and r:#worldedit uses your current WorldEdit selection.

For action, the + and - prefixes narrow a type to one direction, so a:+block is placements only and a:-block is breaks only. The full list of action types and the user types behind them (#fire, #lava, #tnt, and the rest) lives in CoreProtect Events.

Hashtags

Append a hashtag to change what a command does with its results.

#preview previews a rollback or restore without applying it:

An example of the CoreProtect rollback sub-command being executed

#count returns the number of rows a lookup matched instead of listing them:

An example of the CoreProtect count sub-command being executed