Set up CoreProtect on Minecraft
Install CoreProtect, give staff the permissions, inspect blocks, look up activity, roll back griefing, and purge old data to keep the log small.
CoreProtect is a logging and anti-griefing plugin for Paper, Purpur and Folia servers. It records who placed and broke blocks, who took items from or put items in chests, what was said in chat and which commands ran. You can look that history up, and roll back a griefer's damage or restore it. Players install nothing.
Checked against CoreProtect CE 24.1, listed for Minecraft up to 26.2, October 2026. In a test it ran on Paper 26.1.2, but on Paper 26.3 it refused to start (see below).
Install it
- Open Plugins, under Content in the panel menu, and leave the Modrinth button selected.
- Search
CoreProtectand click Install. - Open Console and click Restart, or Start if the server is stopped.
If Install says there is no build for your Minecraft version, set Game version to Any version and install it. Read the Console on the next start, because a build for an older Minecraft may not load. On Paper 26.3, CoreProtect 24.1 logged Minecraft 26.3 is not supported, disabled itself and created no plugins/CoreProtect folder, so its /co commands did nothing. JAR Manager offers 26.1.2, which CoreProtect lists, but applying a change reinstalls the server, so use Take a backup first in the box that opens (Change Minecraft server version or loader). Going from 26.3 to 26.1.2 is a downgrade, and a backup does not make that safe, because loading a world in an older version can cause corruption, data loss or a crash. On Paper 26.1.2 the plugin enabled and /co status and /co help answered.
CoreProtect keeps its data in a single file, plugins/CoreProtect/database.db, and uses MySQL only if you turn it on. Plans do not include MySQL databases, so leave use-mysql set to false in its config.yml.
Let your staff use it
Operators can use all the commands in this guide. For everyone else, give the permission with a permissions plugin. With LuckPerms, these console commands let one player inspect and roll back:
lp user StaffName permission set coreprotect.inspect true
lp user StaffName permission set coreprotect.rollback trueThe other nodes follow the same pattern: coreprotect.lookup, coreprotect.restore and coreprotect.purge. coreprotect.* grants them all. Hand out purge carefully, because it deletes history. Set up LuckPerms on your Minecraft server covers groups.
Inspect a block
In game, type /co inspect, or /co i. Type it again to turn it off. While it is on:
- Left-click a block to see who placed it.
- Right-click a block to see what adjacent block was removed.
- Right-click a door, button, lever or container to see who last used it.
Look up activity
/co lookup searches the log. Add parameters in any order, and all of them are optional:
For example, /co lookup i:diamond_ore t:1h a:-block lists diamond ore broken in the last hour. A lookup searches the whole server unless you add a radius. Use /co lookup <page> to move through the results.
Roll back and restore
A rollback undoes changes. It takes the same parameters as a lookup:
/co rollback u:Notch t:1h r:20 #preview
/co rollback u:Notch t:1h r:#globalWithout r:, a rollback covers only a radius of 10 blocks around you. #preview shows what would change without changing it, so run that first. /co restore with the same parameters reapplies changes, which undoes a rollback, and /co undo reverts a rollback or restore by running the opposite action. The max-radius setting in config.yml caps a numeric radius at 100 by default, and r:#global goes past it.
A rollback is not a backup. It only reverses what CoreProtect logged. Keep regular backups as well: How to create and restore backups.
Keep the database small
The log grows as players play. /co purge t:30d deletes everything older than 30 days. In game it refuses anything newer than 30 days, and from the console anything newer than 24 hours. After editing config.yml, run /co reload to apply it.
To stop logging in one world, copy config.yml to the world's name, such as world_nether.yml, and change the logging options in the copy. To ignore a user, command or block everywhere, list it in a blacklist.txt file in the same folder, one entry per line. Blocks and entities need the minecraft: namespace, such as minecraft:stone, and block entries need CoreProtect 23 or newer.
If it does not work
- A rollback changed nothing. It may be outside the default radius of 10. Add
r:20orr:#global. - You get a permission message. The node for that command is missing, so add it as above.
- Nothing is logged in one world. A file named after that world may have switched logging off.
Was this guide helpful?
Related guides
Get modpack features with Paper plugins
Match common modpack features such as claims, quests and vein mining to Paper plugins that need no client mods, and see what has no plugin equivalent.
Protect your builds with GriefPrevention
Install GriefPrevention so players claim land with a golden shovel, share it with /trust and stop griefing without admin work.
Minecraft plugins vs mods: which to run
How plugins and mods differ on a Minecraft server, which software runs each, what players must install, and how to choose between them.
