[SEC/ADMN] CoreProtect v2.0 - Fast Block Logging / Rollbacks / Now With Chest Rollbacks [BukkitDev]

Discussion in 'Plugin Releases' started by Intelli, Mar 9, 2012.

  1. Offline

    but2002

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    @Intelli

    Improvement for storage using MySQL to make things much quicker and save a significant amount of space:
    [IMG]

    Notice how you're storing the username for each edit? Well a much more efficient way would be to detect new players, and store them in a seperate table with a unique ID
    This is a page from Hawkeye's book
    [IMG]

    Now here's another screenshot showing the actual storage table:
    [IMG]

    Note that player_ids are stored instead of usernames. When there are thousands upon thousands of rows, this saves a SIGNIFICANT amount of space.
  2. Offline

    Intelli

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    CoreProtect 1.34
    • Fixed it so invalid or corrupted data in rollbacks is ignored.
    • Made it so if someone breaks an air block (using hacks), the data is not logged.
    • Pistons pushing blocks in a loop (redstone circuits) will no longer eat up memory.

    This post has been edited 1 time. It was last edited by Intelli Apr 14, 2012.
  3. Offline

    Yagman5000

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Can you make it so you can view block history? At least from different players? Like, I had a player who was griefed, and then he fixed it. When I went to inspect, it only showed his placements, not the dude that supposedly "griefed". So then there's no way for me to know and prove it.. : ( Could you make it so you can view block history? Would be GREATLY appreciated. Last action from such player is fine, don't need a full history. Just so I can see all the names :p
  4. Offline

    polo3400

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Can you consider changing the rollback params to p:[name] instead of u:[name] ? Its easier to type and other plugins like Hawkeye use it, lots of us are used to it.

    One other thing, seeing who took what out of chests; it would seal this plugin :)

    - I love it, please keep it alive! So so better than all the other plugins out there like this one!
  5. Offline

    Courtney

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    First...
    I just wanted to comment letting you know how much I appreciate you making this plugin.
    This plugin is great and I hope you keep with it, glad I finally found a plugin to do what I needed.
    And the fact that it offers both Mysql and flat files is great, keep up the good work.


    Second I have a couple feature request...

    /co lookup <Number> <Username> -
    Would show the users last few actions depending on what number you entered.

    Also I saw this in Hawkeye..
    Rollback previews, that might be a nice feature.
  6. Offline

    Intelli

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Enable "double-click" in the configuration file.

    I'll probably add the option in an upcoming version. To note though, you don't even need to type "u:" - you can just type (for example) "/co rollback Notch t:1h".

    Definitely something I'll consider.
  7. Offline

    polo3400

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Thanks, and i didn't realize :') i don't understand how this double click thing works btw, I enabled it, but in the game, what do I do? Just double left click a block?
  8. Offline

    Intelli

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Yep
  9. Offline

    ImHackinBored

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Using 1.34 I keep getting...

    19:16:11 [SEVERE] Got an exception when breaking a block!
    19:16:11 [SEVERE] java.lang.NullPointerException
    19:16:11 [SEVERE] at com.minerealm.core.CoreProtectionFunctions.log_break(
    CoreProtectionFunctions.java:415)
    19:16:11 [SEVERE] at com.minerealm.core.CoreProtectionEntityListener$1Basi
    cThread.run(CoreProtectionEntityListener.java:54)
    19:16:11 [SEVERE] at java.lang.Thread.run(Unknown Source)

    This occurs roughly about every 10 seconds thus spamming a lot. It never use to do this.
  10. Offline

    IAnon

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I think I found my next Anti-Griefing Plugin :D
  11. Offline

    Intelli

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Thanks for the bug report. This should now be fixed in 1.35

    If you could confirm if it's fixed, that would be great, as I was unable to re-produce the issue in a test environment.
  12. Offline

    mazzizo

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Sorry if this has been asked or is clarified elsewhere, but I did not see it anywhere. Is it necessarily a bad thing to have this go through a MySQL database or does it make a difference? Any benefits/cons?

    Thanks!
  13. Offline

    Intelli

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Should be fine - MySQL is handy if you want to store data remotely.
    Currently, rollbacks when using MySQL will be noticeably slower. This is something we will hopefully resolve in a future version though.
  14. Offline

    mazzizo

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Thanks for the timely reply! I think I'll wait to see if ya'll will fix it at a later time then. If you do, I'll be moving to using it. :p
  15. Offline

    jfreeze256

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Hey folks! Here is a video tutorial of this plugin!

    Hopefully it's helpful :)
  16. Offline

    Yagman5000

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    And to undo a rollback, all you do is /co undo? Just to clarify. And if a player uses TNT to blow something up, will it say? Or will it just say #tnt.
  17. Offline

    Intelli

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Use the same command, but use restore instead of rollback.

    So for example, if you rolled back Notch 2 hours ("/co rollback Notch t:2h"), you could undo it by typing ("/co restore Notch t:2h") - You can also use the normal parameters, so you could only undo it in a certain radius, or only undo certain block types, etc.

    In regards to TNT, it'll show as "#tnt" - So you would roll it back by doing "/co rollback #tnt t:<time> r:<radius>".
  18. Offline

    trout1212

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Hey this is freaking amazing and all but uh how many resources does this plugin take up?? lol
  19. Offline

    worstboy32

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Does it also log chest actions?
    Like if i take 1 stone and someone else take 1 cobble.
    Then i can see that like logblock does?
    And if i rollback me and not the other does it work then that it only place the stone back?

    And what about history.
    I checked and it only show the last edit.
    I would like to just get a list by date like logblock does.
  20. Offline

    Intelli

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Logging chest items isn't implemented yet.

    For viewing older edits, enable "double-click" in the configuration file. (And then double click a block!)
  21. Offline

    worstboy32

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Alright thanks.
    any eta when you will be working on chestaccess features?
    and would there be any way possible to import logblock data to coreprotect?
    I'm thinking about switching but then i won't be able to rollback earlier destroying etc.
    And not sure if it would be a good idea to run both. and don't let lb store anything but only use it to check logs from history.
    Maybe any suggestions?
  22. Offline

    Lucky__13

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    This is do Fxxxucking cool man thanks
  23. Offline

    Yagman5000

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Ahh ok thanks. And any way you could make it so for tnt it gives you the player that did it? instead of #tnt? Because then if someone tnt griefs you can roll it back, as well as find the culprit and ban them :p Would be quite helpful :) Same with fire, just realized that it shows up as #fire as well. Most ppl use fire and tnt to grief as well. Makes it hard to catch them if you cant see who did it. Hope you consider this in your next update :3

    P.S. I still love the plugin!! Waaaaaay better than any of the other ones out there, I'm lucky I found this.

    This post has been edited 1 time. It was last edited by Yagman5000 Apr 18, 2012.
  24. Offline

    TheBlockTheory

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Is there a way i can make it so my admins can't rollback specific people? Like me, i don't want an angry admin to roll me back and or i don't want a admin who has a person he doesn't like and just rolls him back for punishment.
  25. Offline

    chrisk123999

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Then that person shouldn't be an admin.

    Also...

    I 2nd this.
    worstboy32 likes this.
  26. Offline

    diskman2011

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Is there a way to check a RADIUS around me for changes?? Sometimes it's not always obvious and like /co rad would be handy to check for changes in say a 7 block radius.
  27. Offline

    Intelli

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Eventually. To note though, for TNT griefing, once you roll it back, you can do a block check on the TNT to see who placed it.

    Definitely something I plan on implementing in the future.
  28. Offline

    Amanvir11

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I keep on getting this error:

    Code:
    2012-04-21 12:40:39 [SEVERE] Got an exception when breaking a block!
    2012-04-21 12:40:39 [SEVERE] java.lang.NullPointerException
    2012-04-21 12:40:39 [SEVERE]    at com.minerealm.core.CoreProtectionFunctions.log_break(CoreProtectionFunctions.java:415)
    2012-04-21 12:40:39 [SEVERE]    at com.minerealm.core.CoreProtectionEntityListener$1BasicThread.run(CoreProtectionEntityListener.java:54)
    2012-04-21 12:40:39 [SEVERE]    at java.lang.Thread.run(Unknown Source)
    and then after it gives me that around 8 times it gives me :

    Code:
    2012-04-21 12:45:20 [SEVERE] Got an exception when breaking a block!
    I don't know what's causing this but i just installed the plugin and it was my first time running it. I checked the config files and couldn't find anything that may be causing this.

    EDIT: It seems fixed now. It turns out i forgot to delete LogBlock. :eek:

    This post has been edited 1 time. It was last edited by Amanvir11 Apr 21, 2012.
  29. Offline

    TheBlockTheory

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    They are my friends but sometimes that get pissy and rage. it'd be nice if there was that in an update
  30. Offline

    Intelli

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    What version of CoreProtect were you using when you were getting that error?

Share This Page