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

    Um, both :D
    But as LB installs Spout automatically, you only need to remove contrib
     
  3. Offline

    AskewDread

    hey
    when trying to use this im getting the following error
    12:11:18 [SEVERE] [LogBlock] Error while loading:
    java.lang.NullPointerException
    at de.diddiz.LogBlock.LogBlock.onLoad(LogBlock.java:76)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:131)
    at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:97)
    at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:51)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:132)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)

    ah, ignore this, there was an access denied meeage up furthur :) now fixed
    but am now getting this
    12:22:53 [SEVERE] java.lang.NullPointerException
    12:22:53 [SEVERE] at org.getspout.spout.SpoutNetServerHandler.sendPacket3(SpoutNetServerHandler.java:436)
    12:22:53 [SEVERE] at org.getspout.spout.SpoutNetServerHandler.sendPacket2(SpoutNetServerHandler.java:422)
    12:22:53 [SEVERE] at org.getspout.spout.SpoutNetServerHandler.sendPacket(SpoutNetServerHandler.java:411)
    12:22:53 [SEVERE] at net.minecraft.server.EntityTrackerEntry.a(EntityTrackerEntry.java:141)
    12:22:53 [SEVERE] at net.minecraft.server.EntityTrackerEntry.track(EntityTrackerEntry.java:108)
    12:22:53 [SEVERE] at net.minecraft.server.EntityTracker.updatePlayers(EntityTracker.java:116)
    12:22:53 [SEVERE] at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:456)
    12:22:53 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    12:22:53 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    12:22:53 [SEVERE] Unexpected exception
    java.lang.NullPointerException
    at org.getspout.spout.SpoutNetServerHandler.sendPacket3(SpoutNetServerHandler.java:436)
    at org.getspout.spout.SpoutNetServerHandler.sendPacket2(SpoutNetServerHandler.java:422)
    at org.getspout.spout.SpoutNetServerHandler.sendPacket(SpoutNetServerHandler.java:411)
    at net.minecraft.server.EntityTrackerEntry.a(EntityTrackerEntry.java:141)
    at net.minecraft.server.EntityTrackerEntry.track(EntityTrackerEntry.java:108)
    at net.minecraft.server.EntityTracker.updatePlayers(EntityTracker.java:116)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:456)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)

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

    DiddiZ

  5. Offline

    Nathan C

    Do you know what the command to use the LB tool is?

    It has changed in the new update, yet is not documented anywhere on the wiki or your website.
     
  6. Offline

    DiddiZ

    I'm quite sure it hasn't changed.
    /lb tool?
     
  7. Offline

    Nathan C

    Ah, acutally I guess it hasen't changed...

    My problem is that the plugin won't load in Craftbukkit 1000.


    Code:
    2011-08-08 15:40:11 [SEVERE] Could not load 'plugins/LogBlock.jar' in folder 'plugins':
    mapping values are not allowed here
     in "<reader>", line 34, column 70:
         ... losionsAsPlayerWhoTriggeredThese: false
                                             ^
    
        at org.yaml.snakeyaml.scanner.ScannerImpl.fetchValue(ScannerImpl.java:745)
        at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:307)
        at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:183)
        at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:564)
        at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:163)
        at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148)
        at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:228)
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
        at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230)
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
        at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:122)
        at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105)
        at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:124)
        at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
        at org.bukkit.util.config.Configuration.load(Configuration.java:82)
        at org.bukkit.plugin.java.JavaPlugin.initialize(JavaPlugin.java:157)
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:175)
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:207)
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:130)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:128)
        at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:378)
        at org.bukkit.command.SimpleCommandMap$ReloadCommand.execute(SimpleCommandMap.java:281)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:129)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:312)
        at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:480)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:465)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  8. Offline

    monir

    Iget this when running 1.25
    [SEVERE] [LogBlock] Error while fetching connection
    java.sql.SQLException: Access denied for user 'username'@'localhost' (using password: YES)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593)

    it dosent matter what i do i get this everytime so i changed back to the older version and it works.
    I removed pass after installing 1.25 becouse i dont use any and still get this message, neverhappend before.
     
  9. Offline

    DiddiZ

    You have a syntax error in your config.yml.
    http://yaml-online-parser.appspot.com/ or delete it and let it be autoregenerated.
    Interesting, that bug again.
    I didn't changed anything in the config reader.
    The solution was to delete the config.
     
  10. Offline

    monir

    I tryed that to but nothing happend so i stay on older version.
     
  11. Offline

    dyrnwyn

    Been using logblock for a LONG time and love it, but, when I updated my server to a newer version and decided to upgrade logblock, as well, I started encountering an error. Everything about logblock works great except for rollbacks. When I try to rollback, I get this:

    2011-08-09 11:57:47 [SEVERE] [LogBlock Rollback] Exception:
    com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'id' in order clause is ambiguous
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    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.executeQuery(StatementImpl.java:1474)
    at de.diddiz.LogBlock.CommandsHandler$CommandRollback.run(CommandsHandler.java:580)
    at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
    at java.lang.Thread.run(Unknown Source)
     
  12. Offline

    Kane

    @DiddiZ I don't know what yet but I want to see Spout Client features <3
     
  13. Offline

    RiiiE

    Hi, i downloaded everything and followed the tutorial to install everything but whenever i launch my server this happens:
    [​IMG]
    Something that is probably causing this is whenever i try to open the "localhost" tab in wampserver, i get:
    "There was a problem sending the command to the program." I already tried uninstalling and reinstalling everything. can someone please help?
     
  14. Offline

    DiddiZ

    Does your root user have a password?
    If no, use '' as empty pw.
    Can you post the columns of main, sign and chest tables?
     
  15. Could you be able to supply the SQL queries you use?
     
  16. Offline

    DiddiZ

    The queries are generated dynamically, so you have to ask more specific :D

    The query for "/lb player DiddiZ" is:
    Code:
    SELECT date, replaced, type, data, playername, signtext, itemtype, itemamount, itemdata FROM `lb-main` INNER JOIN `lb-players` USING (playerid) LEFT JOIN `lb-main-sign` USING (id) LEFT JOIN ``lb-main-chest` USING (id) WHERE playername = 'DiddiZ' ORDER BY date DESC, id DESC LIMIT 1500;
     
  17. That one is one of them. Also the Query that...

    When you do /lb me

    It displays how much of which block is destroyed, placed etc...
    EDIT: Is this the Query? (For stone mined)
    Code:
    SELECT *
    FROM `lb-Sweets`
    INNER JOIN `lb-players`
    USING (playerid)
    WHERE playername = 'OPPDelta' AND replaced = 1
    ORDER BY date
    DESC, id 
     
  18. Offline

    DiddiZ

    Code:
    SELECT  TYPE , SUM(created)  AS created, SUM(destroyed)  AS destroyed
    FROM (
        (
            SELECT  TYPE , count(type)  AS created, 0 AS destroyed
            FROM  `lb-main`
            INNER  JOIN  `lb-players`
            USING (playerid)
            WHERE playername =  'DiddiZ'
            AND  TYPE  >0
            GROUP  BY  TYPE
        )  UNION (
            SELECT replaced AS
            TYPE , 0 AS created, count(replaced)  AS destroyed
            FROM  `lb-main`
            INNER  JOIN  `lb-players`
            USING (playerid)
            WHERE playername =  'DiddiZ'
            AND replaced >0
            GROUP  BY replaced)
        ) AS t
    GROUP  BY  TYPE  ORDER  BY SUM(created)  + SUM(destroyed)  DESC
    LIMIT 15;
    Nearly:
    Code:
    SELECT *
    FROM `lb-Sweets`
    INNER JOIN `lb-players`
    USING (playerid)
    WHERE playername = 'OPPDelta' AND replaced = 1 AND type = 0
    ORDER BY date
     DESC, id DESC 
     
  19. Sweet. I was just about to post something similar. That's cool =D

    Do you have skype,steam,msn? I would like to mention a few ideas.
     
  20. Offline

    DiddiZ

    Sure, skype: hawky.diddiz
     
  21. Offline

    embty

    I get this massage in console upon server restarts which makes the restart take so long.. any ideas ? :D
    Code:
    gBlock: Remaining queue size: 600
    LogBlock: Remaining queue size: 577
    LogBlock: Remaining queue size: 555
    LogBlock: Remaining queue size: 532
    LogBlock: Remaining queue size: 512
    LogBlock: Remaining queue size: 489
    LogBlock: Remaining queue size: 466
    LogBlock: Remaining queue size: 446
    LogBlock: Remaining queue size: 424
    LogBlock: Remaining queue size: 401
    LogBlock: Remaining queue size: 380
    LogBlock: Remaining queue size: 360
    LogBlock: Remaining queue size: 337
    LogBlock: Remaining queue size: 317
    LogBlock: Remaining queue size: 294
    LogBlock: Remaining queue size: 274
    LogBlock: Remaining queue size: so on...
    This one also
    Code:
    LogBlock: Consumer] Queue overloaded. Size: 4823
    Its literly spaming the console now :/
     
  22. Offline

    Cactus_Master

    I keep getting this error:

    2011-08-09 23:15:05 [SEVERE] [LogBlock Consumer] SQL exception on INSERT INTO `l
    b-main` (date, playerid, replaced, type, data, x, y, z) VALUES (FROM_UNIXTIME(13
    12946033), 40, 0, 24, 0, '-253', 68, '50101');:

    I think its from people building in the ten thousands. Actually its getting spammed in the server console.
     

  23. In the config edit these around. That error is happening because there are more block changes than each update cycle can handle.

    Code:
    consumer:
        delayBetweenRuns: 10
        forceToProcessAtLeast: 250
        timePerRun: 2500
        useBukkitScheduler: true
    ^ My settings. Runs fine.
     
  24. Offline

    DiddiZ

    I guess the whole error message continues with something like:
    MysqlDataTruncation: Data truncation: Out of range value for column x at row 1

    Then it's fixable:
    -> https://github.com/DiddiZ/LogBlock/wiki/FAQ
     
  25. Offline

    Cactus_Master

    Oh yeah sorry, it does. Where do I type what it says to do? On the MYSQL console, the server console, or in-game?
     
  26. Offline

    DiddiZ

    MySQL
     
  27. Offline

    alfw

    this work whit towny?
     
  28. Offline

    dyrnwyn

    I'll have to manually type 'em. i use SQLyog for my mysql management functions:

    main:
    id | date | playerid | replaced | type | data | x | y | z

    main-sign:
    id | signtext

    min-chest:
    id | itemtype | itemamount | itemdata

    Mind you, I have all the entries for those showing and I can use the logblock lookup, just not a rollback.
     
  29. Offline

    DiddiZ

    In what way?
    Looks ok so far ...
    And the lb-players table?
    When it no id column, everything should be ok.

    You could rename all tables by appending a "b" and see whether it works with newly generated tables. The data can you import afterwards, if it works.
     
  30. Offline

    Cactus_Master

    I'm sorry, but I'm new to MySQL, and I have two questions, as whenever I try this, it fails.
    1. Is there something I need to type/do before I can edit the table? I select the database logblock first.
    2. Should I replace '<table>' with something other than the word table? Like lb-main?
     
  31. Offline

    Mercury

    What so special about Spout?
     

Share This Page