CoreProtect

Mini Logo

CoreProtect 2

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

Version: v2.10.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.

Download
Latest 1.7.9:http://dev.bukkit.org/server-mods/coreprotect/files/63
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 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 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 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 GAMEMASTER161 GAMEMASTER161 Mar 28, 2015 at 19:56 UTC - 0 likes

    How do I rollback a certain coordinate. My friend pasted a schematic that corrupted the server and now.. every time he logs in it crashes. so how can i rollback his area?

  • Avatar of Disorbs Disorbs Mar 28, 2015 at 03:55 UTC - 0 likes

    im also getting this when i added the msql info and its new so idk if its corrupted any way to fix this? it spams my console every some minutes, thanks

    error http://pastebin.com/BjDRFjEk

  • Avatar of iversen0 iversen0 Mar 27, 2015 at 21:22 UTC - 0 likes

    1.8? :3

    [16:21:43 WARN]: java.io.NotSerializableException: org.bukkit.block.banner.Pattern [16:21:43 WARN]: at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1377) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1173) [16:21:43 WARN]: at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1377) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1173) [16:21:43 WARN]: at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) [16:21:43 WARN]: at java.util.ArrayList.writeObject(ArrayList.java:742) [16:21:43 WARN]: at sun.reflect.GeneratedMethodAccessor372.invoke(Unknown Source) [16:21:43 WARN]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [16:21:43 WARN]: at java.lang.reflect.Method.invoke(Method.java:606) [16:21:43 WARN]: at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:988) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1495) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) [16:21:43 WARN]: at java.util.ArrayList.writeObject(ArrayList.java:742) [16:21:43 WARN]: at sun.reflect.GeneratedMethodAccessor372.invoke(Unknown Source) [16:21:43 WARN]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [16:21:43 WARN]: at java.lang.reflect.Method.invoke(Method.java:606) [16:21:43 WARN]: at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:988) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1495) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) [16:21:43 WARN]: at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) [16:21:43 WARN]: at net.coreprotect.Functions.convertByteData(Functions.java:400) [16:21:43 WARN]: at net.coreprotect.database.Database.insertContainer(Database.java:250) [16:21:43 WARN]: at net.coreprotect.database.Logger.container_logger(Logger.java:494) [16:21:43 WARN]: at net.coreprotect.database.Logger.log_container(Logger.java:406) [16:21:43 WARN]: at net.coreprotect.consumer.Process.processContainerTransaction(Process.java:236) [16:21:43 WARN]: at net.coreprotect.consumer.Process.processConsumer(Process.java:86) [16:21:43 WARN]: at net.coreprotect.consumer.Consumer.run(Consumer.java:49) [16:21:43 WARN]: at java.lang.Thread.run(Thread.java:745)

  • Avatar of conetopia3000 conetopia3000 Mar 27, 2015 at 10:13 UTC - 0 likes

    Too bad this plugin doesn't tell me which admin made a Nether portal on my server. Found a portal in the Nether, doesn't connect to the normal world Portal. It says nobody placed or removed blocks, so it was a portal that was generated.

    Thought this plugin had a command to lookup who placed specific blocks like Player placed/broke bedrock , coordinates. ect

    Would love to see this feature added in the next update. Tried to use mc SQL database browser to lookup block placements/locations/usernames but its all Numbers for usernames , then some random 1-4 numbers, then coordinates. I guess I could check all the coordinates since the plugin list is only about 14,000 places. can skip every 500 or so... then do /co inspect

  • Avatar of Code_Red11 Code_Red11 Mar 25, 2015 at 18:11 UTC - 0 likes

    @kikicro262626: Go

    See my comment Below :P

  • Avatar of kikicro262626 kikicro262626 Mar 25, 2015 at 11:15 UTC - 0 likes

    add support for worldedit 6

  • Avatar of luridftw32 luridftw32 Mar 25, 2015 at 07:31 UTC - 0 likes

    @bullseye1000: Go

    Thanks so much!

    LuridCraft!

  • Avatar of Chiaration Chiaration Mar 24, 2015 at 23:16 UTC - 0 likes

    Where can i download the dev builds?

  • Avatar of dracula6 dracula6 Mar 23, 2015 at 21:56 UTC - 0 likes

    This Plugin is Paramount to the server i administrate, Since it hasn't been updated, things aren't going to well. Hopefully we can see an update very very soon!!!!!!

  • Avatar of Code_Red11 Code_Red11 Mar 22, 2015 at 06:16 UTC - 0 likes

    @bullseye1000: Go

    Actually that's not quite true. If you just throw worldedit v6 and coreprotect onto a server worldedit will not be logged.

    if you add the plugin "blockshub" then it should log any changes done via worldedit. I believe the only difference is that it wont say worldedit made the change, the replace command will result in 2 entries, one saying you removed X block and another saying you added Y block.

    something i stumbled across when adding AsyncWorldEdit, hope this helps :p

    Last edited Mar 22, 2015 by Code_Red11

Facts

Date created
Mar 09, 2012
Categories
Last update
Oct 16, 2014
Development stage
Release
License
All Rights Reserved
Curse link
CoreProtect
Downloads
561,461
Recent files

Authors