Get an Epic Experience with Premium

CoreProtect

Anti-Griefing Tools Login to Add Favorites
  • 8 Likes
  • Minecraft
  • 11,191 Monthly Downloads
  • Supports: CB 1.7.2-R0.3
  • 491,278 Total Downloads
  • Updated 02/22/2014
  • Created 03/09/2012
  • 43 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: All Rights Reserved
  • Newest File: CoreProtect v2.0.9
or

About CoreProtect

CoreProtect 2

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

Version: v2.0.9

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.

Download
Latest 1.7.9:http://dev.bukkit.org/server-mods/coreprotect/files/62
Tekkit Classic:http://dev.bukkit.org/server-mods/coreprotect/files/54 (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 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 mcstats.org:

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


Commands

http://minerealm.com/community/viewtopic.php?f=32&t=6781

Permissions

http://minerealm.com/community/viewtopic.php?f=32&t=6782

Guides & Resources

http://dev.bukkit.org/bukkit-plugins/coreprotect/pages/guides-resources/

API Documentation

http://minerealm.com/community/viewtopic.php?f=32&t=14070

IRC

Join #coreprotect on irc.esper.net | EsperNet Web IRC

Sponsors

Thanks to [CENSORED] for sponsoring CoreProtect. Check them out!


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

Thanks for your support!

CoreProtect now has an official IRC channel! Join #coreprotect on irc.esper.net | EsperNet Web IRC

CoreProtect 2.0.9

  • Fixed EntityDeathEvent errors occurring when using the "MyPet" plugin.
  • Fixed StructureGrowEvent errors occurring when another plugin creates a badly formed event.
  • Fixed blocks visually disappearing from player inventories when using the inspector.
  • Improved management of deprecated Bukkit methods.
  • Added logging for items taken out of item frames.
  • Added logging for snow generated by Snow Golems.
  • Added logging for fire punched out by players.
  • Added logging for crops trampled by players.
  • Added logging for carpet and double plants broken by water/lava.
  • Added support for rolling back & restoring double plants, such as sunflowers.
  • Added description information for Minecraft 1.7 block types.

CoreProtect 2.0.8

  • Fixed "/co reload" not being able to switch between SQLite and MySQL.
  • Fixed "coreprotect.lookup.block" permission controlling page lookups.
  • Fixed placing stairs not logging the direction they were placed.
  • Fixed rolling back a container not setting the correct container direction.
  • Improved version system to better reflect the current version number.
  • Improved API to use its own versioning system. Code changes are required to utilize the CoreProtect v2.0.8+ API. Updated example code can be found here: http://minerealm.com/community/viewtopic.php?f=32&t=14070
  • Added support for usernames containing special characters.
  • Added description information for Minecraft 1.6 block types.

CoreProtect 2.0.7

  • Fixed version system not working with non-standard number formats.
  • Fixed replacing a block (ex: snow) not always logging the block removal.
  • Fixed rare instances of "Asynchronous entity track" error on rollbacks/restores.
  • Improved time taken for performing rollback/restore previews.
  • Improved preview interface, now displays block count.
  • Added "coreprotect.lookup.block" permission, for blocking block data lookups.
  • Added "coreprotect.lookup.click" permission, for blocking interaction lookups.
  • Added "coreprotect.lookup.container" permission, for blocking container lookups.
  • Added "coreprotect.lookup.kill" permission, for blocking kill lookups.

CoreProtect 2.0.6

  • Fixed it so upgrades are able to continue if the enchantment data is invalid.
  • Fixed entity data not being properly filtered out for rollback/restore previews.
  • Fixed water from an ice block not logging as the person who broke the block.
  • Fixed piston movement logging the piston extension as a placed block.
  • Fixed placing pistons/chests/repeaters not logging the direction the block is facing.
  • Fixed asynchronous entity tracking error on the player chat event.
  • Fixed rare instances of starting a purge causing the plugin to lock up.
  • Fixed not being able to exclude non-standard block IDs in commands.
  • Fixed running a purge showing "database busy" instead of "purge in progress".
  • Fixed version managing system enforcing arbitrary limits on the version number.
  • Fixed custom potions in containers throwing NotSerializableException errors.
  • Fixed ClassCastException errors for rollbacks/restores when a container type is changed.
  • Fixed killing an entity with a splash potion not logging the username of the killer.

CoreProtect 2.0.5

  • Fixed player names not always linking to broken item frames / paintings.
  • Fixed skulls, cobwebs and tripwire broken by water/lava not being logged.
  • Fixed null pointer when accessing API if CoreProtect hasn't yet initialized.
  • Fixed TNT minecart explosions logging as "#explosion" instead of "#tnt"
  • Fixed multiple users modifying a container at once causing discrepancies in the logs.
  • Fixed not being able to do a "#container" rollback after inspecting a chest.
  • Fixed custom pagination on container lookups not persisting across pages.
  • Fixed a single user being able to start conflicting rollbacks simultaneously.
  • Added automatic patching system for CoreProtect database changes.
  • Added support for non-standard text length (for usernames/signs).
  • Added container transaction support for droppers, hoppers and trapped chests.
  • Added support for logging commands stored in command blocks.
  • Added complete support for Minecraft 1.5 block types.

CoreProtect 2.0.4

  • Fixed flower pots not being logged when the block under them is broken.
  • Fixed item frames / paintings not logging if destroyed by an obstruction.
  • Improved item frame / painting rollback accuracy, by making them run delayed.
  • Added player interaction logging for note blocks.
  • Added logging for blocks destroyed by Silverfish.

CoreProtect 2.0.3

  • Fixed it so errors aren't shown on startup if the update server is down.
  • Fixed breaking both sides of a double chest quickly causing discrepancies in the logs.
  • Fixed TNT destroying double chests logging double the amount of items removed.
  • Fixed WorldEdit logging not working if CoreProtect initialized before WorldEdit.
  • Fixed certain SNAPSHOT versions of WorldEdit not being compatible with CoreProtect.
  • Fixed falling sand/gravel (etc) from above a broken block not being logged.
  • Fixed interaction logging so it only works for right clicks.
  • Added interaction logging for repeaters, wooden buttons, anvils, hoppers and droppers.
  • Improved error message if WorldEdit logging is unable to initialize.
  • Further improved performance of event processing.

CoreProtect 2.0.2

  • Fixed errors being thrown if an arrow is shot by a non-entity.
  • Fixed no error message displaying when invalid command entered.
  • Added ability to use aliases for help commands (ex: "/co help l")
  • Added "/co ro", "/co re", "/co rb" and "/co rs" as command shortcuts.
  • Sped up rollbacks/restores, making them run nearly twice as fast.
  • Sped up event processing, for even less time spent in the main server thread.

CoreProtect 2.0.1

  • Fixed errors on startup for systems using non-standard decimal formatting.
  • Fixed "coreprotect.*" permission not giving access to reload command.
  • Fixed bug with rolled back redstone torches (etc) not always putting out power.
  • Fixed bug with rolled back glowstone blocks (etc) not always lighting up surrounding area.
  • Fixed MySQL upgrades so invalid enchantment data is filtered out.
  • Fixed it so the upgrade still continues properly if the config.yml file is missing.
  • Fixed it so if the upgrade fails, database connections are closed so the server doesn't lock up.
  • Fixed it so "apply", "cancel", "undo", and "near" aliases use parent permissions.
  • Changed it so any child permission can be used as a negative permission against "coreprotect.*"
  • Added "coreprotect.lookup.chat" permission, for blocking chat lookups.
  • Added "coreprotect.lookup.command" permission, for blocking command lookups.
  • Added "coreprotect.lookup.session" permission, for blocking session lookups.

CoreProtect 2.0.0

  • Changed it so MySQL databases use a more efficient database structure.
  • Made it so flat file storage is now done via a single SQLite database.
  • Future proof. Can now properly handle non-standard data types.
  • Made it so all logging events now use a consumer, rather than generating new threads.
  • Made it so block names now display on the lookup page.
  • Made it so chests broken in explosions log the items that were in the chest.
  • Cleaned up the interface and implemented a new colour theme.
  • Made it so using the inspector now does a full block lookup.
  • Made it so item transactions now log ALL item data (enchantments, item names, etc)
  • Made it so all skull data, such as skull owners and skull rotation, is logged.
  • Made it so radius lookups no longer require a time parameter (ex: "/co l r:10" for all nearby data).
  • Made it so lookups can now do block-type only searches (ex: "/co l b:56 t:1d")
  • Added a default radius of 10, which is auto added if you don't specify a radius. Changeable in config.yml
  • Added a maximum radius of 100. Use "r:#global" to do a global search. Changeable in config.yml
  • Made it so if you're inside a block that gets rolled back or restored, you get teleported on top of it.
  • Added ability to specify number of results shown on lookup pages by using "/co l <page>:<results>".
  • Added "/co reload" command for reloading configuration. Permissions can be set with "coreprotect.reload" node.
  • Changed "noisy" to "#verbose". Also added a "#silent" option tag for rollback/restores if verbose mode is enabled.
  • Added ability to specify multiple users in a rollback/restore/lookup (ex: "/co l u:Notch,Intelli t:1d")
  • Added ability to exclude users (ex: "/co l r:5 e:Notch"). Can be used in combination with block ID's.
  • Added ability to do global world lookups/rollbacks/restores. (Ex: "/co l u:Notch t:1d r:#nether")
  • Made it so purges now use regular time syntax, but require a minimum time of 30 days unless run via console.
  • Added ability to create per-world config files, that match the world folder name (ex: world_the_end.yml).
  • Added "a:<action>" option for rollback/restores/lookups. See "/co help actions" for info.
  • Added ability to search the last inspected container by using "/co l u:#container <params>".
  • Added ability to rollback/restore the last inspected container (ex: "/co rollback u:#container,Notch t:1d").
  • Added ability to have items taken from containers (etc) rollback by enabling "rollback-items" in config.yml
  • Made it so adding "#count" to the end of a lookup command returns the # of rows found.
  • Added ability to preview rollbacks/restores by adding "#preview" to the end of your command.
  • Added "/co undo" alias as a shortcut to undo a rollback/restore via the opposite action.
  • Added "/co near" alias as a shortcut to do a lookup with a radius of 5.
  • Added chat logging. Search using "/co l u:Notch a:chat" or "/co l a:chat"
  • Added command logging. search using "/co l u:Notch a:command" or "/co l a:command"
  • Added login/logout logging. Search using "/co l u:Notch a:login" (etc).
  • Made it so all new configuration values are by default enabled for less confusion.
  • Added entity kill logging. Search using "/co l u:Notch t:1d a:kill" (etc).
  • Added ability to rollback entity kills (ex: "/co rollback a:kill r:5 t:1d")
  • Added ability to automatically rollback/restore mob deaths by enabling "rollback-entities" in config.yml
  • Added ability to use worldedit selections by using "r:#worldedit" (or just "r:#we").
  • Created a Tekkit version of CoreProtect 2.0
  • Improved the base code and fixed a ton of minor bugs.

Comments

First Previous Page 1 of 2 Next Last
  • #20

    Thanks for the update! Item frames logging will be a huge help since its been a challenge protecting them!

  • #19

    Please answer this @ imcool105 on skype. How do i disable claims in a specific world?

  • #17

    First I have to thank the dev team for making such a nice checking addon! And I have a question; Is there a way to check who was creeper/ghast following when it exploded something? And if it is not possible yet, will it be possible to check that in the future?

  • #16

    I am having trouble getting global rollback to go, I type "/co ro u:name t:10m r:#global" and it only does 10 block around me, not global. 

  • #15

    hi

  • #14

    Please help me ! My map is destroy , i can't /co restore !!

    2013-04-10 21:13:15 [SEVERE] java.sql.SQLException: [SQLITE_CANTOPEN] Unable to open the database file (unable to open database file) 2013-04-10 21:13:15 [SEVERE] at org.sqlite.DB.newSQLException(DB.java:383) 2013-04-10 21:13:15 [SEVERE] at org.sqlite.DB.newSQLException(DB.java:387) 2013-04-10 21:13:15 [SEVERE] at org.sqlite.DB.execute(DB.java:342) 2013-04-10 21:13:15 [SEVERE] at org.sqlite.Stmt.exec(Stmt.java:65) 2013-04-10 21:13:15 [SEVERE] at org.sqlite.Stmt.executeQuery(Stmt.java:122) 2013-04-10 21:13:15 [SEVERE] at net.coreprotect.database.Lookup.rawLookupResultSet(Lookup.java:722) 2013-04-10 21:13:15 [SEVERE] at net.coreprotect.database.Lookup.performLookupRaw(Lookup.java:740) 2013-04-10 21:13:15 [SEVERE] at net.coreprotect.database.Lookup.performRollbackRestore(Lookup.java:1034) 2013-04-10 21:13:15 [SEVERE] at net.coreprotect.command.RollbackRestoreCommand$1BasicThread2.run(RollbackRestoreCommand.java:311) 2013-04-10 21:13:15 [SEVERE] at java.lang.Thread.run(Thread.java:722) 2013-04-10 21:13:15 [SEVERE] java.lang.NullPointerException 2013-04-10 21:13:15 [SEVERE] at net.coreprotect.database.Lookup.performLookupRaw(Lookup.java:741) 2013-04-10 21:13:15 [SEVERE] at net.coreprotect.database.Lookup.performRollbackRestore(Lookup.java:1034) 2013-04-10 21:13:15 [SEVERE] at net.coreprotect.command.RollbackRestoreCommand$1BasicThread2.run(RollbackRestoreCommand.java:311) 2013-04-10 21:13:15 [SEVERE] at java.lang.Thread.run(Thread.java:722) 2013-04-10 21:13:17 [SEVERE] java.sql.SQLException: [SQLITE_CANTOPEN] Unable to open the database file (unable to open database file) 2013-04-10 21:13:17 [SEVERE] at org.sqlite.DB.newSQLException(DB.java:383) 2013-04-10 21:13:17 [SEVERE] at org.sqlite.DB.newSQLException(DB.java:387) 2013-04-10 21:13:17 [SEVERE] at org.sqlite.DB.execute(DB.java:342) 2013-04-10 21:13:17 [SEVERE] at org.sqlite.Stmt.exec(Stmt.java:65) 2013-04-10 21:13:17 [SEVERE] at org.sqlite.Stmt.executeQuery(Stmt.java:122) 2013-04-10 21:13:17 [SEVERE] at net.coreprotect.database.Lookup.rawLookupResultSet(Lookup.java:722) 2013-04-10 21:13:17 [SEVERE] at net.coreprotect.database.Lookup.performLookupRaw(Lookup.java:740) 2013-04-10 21:13:17 [SEVERE] at net.coreprotect.database.Lookup.performRollbackRestore(Lookup.java:1043) 2013-04-10 21:13:17 [SEVERE] at net.coreprotect.command.RollbackRestoreCommand$1BasicThread2.run(RollbackRestoreCommand.java:311) 2013-04-10 21:13:17 [SEVERE] at java.lang.Thread.run(Thread.java:722) 2013-04-10 21:13:17 [SEVERE] java.lang.NullPointerException 2013-04-10 21:13:17 [SEVERE] at net.coreprotect.database.Lookup.performLookupRaw(Lookup.java:741) 2013-04-10 21:13:17 [SEVERE] at net.coreprotect.database.Lookup.performRollbackRestore(Lookup.java:1043) 2013-04-10 21:13:17 [SEVERE] at net.coreprotect.command.RollbackRestoreCommand$1BasicThread2.run(RollbackRestoreCommand.java:311) 2013-04-10 21:13:17 [SEVERE] at java.lang.Thread.run(Thread.java:722)

    Starting logs

    2013-04-10 21:09:10 [INFO] [CoreProtect] Enabling CoreProtect v2.05 2013-04-10 21:09:10 [SEVERE] /tmp/sqlite-3.7.2-libsqlitejdbc.so (Permission non accordée) 2013-04-10 21:09:12 [INFO] CoreProtect version 2.05 is enabled! 2013-04-10 21:09:12 [INFO] [CoreProtect] Using SQLite for data storage.

    Pleaaaase !

    Last edited by jeannen on 4/10/2013 2:58:06 PM
  • #13

    The plugin seems to place back things like item frames at the wrong side of the block (Bukkit version 1.5.0 Dev) coreprotect version 2.0.4

     

     

  • #12

    is there a way to clear data older than 3 months from the database?

     

  • #11

    The plugin doesnt work its red in /plugins and nothing happens when you do any of the commands

     

  • #8

    I installed it, but when i type ' /co i', it dosent do anything. :/

  • #7

    Does this support 1.7?

  • #10

    It supports 1.4.7!

  • #6

    Hello, I have question for the author of this plugin. I wonder if there is plan on Forge version of this plugin? I am asking this because of Tekkit which has released few days ago called "Tekkit Lite" which removed Bukkit's plugins and only work with forge which is called "ForgeEssentials". Only way to get this to work is that plugin has to be "forge" version.

    Thanks in advance!

  • #5

    Is coreprotect always 100% correct on block breakings by players?

  • #18

    Yes.

  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Absolute Lojack Giveaway!