[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

    luckyslayer92

    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

    Intelli

    As I suggested to luckslayer92:

    Please try using this version - it should output more data with the error message.
    http://userfolio.com/uploads/CoreProtect.jar

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

    Tadas159

    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

    Intelli

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

    judam

    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

    Intelli

    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

    judam

    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

    Intelli

    #2126 is the RB

    Also, v1.3 or 1.33?
     
  9. Offline

    judam

    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

    newborn1000

    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

    Intelli

    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

    dt39

    Hi i'm still getting this error sometimes.

    2012-04-04 12:55:24 [SEVERE] Could not pass event PlayerInteractEvent to CoreProtect
    org.bukkit.event.EventException
    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.

    Cheers
    Dean
     
  13. Offline

    Intelli

    > 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

    d3sert275

    Works Fine, I love you!
     
  15. Offline

    newborn1000

    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

    judam

    It is stable after disabling piston tracking.
     
  17. Offline

    legoben1998

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

    I love the plugin, BTW :)
     
  18. Offline

    Intelli

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

    judam

    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

    Intelli

    Can you turn piston tracking back on, and try this version?
    http://userfolio.com/uploads/CoreProtect.jar

    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

    VeryInsane

    Sweet dude. Thanks!
     
  22. Offline

    reider45

    Awesome, Thanks!
     
  23. Offline

    goldensugarpie

    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

    Intelli

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

    goldensugarpie

    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

    nemmie

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

    Intelli

    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

    nitrousspark

    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
    java.util.ConcurrentModificationException
    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

    Intelli

    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

    nedtheninja

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

Share This Page