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

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

  1. Offline


    Idk what happened but the error is not popping up any more...

    I think i left the server running so long it somehow fixed itself.
  2. Offline


    As I suggested to luckslayer92:

    Please try using this version - it should output more data with the error message.

    If you could post the error that you get with this version, it would be appreciated.
  3. Offline


    Intelli Could you change the inspector to show breakings and placings at the same time? You have made, that when I puch the side of a block JUST then it says who placed it, but thats a problem, because I can punch just the top, and it says who removed at that place...
    The thing is, make a simple command that when you type it, it enables the inspect mode and then you can use a specific block or anything to inspect, and it would show breakings and placings.
  4. Offline


    Enable double-click in the config.yml file, and then punch a block twice.
  5. Offline


    I still have 100% CPU load problem. It goes from normal to full load throughout the day. I am certain it is this plugin because it started happening around the time you implemented the caching features.
  6. Offline


    Pretty sure it isn't. We actively test the plugin on two active servers, and there have been absolutely no CPU issues.

    If you really want to confirm though, either
    A. Try running the server without the plugin.
    B. Try using an older version: http://dev.bukkit.org/server-mods/coreprotect/files/
    C. Try toggling some options off (ex: pistons) in the config.yml file.

    Also, I assume you're using the latest 1.2.4 RB from CraftBukkit, and using v.1.33 of the plugin?
  7. Offline


    30 minutes so far without the plugin and it seems stable. With this many people it would've shotten up by now. Yes, I am using #2127 and v1.3.
  8. Offline


    #2126 is the RB

    Also, v1.3 or 1.33?
  9. Offline


    Excuse me, 1.33. I'll try with #2126.

    EDIT: Almost immediately the CPU was under full load. It is most definitely this plugin.
  10. Offline


    first of all, i'd like to say that when i tested this plugin it performed well. however as you're working with large servers in mind i'd suggest the following:

    1) setup a restriction system that allows an administrator to provide moderators with the rollback commands but REQUIRE certain perimeters such as a radius or time, otherwise you will end up with moderators forgetting and before you know it you'll have the entire server rolled back by a week and half the members stuck in walls.

    2) allow for logging legacy, otherwise if a member tries to fix the issue then requests a rollback, you'll find you cant roll back certain areas that have had attempted fixes

    3) allow administrators to refine the database to automatically purge after say a month. this is important as the MySQL database will get very cumbersome over time.

    4) Allow for lookup by radius to see all actions of a given player etc within a defined area

    also, some documentation would be nice for explaining the system

    these are my observations of things lacking and the reasons as to why we returned the logblock when considering you're plugin.

    if you'd like to talk about it please email me at [email protected]
  11. Offline


    1) As you said, this plugin was created with large servers in mind. Time is already a REQUIRED parameter for rollbacks, for the exact reason you stated.

    2) Enable double-click in the configuration file. This will show all recent data for that block.

    3) If by cumbersome, you mean large, sure. However, it shouldn't slow down over time - and really, I do recommend using file based storage. At any rate, is it really that hard to type "/core purge <#>" every month?

    4) A possibility, but in regards to large servers, it's not that useful.

    For documentation regarding commands, information can be found here: http://minerealm.com/community/viewtopic.php?f=32&t=6781

    Can you try setting "pistons: false" in the configuration file? That's the only aspect that's really changed in recent versions. I really don't see what could be using up the CPU - as I said, I actively run this on our own servers, which stay up for weeks at a time, and the CPU usage is fine.
  12. Offline


    Hi i'm still getting this error sometimes.

    2012-04-04 12:55:24 [SEVERE] Could not pass event PlayerInteractEvent to CoreProtect
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:459)
    at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:175)
    at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:287)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:636)
    at net.minecraft.server.Packet15Place.handle(SourceFile:39)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    Caused by: java.lang.OutOfMemoryError: unable to create new native thread
    at java.lang.Thread.start0(Native Method)
    at java.lang.Thread.start(Thread.java:657)
    at com.minerealm.core.CoreProtectionPlayerListener.onPlayerInteract(CoreProtectionPlayerListener.java:116)
    at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
    ... 12 more

    Would coreprotect run better if link to mysql database? or is there not much difference.

  13. Offline


    > Caused by: java.lang.OutOfMemoryError: unable to create new native thread
    Is your issue. Sounds like you're running low on memory.

    Also, file based storage performs the best generally.
  14. Offline


    Works Fine, I love you!
  15. Offline


    1 - its more giving the administrators control over the radius, allowing them to choose whether or not to allow moderators to do entire server rollbacks, time is not an issue so much as radius is. if a moderator was to accidently roll back the entire server by 1 hour then the ramifications would be dire, especially on a 60 + server such as ours.

    4 - in regards to large servers this is perticularly useful and heres why:

    if you have a large grief of an entire town (50+ block radius) then it is definitely unpractical to inspect every block griefed, which a fair server would do before making a decision on the fate of a griefer. with a radius based lookup you can define the users name and look at what that member has been doing, are they highly active in the area and therefore this could've been an accident or revenge for something else, OR are they new to the area and griefed the entire town to hell?

    these two points at the end of the day where the deal breakers for us as a major server. we pride ourselves on ensuring a fair and just moderation system and these adjustments would allow us to make use of you're plugin

    i must add, other than the things that i have brought up here, we loved it. it was mainly when we found out you cant restrict mods to a radius that we decided the plugin was not yet robust enough to operate on our server.
  16. Offline


    It is stable after disabling piston tracking.
  17. Offline


    Can you make it so we can rollback players via the console?

    I love the plugin, BTW :)
  18. Offline


    Are you using MySQL or file based storage?
    Also, do you have any other plugins running which may modify how pistons work?
  19. Offline


    File based.
    [INFO] Plugins (18): SilkSpawners, Spectate, ProperTime, CoreProtect, BKCommonLib, Vault, PermissionsEx, Commander, GriefPrevention, LWC, MyHelpPages, Essentials, NoLaggMonitor, CreeperHeal, NoLaggExamine, ChatManager, AuthMe, StatsAndAchievements
  20. Offline


    Can you turn piston tracking back on, and try this version?

    Difference in this test version is that piston logging doesn't look up who placed the piston. It'll just track piston movement as the blocks being placed by "#piston".
  21. Offline


    Sweet dude. Thanks!
  22. Offline


    Awesome, Thanks!
  23. Offline


    There's a few things that are bad about this. First of all, it doesn't rollback accurately. If I used worldedit to get rid of a house and tried to roll it back, it would remain the same. Second, the restore doesn't really undo rollbacks. So it would be nicer if you could use /co undo
    to undo rollbacks and stuff. You didn't explain much on how to undo rollbacks, so I ended up messing up some stuff when I used restore, and I couldn't undo the stuff because of what I said earlier, which was how it only rolls back things done manually, as in blocks being placed by players.
  24. Offline


    This plugin does not log WorldEdit changes - there isn't a single plugin that does.
  25. Offline


    Your point is? I'm just saying. Also with any third party plugins, but I know you're gonna say the same thing "There isn't a single plugin that does that"
  26. Offline


    Ok anyway to make it show who took what from a chest?
  27. Offline


    You can log who accessed a chest by enabling player interactions in the configuration file. You can't log actual items taken from the chest yet though.
  28. Offline


    i keep getting a huge error every once in a while and it crashes the server. can you please fix this.

    [WARNING] Could not properly handle event CHUNK_LOAD:
    java.lang.IllegalAccessError: Synchronized code got accessed from another thread: com.minerealm.core.CoreProtectionBlockListener$6BasicThread
    at org.bukkit.event.Listener.onChunkLoad(Listener:0)
    at sun.reflect.GeneratedMethodAccessor488.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:459)
    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:103)
    at com.bergerkiller.bukkit.nolagg.examine.TimedChunkProviderServer.getChunkAt(TimedChunkProviderServer.java:147)
    at org.bukkit.craftbukkit.CraftWorld.getChunkAt(CraftWorld.java:115)
    at org.bukkit.craftbukkit.CraftWorld.getBlockAt(CraftWorld.java:79)
    at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:145)
    at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:153)
    at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:149)
    at com.minerealm.core.CoreProtectionBlockListener$6BasicThread.run(CoreProtectionBlockListener.java:251)
    2012-04-07 11:50:40 [INFO] This error is logged only once: it could have occurred multiple times by now.
    2012-04-07 11:50:40 [INFO] Please contact one of the authors of plugin 'CoreProtect': Intelli
    2012-04-07 11:50:40 [SEVERE] java.util.ConcurrentModificationException
    2012-04-07 11:50:40 [SEVERE]at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
    2012-04-07 11:50:40 [SEVERE]at java.util.AbstractList$Itr.next(Unknown Source)
    2012-04-07 11:50:40 [SEVERE]at java.util.AbstractCollection.removeAll(Unknown Source)
    2012-04-07 11:50:40 [SEVERE]at net.minecraft.server.World.tickEntities(World.java:1120)
    2012-04-07 11:50:40 [SEVERE]at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:542)
    2012-04-07 11:50:40 [SEVERE]at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:449)
    2012-04-07 11:50:40 [SEVERE]at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
    2012-04-07 11:50:40 [SEVERE] Unexpected exception
    at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
    at java.util.AbstractList$Itr.next(Unknown Source)
    at java.util.AbstractCollection.removeAll(Unknown Source)
    at net.minecraft.server.World.tickEntities(World.java:1120)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:542)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:449)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
  29. Offline


    Are you using some plugin that modifies how chunks loaded in memory works / unloads chunks?
    At any rate, I'll fix this in the next update :)
  30. Offline


    I'm loving this plugin, nice job! :D

Share This Page