- Tested Minecraft Versions:
- Source Code:
- Languages Supported:
- EN, ZH, ES, FR, DE, JA, RU, AR, ID, IT, PT, UK, KO, NL
CoreProtect is a fast, efficient, data logging and anti-griefing tool. Rollback and restore any amount of damage. Designed with large servers in mind, CoreProtect will record and manage data without impacting your server performance.
CoreProtect is the #1 anti-griefing plugin, and has been actively developed since early 2012.
- CoreProtect v21.2 (Spigot 1.14 - 1.19):
- Legacy Edition (Spigot 1.8 - 1.12):
- DarkerNights: https://www.spigotmc.org/resources/darkernights.87814/
- To support the project and obtain a donation key, visit coreprotect.net/donate
What does it log?
- Fast efficient data logging.
- Fast rollbacks - no lag while performing rollbacks/restores.
- Multi-threaded to ensure server performance is never impacted
- No configuration required. Put the plugin on your server, and you're good to go.
- SQLite based data storage.
- Optional MySQL support.
- Easy to use commands.
- Perform rollbacks AND restores. Undo any rollback, anytime.
- Easy to use block inspector
- Advanced search-based lookup tool.
- Paginated logs with clickable pagination.
- Automatic update checker.
- Multi-world support.
- Enable or disable any aspect of logging in the configuration file.
- Rollback per-player, or just do a global rollback to all damage around you.
- Specify certain block types to skip in rollbacks/restores.
- Restrict rollbacks/restores to specific block types.
- Rollback inventories of online players.
- Log basic player actions (such as when a player opens a door).
- Liquid tracking. Associate liquid flow with players.
- Tree tracking. Trees grown from saplings show who originally planted the sapling.
- Restrict rollbacks/restores to a radius area.
- Supports Spigot permission system.
- Able to track blocks that fall off of other blocks. If a player breaks a block that had a sign on it, both the block and the sign can be rolled back.
- Easily delete old log data.
- Safe default parameters.
- Rollback or restore multiple players at once.
- Create per-world configuration files.
- Lookup, rollback, or restore by a specific action.
- Exclude multiple users or blocks.
- Preview rollbacks or restores.
- Use WorldEdit selections.
- An easy to use API.
- Works with Tekkit servers
- ...and much more!!
How to use the inspector.
- Log blocks broken by players
- Log blocks placed by players
- Log natural block breakage (ex: if a sign pops off a dirt block that was broken)
- Log bucket usage
- Log liquid flow
- Log tree growth
- Log mushroom growth
- Log vine growth.
- Log explosions (TNT, Creepers, Ghasts, etc)
- Log flint & steel and fire charge usage.
- Log fire igniting blocks
- Log blocks burning up in fires
- Log entities changing blocks (Endermen/Enderdragons)
- Log block movement (Falling sand/gravel)
- Log leaf decay
- Log player interactions
- Log Nether portal generation
- Log blocks moved by pistons
- Log crops trampled by players
- Log snow generated by snow golems
- Log items taken or placed in chests, furnaces, dispensers, etc.
- Log items crafted or traded with villages.
- Log items dropped or picked up by players.
- Log paintings and item frames. (With rollback support!)
- Log entities killed by players (animals/monsters)
- Log chat messages and commands used by players.
- Log player sessions (logins/logouts)
- Log player deaths
- Log username changes
- Log changes made via WorldEdit
- ...and the list is still expanding!
Once you have the inspector enabled ("/core inspect", or just "/co i"), you can do the following:
A Few Reviews
- Left-click a block to see who placed that block.
- Right-click a block to see what adjacent block was removed.
- Right-click (place) a block in a location to see what block was removed at that location.
- Right-click (place) a block in another block to see who placed it. (ex: place dirt in water to see who placed the water)
- Right-click on a door,button,lever,chest,etc, to see who last used it.
- "It's easy to use and lightning fast when it comes to rollbacks."
- "I've been running a MC server since before Bukkit, so I've used just about every block logger out there. CoreProtect is the best and the fastest."
- "Go with CoreProtect. It's fast, updated frequently, and logs WorldEdit."
- "Overall it felt more natural, simpler, and much faster to use CoreProtect than Prism, which just doesn't compare."
- "CoreProtect brings complex logging and rollbacks, whilst at the same time keeping a low profile."
- Featured on Linus Tech Tips
Feedback & Support
Join us on Discord: https://discord.gg/b4DZ4jy
Enjoy using CoreProtect and want to show your support? Join our Patreon!
Thanks to HostHorde for sponsoring CoreProtect!
For any bug reports, please submit a ticket here:
Thanks for your support!
Fast, efficient block logging, rollbacks, and restores
reProtect] Enabling CoreProtect v21.2
[16:24:19] [Server thread/WARN]: java.lang.NumberFormatException: For input string: "0162000877589"
[16:24:19] [Server thread/WARN]: at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
[16:24:19] [Server thread/WARN]: at java.base/java.lang.Integer.parseInt(Integer.java:668)
[16:24:19] [Server thread/WARN]: at java.base/java.lang.Integer.parseInt(Integer.java:786)
[16:24:19] [Server thread/WARN]: at CoreProtect-21.2.jar//net.coreprotect.utility.Util.loadWorldEdit(Util.java:1022)
[16:24:19] [Server thread/WARN]: at CoreProtect-21.2.jar//net.coreprotect.config.ConfigHandler.performInitialization(ConfigHandler.java:432)
[16:24:19] [Server thread/WARN]: at CoreProtect-21.2.jar//net.coreprotect.CoreProtect.onEnable(CoreProtect.java:75)
[16:24:19] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264)
[16:24:19] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370)
[16:24:19] [Server thread/WARN]: at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:536)
[16:24:19] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_19_R1.CraftServer.enablePlugin(CraftServer.java:561)
[16:24:19] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_19_R1.CraftServer.enablePlugins(CraftServer.java:475)
[16:24:19] [Server thread/WARN]: at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:638)
[16:24:19] [Server thread/WARN]: at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:424)
[16:24:19] [Server thread/WARN]: at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:342)
[16:24:19] [Server thread/WARN]: at net.minecraft.server.MinecraftServer.v(MinecraftServer.java:1137)
[16:24:19] [Server thread/WARN]: at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:307)
[16:24:19] [Server thread/WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
Really nice plugin but it have huge problem when dealing with rollabacks and undos: not all actions recorded and you can't properly stack them on each other
My advice for developer is take a look to how git works and try to project that to it, it will solve second problem
Demonstration of what goes wrong in first problem: