Inactive [INFO/ADMIN] LogBlock v1.54 - Enderdragon Logging! Tree Grow Logging! [1.4.5]

Discussion in 'Inactive/Unsupported Plugins' started by DiddiZ, Feb 15, 2011.

  1. Offline

    DiddiZ

    Version: 1.50​
    [​IMG]
    [​IMG]
    Find and Backroll those Damn Griefers
    LogBlock release are on DevBukkit:
    http://dev.bukkit.org/server-mods/logblock/

    LogBlock dev builds:
    http://ci.kitteh.org/job/LogBlock/

    Please read the installation guide

    I won't port LogBlock myself to mcAPI. Source code is available, so it shouldn't be to difficult for someone else to do it, also I'm still here. so I can answer questions. If there is more than one willing, that's up to you to handle that.




    The reasons I take this step, are the usual: I quit playing Minecraft about 5 months ago and lastly I was struggling to keep up with updates. The developement of Guardian made slow progress, so I fear it won't be ready to fully replace LB in time.


    Download latest dev build: Jenkins
    View the source code: GitHub
    Table of contents:
    1. Description
    2. Features
    3. Why to use LogBlock
    4. Example command
    5. Older versions
    6. Change log
    7. Todo list / feature requests
    8. Permission nodes
    9. Plugins supporting this
    10. Support the dev
    11. How to post error messages
    12. Advertizing
    Description:

    LogBlock logs block changes into a MySQL database. Block changes can be placed or destroyed block, explosions, burned blocks, sign text changes, chest access, leaves decay etc.
    It can be used as griefer identification tool, to find out who build a particular building, or even roll back changes by certain players. Other purposes can be e.g: Undoing of forest fires
    All additional features are optional, to keep the database as short as possible. All database actions run in their own threads to avoid server lags.
    The use of permissions plugin (or any clone) is possible, but not necessary.
    Uses Spout for chest logging (but it's fully optional, and there is no need for the client mod at all).

    Features:
    • Logging for block placing, block braking, fire, explosions, leaves decay, signtexts, lava flow and chest content
    • Very mighty commands system, not only allowing to rollback and redo, but also to tp to blockchanges, delete log ingame etc. Full list of commands.
    • Many parameters for lookup/rollback/redo/tp/clearlog commands: Block changes of one ore more player, in a specific area, in a world edit selection, specific block types only, block changes older or newer that a specific date, destroyed/created block only, in a different world and combinations of all these parameters. Full list of parameters.
    • Rebuilding map after importing a backup (/lb redo)
    • Last parameter to use the parameters of the last command
    • Quick ingame lookup of block history a wood pickaxe or a bedrock block.
    • All commands accessible from console (exept tools :D)
    • Custom queries for tools.
    • Different tool modes (lookup, rollback, redo, writelogfile and clearlog)
    • Saves block data like wool color, log type, torch adjustment, etc
    • Multiworld and multiserver support (some servers sharing the same database)
    • BigBrother log import
    • Loggable super pickaxe plugin (not to confuse with WorldEdit's super pickaxe)
    • API
    • Webstats
    Why to use LogBlock:

    Example commands: (thanks to tha d0ctor, read more about commands here)

    /lb rollback player fire since 1d3h – rolls back fire 1 day 3 hours
    /lb rollback player fire since 1d3h area 15 – rolls back fire 1 day 3 hours within a radius of 15 blocks

    /lb rollback player thad0ctor since 1h - rolls back thad0ctor 1 hour
    /lb rollback player thad0ctor since 1d area 5 – rolls back thad0ctor actions for the last day within 5 blocks
    /lb rollback area 10 since 1h30m - rolls back all modifications within 10 blocks since the list 1 hours and 30 mins
    /lb rollback area 10 before 06.11.2011 - roll back all changes in an area of 1o before June 11th, 2011
    /lb rollback player thad0ctor since 05:36:00 - roll back all changes of thad0ctor since 05:36 (server time)


    Download, Command, Configuration and Details:
    [​IMG]http://diddiz.insane-architects.net/logblock.php

    Changelog:
    -> Full changelog
    • LogBlock v1.50 # 81 (Dez. 13, 2011)
      Works with CraftBukkit 1.0.1-R1
      • Feature: /lb me shows the total block count
      • Feature: Chest logging without spout
      • Feature: Enderdragon logging
      • Feature: Logging for tree and mushroom grow (thanks to MD5 for the api)
      • Fix: Area param works again with default radius
      • Fix: Rollbacks got slowed down a bit to avoid rare server crashes
      • Fix: If mysql username, password or database only consist of unquoted numbers, LB will read them now
      • Config: World configs changed totally, some names changed and all logging options are now in an own section
    • LogBlock v1.41 #63 (Nov. 15, 2011)
      Works with CraftBukkit recommended build #1337
      • Fix: Players with spawnTools permission are no longer allowed to spawn all tools.
      • Fix: Added a check to avoid "The permission xy is already defined!" errors
    • LogBlock v1.40 #60 (Nov. 09, 2011)
      Works with CraftBukkit recommended build #1337
      • Feature: Custom auto ClearLog
      • Feature: Reduced error spam. Instead of like 40 line of error code, there is now just a warning stating the MySQL con
      • Feature: The queue will now be dumped after 10 tries even when the MySQL server is connected
      • Feature: Custom material names, allows naming custom blocks
      • Feature: LogBlock will now respond to messages when started without MySQL connection
      • Fix: Log import runs now async
      • Fix: Log import errors won't crash the server
      • Fix: Console commands work again
      • Fix: You can now use upper case letter in tool names (I don't know why you even should, but ...)
      • Config: Added clearlog.auto, clearlog.enableAutoClearlog in main config. Added materials.yml. Removed clearlog.keepLogDays
      • Permissions: Added 'logblock.spawnTools'
    • LogBlock v1.32 (Oct. 04, 2011)
      Works with CraftBukkit recommended build #1240
      • Feature: Player info logging: firstLogin, lastLogin, onlinetime, ip. No ingame lookup yet.
      • Feature: /lb queuesize to see the current queue size
      • Fix: Door logging logs now also fence gates
      • Fix: Bukkit api break in CB #1191
      • Fix: time restriction works now as intended. Thanks to xrobau
      • Fix: Players with insufficient permissions can't smuggle bedrock from one world to another
      • Config: Added logPlayerInfo
    • LogBlock v1.30 (Sep. 22, 2011)
      Works with CraftBukkit recommended build #1185
      • Feature: Chat lookup /lb chat player diddiz search +admin +sucks +dicks (more info)
      • Feature: Door logging
      • Feature: Dynamic tools, define your own tools
      • Feature: Use since and before to define a timespan
      • Feature: Enderman logging
      • Feature: cake logging (who ate it)
      • Config: Added logEndermen, logCakes and logDoors to world config and moved the tool section in main config.
      • Permissions: logblock.tool changed to logblock.tools.tool and
        logblock.toolblock to logblock.tools.toolblock.
    Todo List:

    https://github.com/LogBlock/LogBlock/issues

    Permission Nodes:
    https://github.com/LogBlock/LogBlock/wiki/Permissions

    Plugins supporting Logblock:
    List (open)

    When you want to appear your plugin here, tell me about



    Support the developer (that's me :D):
    If you want to support me writing plugins or want to thank me for the plugin/support, you can: Suggest features I missed, report bugs (best with fix :D), donate via PayPal, flattr my plugins, gift me The Witcher 2 (thanks to newyoukdaily), 2x 1GB DDR1 modules (thanks to HonestFlames), or send me the inner life of a laptop or netbook with a broken display (need it to build a model aircraft, so there is no need for parts like display and keyboard).

    [​IMG]


    How to post error messages:


    I won't aswer questions to general MySQL setup/installation/what is MySQL (there are lots of good tutorials out there, use google)
    Please read the installation guide before asking a question about installation problems.
    Please read the FAQ before posting a error report. It may be solved there.
    In case of rollback or lookup problems: Type /lb savequeue and try again (when it's fixed then, it was a consumer problem, see FAQ)
    When you post error messages, it's important to paste the whole stack trace!

    Advertizing:
    Newyorkdailys Plugin Support Buisness (open)
    Still can't get LogBlock working, or any other plugin? Are you getting errors in your console and cant figure out why? Newyorkdaily offers Basic/Advanced Plugin support.
    • General/Advanced troubleshooting: FREE!
    • Plugin Installations: 1-2 Plugins - FREE!
    • 3 or More Plugins - $2
    Click on the link below to connect to him now!
    http://wbe001.mibbit.com/?settings=7cb4fd3cdd72754df475fb92a0b65f6c&server=irc.Mibbit.Net&channel=#CBPluginSupport


    There is a LogBlock irc channel: #logblock at irc.esper.net.
    You can ask me on skype. My name is 'hawky.diddiz'.
     
  2. Offline

    DiddiZ

    Should be possible
     
  3. Offline

    pabbie

    Is it possible to install this on a mac? I know nothing about sql database thingie =/ please help me
     
  4. Offline

    DiddiZ

    Yes. MySQL website -> download -> install -> run mysql instance configuration wizard -> have fun :D
     
  5. Offline

    macman

    Hello DiddiZ

    I have a little question which made me think about it, but how are you going to be able to support the 1.6 multiplayer nether? because if it uses the same world name and database or table (eg lb_world) will it will cause problems when restoring?, just wondering if you have a plan and how quick you will be able to release it. Thanks

    PS If there is a problem with it should i disable logbook until you can fix it?
     
  6. Offline

    DiddiZ

    I think as bukkit alredy has multiworld support, it won't change much. I can't imagine that bukkit would implement nether as same world like the normal one.
    But most likely 1.6 will break some api so I've to update anyway.

    LogBlock v1.00 Developement News:

    Implemented BukkitContrib for chest logging. Works far better than the BB copied workaround I used before.
    I'm considering to wait for MC 1.6, so I'll release rc3 as soon as I'm allowed to distribute BukkitContrib, so you don't have to download it manually (and it gets rid of an annoying debug message).

    LogBlock v1.00 Developement News:

    Released LB v1.00rc3 (link in the spoiler in the main post)
    Finally working chest logging. Thanks goes to Afforess, who finally wrote a plugin that privodes chest hooks. It's included in the download, but only needed for chest logging.
    Fixed logging inverted amounts for some chest accesses.
    Fixed permissions (non op were able to use clearlog in no permissions plugin mode)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 18, 2016
  7. Offline

    Zaila

    I'm having a problem which i hope someone here can help me with.

    When trying to conenct to a server which i'm leading, i'm crashing the whole server. From the logs, it looks like it has something do to with LogBlock.

    This is the error log:
    2011-05-24 12:51:59 [INFO] Zaila [/<removed IP>] logged in with entity id 3481262 at (-192.5, 71.62000000476837, 69.5)
    2011-05-24 12:52:50 [SEVERE] [LogBlock] SQL exception
    java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction

    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2570)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:779)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:622)
    at de.diddiz.LogBlock.LBPlayerListener.onPlayerJoin(LBPlayerListener.java:58)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:243)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
    at net.minecraft.server.ServerConfigurationManager.a(ServerConfigurationManager.java:94)
    at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:96)
    at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:33)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:87)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:377)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:292)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    2011-05-24 12:52:50 [INFO] Zaila lost connection: disconnect.endOfStream

    And this causes every player online to disconnect for End of Stream according to the log.
     
  8. Offline

    Flatliner

    Just updated to rc3, noticing this error popping up in the logs when I access chests:

    2011-05-25 13:09:19 [SEVERE] [LogBlock Consumer] SQL exception
    com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value for column 'itemdata' at row 1
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3591)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2570)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:779)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:622)
    at de.diddiz.LogBlock.Consumer.run(Consumer.java:336)
    at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
    at java.lang.Thread.run(Unknown Source)

    Did the structure of the chests table change again? Just wondering if I need to drop the tables and have them be recreated or anything like that.

    Loving the rc's of v1 so far the by the way, the new command system is excellent. Thanks for a really great plugin (if I haven't said it already.)
     
  9. Offline

    DiddiZ

    What LB version?
    Should be fixed with v0.15b.
    Arg, my fault. Didn't notice that bytes ar signed in java (I could strangle the person who is responsible for that -.-).
    Only affects chest loggin with items that have a data like slaps, wool and dye.
     
  10. Offline

    Zaila

    Alright, i will update the plugin as soon as possible to see if that fixes the problem. I'm not 100% sure which version it is.
     
  11. Offline

    DiddiZ

    "/lb" should display the current version
     
  12. Offline

    Zaila

    It's v0.15b.
     
  13. Offline

    DiddiZ

    In that case restart your mysql server, and/or update to v1.00rc3 (link and instruction are in a spoiler in the main post)
     
  14. Offline

    MangoStarr

    Ahh, maybe its not that worth it..

    Maybe you can make it create 2 logs? One for the player, and one for the creeper? So this way you could still do "/lb rollback player creeper" but also do, say "/lb area 10" and it would tell you that a creeper exploded and who triggered it?
     
  15. Offline

    rtcabooservb

    Possible bug perhaps? I was trying to rollback an area (griefed snow) and it wasn't rolling back. It did log who griefed though, but the command /lb rollback area (radius) didn't work. Also tried /lb rollback area (radius) (time) (d,h,m). Using bukkit 806 and r3.
     
  16. Offline

    Zaila

    Updated LogBlock to the latest, and getting this problem instead:

    2011-05-26 10:57:41 [INFO] Found permissions. Using them for SpyerAdmin.
    2011-05-26 10:57:41 [SEVERE] java.lang.NullPointerException
    2011-05-26 10:57:41 [SEVERE] at de.diddiz.LogBlock.QueryParams.getfriendlyWorldname(QueryParams.java:371)
    2011-05-26 10:57:41 [SEVERE] at de.diddiz.LogBlock.QueryParams.getTitle(QueryParams.java:240)
    2011-05-26 10:57:41 [SEVERE] at de.diddiz.LogBlock.CommandsHandler$CommandClearLog.run(CommandsHandler.java:529)
    2011-05-26 10:57:41 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
    2011-05-26 10:57:41 [SEVERE] at java.lang.Thread.run(Unknown Source)

    And with this, it dosen't log anything at all.
     
  17. Offline

    Flatliner

    Got a possible rollback bug here. Tried to rollback some griefing earlier and and it failed with an error when trying to rollback by player. When I rolled the area back using a world edit selection everything was fine. The only error I could find in my server logs in reference to this was a single line:

    [LogBlock Rollback] java.lang.ArrayIndexOutOfBoundsException: 3

    Probably not that helpful. If there's any other information you might need to help fix it I'll be happy to help.
     
  18. Offline

    DiddiZ

    It wasn't like I first thought ... Do you know what kind of chest access caused that?

    The command syntax changed -> https://github.com/DiddiZ/LogBlock/wiki/Commands
    Yup, found that today too, and fixed it. Set keepLogDays to -1, to temporarily avoid.
    Hm, can only be about signtexts. Will add a check.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 18, 2016
  19. Offline

    lightdrake

    This keeps causing Permissions 3.0.2 to throw IllegalAccess errors..

    Only throws this when I try to load LogBlock 0.15b and 1.00RC3

    2011-05-26 13:14:20 [SEVERE] tried to access class com.nijiko.configuration.NotNullConfiguration$NotNullRepresenter from class com.nijiko.configuration.NotNullConfiguration initializing Permissions v3.0.2 (Is it up to date?)
    java.lang.IllegalAccessError: tried to access class com.nijiko.configuration.NotNullConfiguration$NotNullRepresenter from class com.nijiko.configuration.NotNullConfiguration
    at com.nijiko.configuration.NotNullConfiguration.<init>(NotNullConfiguration.java:47)
    at com.nijikokun.bukkit.Permissions.Permissions.onLoad(Permissions.java:111)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:104)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:218)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:205)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:265)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
     
  20. Offline

    DiddiZ

    permissions 3.0.2? is that a dev build?
    onLoad? LB accesses permissions after it has loaded.
    Sounds more like a permissions bug.
     
  21. Offline

    lightdrake

  22. Offline

    DiddiZ

  23. Offline

    Phaedrus

    I'm currently using BigBrother, what kind of differences are there with LogBlock? Would I lose anything by switching to LogBlock? Would I gain anything? Is performance better?

    Anyone care to share their experiences?
     
  24. Offline

    DiddiZ

    I heard of some cases where the databse size was reduced to a tenth or so.
    With LBv1.00 it will have a way more mightier command system.
    LB shall use less ram than bb, but I've no data therefore.
    And there is a BB -> LB log converter :D
     
  25. Offline

    Phaedrus

    I will try experimenting with it this week.
    On the plus side, it doesn't seem to get as many complains of NPEs and such as BigBrother does.
     
  26. Offline

    DiddiZ

    LogBlock v1.00 Developement News:

    Got rollback of doors and beds working (the other half will come back too :D)
    Updated most parts of the wiki, only the installation guide still has to be updated.
    I'm waiting für Bukkit 1.6.4 before releasing, most people won't notice it before anyway.
    The only thing I've still to figure out is the
    Code:
    com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value for column 'itemdata' at row 1
    bug. I'm not able to reproduce it.

    EDIT: Got it!
    It's the java signed byte. Cheated items with wrong data are causing that, e.g. "/i wool:255".
     
  27. Offline

    pabbie

    How reliable is this? I have it working. I mean...would it "hold in court" ? lol
    I caught this guy griefing...can I 100% it was him. logblocks says it was him.. =)
     
  28. Offline

    DiddiZ

    Afaik there is no way for false positives, exept hacked accounts or friends playing a trick (very uncommon). But griefers always disclaim ...
     
  29. Offline

    flametornado

    I was wondering what the performance would be like if i wanted to poll the system to check if a particular block is in the plugin's memory as a user placed block.

    I notice you use a linked list type data structure (may be wrong), and I would assume you'd have to traverse the whole list to check the block, which would be quite large.

    I'm not quite sure about this, and i'd like to double check before I incorporate this into my plugin.
     
  30. Offline

    DiddiZ

    LB dosn't have a memory, it's all stored in the database. Since there can ba many millions of rows, it wouldn't fit into memory.
    You can check a block extending the LBCommand class (nested in commandshandler). It will execute a mysql query and provides you the result set. The linkedblockingqueue is only a buffer, it doesn't contain more log than the last seconds.

    @flametornado
    updated java doc, if you are still interested:
    http://diddiz.insane-architects.net/LogBlock/doc/de/diddiz/LogBlock/package-summary.html
    :D

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 18, 2016
  31. Offline

    flametornado

Share This Page