Mini Logo

CoreProtect 2

CoreProtect - Fast, efficient block logging, rollbacks, and restores

Version: v2.12.0

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 most-used anti-griefing plugin, and has been actively developed since early 2012.

Latest 1.8.7:
Tekkit Classic: (Old, works with CB 1.2.5)

Video Tutorial: (by jfreeze256)

Core Features

  • 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.
  • 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
  • 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 bucket 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!!

What does it log?

  • 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 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 username changes
  • Log changes done by WorldEdit.
  • ...and the list is still expanding!

How to use the inspector.

Once you have the inspector enabled ("/core inspect", or just "/co i"), you can do the following:

  • 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.

A Few Reviews

  • "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."

Plugin Metrics

This plugin utilizes Hidendra's plugin metrics system, which anonymously collects and sends the following information to

  • A unique identifier
  • The server's version of Java
  • Whether the server is in offline or online mode
  • The plugin's version
  • The server's version
  • The OS version/name and architecture
  • The core count for the CPU
  • The number of players online
  • The Metrics version

Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true.



Guides & Resources

API Documentation


Join #coreprotect on | EsperNet Web IRC


Thanks to HostHorde for sponsoring CoreProtect!

Have a question, a suggestion, or just want to tell us thanks? Post below!

Thanks for your support!

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Intellii Intellii Oct 08, 2015 at 00:43 UTC - 0 likes

    @DOGCKyle: Go

    If Windows can't even copy the file, that means there's a serious issue with your hard disk drive. I'd advise switching to a new HDD as soon as possible, and reverting to your last good database file backup.

  • Avatar of DOGCKyle DOGCKyle Oct 07, 2015 at 19:35 UTC - 0 likes

    I've been using CoreProtect for about 3.5 years, same world, and my database file is up to 50GB now. Not a problem for me though, I have the space for it.

    However, I was just trying to save a backup copy of the database file (which I have done many times), and Windows is giving me an I/O device error when I try to copy the file. If I try to do a purge, it starts off fine, but after it gets to block data, a few minutes later I see this in the console:

    10/7/2015 3:23:05 PM [WARNING] java.sql.SQLException [SQLITE_IOERR]  Some kind of disk I/O error occurred (disk I/O error)
    10/7/2015 3:23:05 PM [WARNING]     at org.sqlite.DB.newSQLException(
    10/7/2015 3:23:05 PM [WARNING]     at org.sqlite.DB.newSQLException(
    10/7/2015 3:23:05 PM [WARNING]     at org.sqlite.DB.execute(
    10/7/2015 3:23:05 PM [WARNING]     at org.sqlite.PrepStmt.execute(
    10/7/2015 3:23:05 PM [WARNING]     at net.coreprotect.command.PurgeCommand$
    10/7/2015 3:23:05 PM [WARNING]     at Source)

    The plugin seems to be working fine, all my logged data is showing up in the inspector, rollbacks work fine, but I can't seem to do anything with the file. I have done disk checks (to make sure the HDD isn't the issue) but that has not helped. I don't want to lose my data, and I'm afraid to modify the file seeing as I don't have a recent backup.

    Any advice on resolving this issue?

  • Avatar of Black__Hole Black__Hole Sep 21, 2015 at 16:22 UTC - 0 likes

    @Intellii There are some checks missing in your code:

           at org.bukkit.inventory.ItemStack.<init>(
           at net.coreprotect.database.Lookup$
           at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(
           at net.minecraft.server.v1_8_R3.MinecraftServer.B(
           at net.minecraft.server.v1_8_R3.DedicatedServer.B(
           at net.minecraft.server.v1_8_R3.MinecraftServer.A(
    java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
           at java.util.ArrayList.rangeCheck(
           at java.util.ArrayList.get(
           at net.coreprotect.database.Lookup.populateItemStack(
           at net.coreprotect.database.Lookup.access$0(
           at net.coreprotect.database.Lookup$
           at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(
           at net.minecraft.server.v1_8_R3.MinecraftServer.B(
           at net.minecraft.server.v1_8_R3.DedicatedServer.B(
           at net.minecraft.server.v1_8_R3.MinecraftServer.A(
  • Avatar of Paxination Paxination Sep 15, 2015 at 21:27 UTC - 0 likes

    @Moderocky: Go

    Why are you downloading the database? And how much ram does your server have? Core protect doesnt lag our server at all, and our database has gotten to over 50gb in 1.7.

    There are certain aspects that it logs that can take a while as it gets bigger like logging entity kills, but other than a couple things it runs so much better and smoother than logblock for us.

  • Avatar of snipershotmaster snipershotmaster Sep 15, 2015 at 00:52 UTC - 0 likes

    I can really use a tool that works like /co inspect :s (like the one logblock has..)


  • Avatar of Moderocky Moderocky Sep 13, 2015 at 07:19 UTC - 0 likes

    Maybe I'm the exception to the rule, but I find that it creates a LOT of lag during rollbacks, and has a heavy drain on server resources. The log files are almost impossible to download because they seem to constantly log every single chunk. On FTP, it's a pain to download, on SFTP, it's impossible. Wouldn't it be easier to generate a different log every week/month (configurable) so that if you want to delete old data you don't have to try and edit out the 18 gigabyte log files? Purging it crashes my servers most of the time because there is just so much data.

    Also it might be nice to create separate version for chat/command and the block logging (as well as the combined one) because I don't want to be generating a huge database for a server where nobody can break anything.

    Edit: I think I'll just make my own actually, I can't make anything that hooks into this.

    Last edited Sep 13, 2015 by Moderocky: Making my own plugin. This has become a nightmare to use.
  • Avatar of Paxination Paxination Sep 11, 2015 at 21:38 UTC - 0 likes

    @CountChaos: Go

    On my friends server which I'm a Mod on, our core protect database, in the 7 months the server has been up, is up to 2.5gb. Which sounds like a lot, but i've seen a lot bigger. On my server ours, during the life span of 1.7, grew to 50gb, which was about a year?

    There is a purge command to clean it out, but the database size wont shrink tho, just be emptied out.

  • Avatar of CountChaos CountChaos Sep 08, 2015 at 00:44 UTC - 0 likes

    Hey just a question, not really getting problems with this. Is there any way to lower the amount of disk space it uses, because currently it (along with dynmap) are using quite a bit of it up. We're hoping to launch the server by the 30th, so can't really make it work badly as well. Hope I can get a reply soon! Thx :D

  • Avatar of Paxination Paxination Sep 07, 2015 at 22:34 UTC - 0 likes

    @Coley771: Go

    Is your database hosted remotely from your server? Or is local to your server?

  • Avatar of Electronicboy Electronicboy Sep 07, 2015 at 13:07 UTC - 0 likes

    @Coley771: Go

    Console log, using MySQL or sqlite?

    If it's sqlite, stop the server and delete the .db file in the plugin directory. If using MySQL, read the error logs, if the database is locked I'd suggest asking your provider for help.


Date created
Mar 09, 2012
Last update
Jul 02, 2015
Development stage
All Rights Reserved
Curse link
Recent files