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

    MangoStarr

    Hey :)

    Is there anyway you can make it so when you check out a certain area that you can browse through pages?

    Say I look at the history in a chest, but it will only show me the last 15 actions on said chest. Any way to make it so you can go up through pages so you can view older logs?

    Sorry if this is already implemented. If it is I can't figure out how :p

    Keep up the good work! :)
     
  3. Offline

    DiddiZ

    Hm, good idea. Maybe I can add that somehow.
    The current workaround is "/lb writelogfile".
     
  4. Offline

    lilalulelo

    Got this error when trying to install it.
    Where can I change the 'max_allowed_packet' variable as said in the error ?

    Code:
    [SEVERE] [LogBlock] Error while fetching connection
    com.mysql.jdbc.PacketTooBigException: Packet for query is too large (3158578 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.
        at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:624)
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1090)
        at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2338)
        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2371)
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2163)
        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:794)
        at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
        at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:378)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
        at java.sql.DriverManager.getConnection(DriverManager.java:620)
        at java.sql.DriverManager.getConnection(DriverManager.java:200)
        at de.diddiz.util.MySQLConnectionPool.getConnection(MySQLConnectionPool.java:64)
        at de.diddiz.LogBlock.LogBlock.getConnection(LogBlock.java:180)
        at de.diddiz.LogBlock.LogBlock.onLoad(LogBlock.java:68)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:112)
        at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:345)
        at org.bukkit.command.SimpleCommandMap$ReloadCommand.execute(SimpleCommandMap.java:247)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:128)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:287)
        at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:712)
        at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:678)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:671)
        at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:32)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:399)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    2011-06-20 23:41:02 [SEVERE] [LogBlock] Error while loading:
    java.lang.NullPointerException
        at de.diddiz.LogBlock.LogBlock.onLoad(LogBlock.java:68)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:112)
        at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:345)
        at org.bukkit.command.SimpleCommandMap$ReloadCommand.execute(SimpleCommandMap.java:247)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:128)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:287)
        at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:712)
        at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:678)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:671)
        at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:32)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:399)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  5. Offline

    DiddiZ

    WOW, how could the connection request grow to more than 1 mb?
    Firstly, looks like a random error.
    When it repeats,
    File: /etc/my.cnf
    max_allowed_packet=5M
    And restart mysql
     
  6. Offline

    extracharged

    how do i set is lol :S
     
  7. Offline

    DiddiZ

    -> https://github.com/DiddiZ/LogBlock/wiki/Installation

    It's all in the installation guide (point 3)

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

    extracharged

    yeah, sorry, accidentally reposted
     
  9. Offline

    Tommy Jones

    Is there any way to switch back from /lb tool (let's say) chestaccess to the default parameter without reloading / restarting the server?
     
  10. Offline

    parker_digg

    Failed to generate keys? Que es?
     
  11. Offline

    DiddiZ

    Yup:
    /lb tool area 0 limit 15 silent
    Most likely a messed up table.
    Try "REPAIR TABLE `lb-main`;" (or whatever you table is called)
     
  12. Offline

    parker_digg

    Code:
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
    corresponds to your MySQL server version for the right syntax to use near '-main
    

    Getting this now:
    Code:
    16:54:33 [INFO] [LogBlock Consumer] Queue overloaded. Size: 1181
    16:54:33 [SEVERE] [LogBlock Consumer] SQL exception
    com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value for colu
    mn 'x' 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:877)
            at de.diddiz.LogBlock.Consumer.run(Consumer.java:88)
            at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
    And mysql tell me this when I try to repair:
     
  13. Offline

    DiddiZ

    Use backticks (``) to escape the table name.
     
  14. Offline

    parker_digg

    Code:
    mysql> REPAIR TABLE `lb-main`;
    +------------------+--------+----------+----------------------------------------
    -----------------+
    | Table            | Op     | Msg_type | Msg_text
                     |
    +------------------+--------+----------+----------------------------------------
    -----------------+
    | logblock.lb-main | repair | note     | The storage engine for the table doesn'
    t support repair |
    +------------------+--------+----------+----------------------------------------
    -----------------+
    1 row in set (0.02 sec)
     
  15. Offline

    DiddiZ

    Hm, innodb. Then try:
    ANALYZE TABLE `lb-main`;
    OPTIMIZE TABLE `lb-main`;
    And when it doesn't help:
    CREATE TABLE `lb-main2` LIKE `lb-main`;
    INSERT INTO `lb-main2` SELECT * FROM `lb-main`;
    RENAME TABLE `lb-main` TO `lb-main-old`;
    RENAME TABLE `lb-main2` TO `lb-main`;
     
  16. Offline

    parker_digg

    After optimize table, it doesn't let me type anymore. I'm just going to make a new database, need to update to 1.1 anyways. Thanks for your help though, I don't know anything really about mysql.
     
  17. Offline

    DiddiZ

    Depending on the size, optimize can take some minutes.
     
  18. Offline

    ManBearWaffle

    What is the new command for /lb writelogfile [playername]?
     
  19. Offline

    DiddiZ

    /lb writelogfile player <name>
     
  20. Offline

    Jan0499

    When I try to load LogBlock I get this:
    (I have CB860, WorldEdit 4.5 and BukkitContrib 0.5 (and more))

    Code:
    2011-06-22 11:07:03 [INFO] [LogBlock] Version check: Your version is up to date
    2011-06-22 11:07:03 [INFO] [LogBlock] Connecting to username@jdbc:mysql://localhost:3306/minecraft...
    2011-06-22 11:07:03 [SEVERE] [LogBlock] Error while fetching connection
    com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
    
    The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    Caused by: java.net.ConnectException: Connection refused
        ... 23 more
    2011-06-22 11:07:03 [SEVERE] [LogBlock] Error while loading:
    java.lang.NullPointerException
    
     
  21. Offline

    DiddiZ

  22. Offline

    Lildirt

    Tried it. I found my issue though.
    The ones that made the MySQL server finally told me my problem, it was a fault on their side. It didn't have any permission for external communications. Hmm.
    Right, whatever. Problem solved. :)
     
  23. Offline

    Incendia

    How would I actually use the redo command to rebuild a world?

    Code:
    >lb redo world "world" since 3 hours
    14:29:03 [INFO] Searching Block changes in the last 180 minutes in world:
    14:29:03 [INFO] 0 blocks found.
    14:29:03 [INFO] Redo aborted
    >lb redo world "world" since 5 hours
    14:29:14 [INFO] Searching Block changes in the last 300 minutes in world:
    14:29:14 [INFO] 0 blocks found.
    14:29:14 [INFO] Redo aborted
    
     
  24. Offline

    DiddiZ

    Best to use the time of the backup:
    lb world "world" since 12:00:00 (to see there is log)
    lb redo last
    And make sure you are using the correct world name :D
     
  25. Offline

    Incendia

    what does that even mean?

    I just want logblock to rebuild my world from what it knows

    Wtf? I can rollback just fine.

    Edit:

    Errors? Also why doesn't logblock log worldedit stuff yet?

     
  26. Offline

    dompie

    Hello,

    just wanted to report the following exception wih LogBlock 1.10 and CB 860
    Code:
    2011-06-22 22:09:47 [SEVERE] [LogBlock Consumer] SQL exception
    com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'victim' cannot be null
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
            at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
            at com.mysql.jdbc.Util.getInstance(Util.java:382)
            at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1039)
            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.Consumer.run(Consumer.java:286)
            at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
            at java.lang.Thread.run(Thread.java:662)
    
    My config is (skipped mysql and tables definition)
    Code:
    logging:
        logBlockCreations: true
        logBlockDestroyings: true
        logLeavesDecay: false
        logFire: false
        logLavaFlow: false
        logSignTexts: false
        logExplosions: false
        logCreeperExplosionsAsPlayerWhoTriggeredThese: false
        logChestAccess: false
        logKills: false
        logKillsLevel: PLAYERS
        hiddenPlayers: []
    clearlog:
        dumpDeletedLog: false
        keepLogDays: -1
    rollback:
        replaceAnyway:
        - 8
        - 9
        - 10
        - 11
        - 51
        dontRollback:
        - 10
        - 11
        - 46
        - 51
    consumer:
        delayBetweenRuns: 6
        forceToProcessAtLeast: 0
        timePerRun: 100
        useBukkitScheduler: true
    lookup:
        defaultDist: 20
        defaultTime: 30 minutes
        toolID: 270
        toolblockID: 7
        toolQuery: area 0 all sum none limit 15 desc silent
        toolBlockQuery: area 0 all sum none limit 15 desc silent
    questioner:
        askRedos: true
        askClearLogs: true
        askRollbacks: true
        askSavequeueBeforeRollback: true
    
    Logging seems not to be affected by this exception.
     
  27. Offline

    Incendia

    ???
     
  28. Offline

    DiddiZ

    You are using an older LB version.
    WE doesn't trigger event's so LB can't log it.
    Affects only kill logging, was a missing nullpointer check. Will be fixed in next version.
     
  29. Offline

    Incendia

    from #craftbook on espernet
     
  30. Offline

    DiddiZ

    @Incendia
    According to my tests LB can accept tenthousands of blockchanges per second in queue, but I don't think it would make much sense to log every worldgedit change, since it would blow up the database :D
     
  31. Offline

    Debilitation

    @DiddiZ alright, i'm getting a tad frustrated with this.

    I enabled chest logging but its not showing up anything.

    AT ALL.

    What are some commands so I can see who stole from a specific chest?

    thanks.
    I mean it shows up, but its only showing up for the whole world.. and it only shows like 10..

    I want it to show more.
     

Share This Page