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

    The result is limited to the 15 newest entrys. Do you want to say that 15 rows aren't fitting?
     
  3. Offline

    George

    Ok, I didn't know it was limited to 15 results. Now that I know I'm not missing any newer entries its fine. Sometimes on a busy server, the chat can scroll by rather fast.

    Edit: Oh and thanks for the redo command. I'm official switching from BB now.
     
  4. Offline

    DiddiZ

    Glad to hear about :D
    You have me the idea to add a config for the limit.

    About death/kills logging: I'm working on it, but ran into some problems with spamming hooks.
     
  5. Offline

    Kartus

    please update/test this plugin to new bukkit recommended #670 ;)
     
  6. Offline

    bryand

    is there any way to rollback creeper or tnt explosions? when i tried it the rollback area it didnt work
     
  7. Offline

    MatCat

    B617 with 11b
    Code:
    22:05:58 [SEVERE] Exception in thread "Thread-45"
    22:05:58 [SEVERE] java.lang.IllegalAccessError: tried to access method com.mysql.jdbc.TimeUtil.fastTimestampCreate(ZLjava/util/Calendar;Ljava/util/Calendar;IIIIIII)Ljava/sql/Timestamp; from class com.mysql.jdbc.ResultSetImpl
    22:05:58 [SEVERE]       at com.mysql.jdbc.ResultSetImpl.fastTimestampCreate(ResultSetImpl.java:1030)
    22:05:58 [SEVERE]       at com.mysql.jdbc.ResultSetRow.getTimestampFast(ResultSetRow.java:1310)
    22:05:58 [SEVERE]       at com.mysql.jdbc.BufferRow.getTimestampFast(BufferRow.java:573)
    22:05:58 [SEVERE]       at com.mysql.jdbc.ResultSetImpl.getTimestampInternal(ResultSetImpl.java:6617)
    22:05:58 [SEVERE]       at com.mysql.jdbc.ResultSetImpl.getTimestamp(ResultSetImpl.java:5943)
    22:05:58 [SEVERE]       at com.mysql.jdbc.ResultSetImpl.getTimestamp(ResultSetImpl.java:5981)
    22:05:58 [SEVERE]       at de.diddiz.LogBlock.BlockStats.run(BlockStats.java:52)
    22:05:58 [SEVERE]       at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:33)
    22:05:58 [SEVERE]       at java.lang.Thread.run(Thread.java:636)
    
     
  8. Offline

    Krunal

    YES PLEASE!

    That would be a major help: to be able to instantly create log files of all the players data directly from the CMD window!

    Thanks for listening to my request. I am glad we were able to reach a consensus :)
     
  9. Offline

    RazMaTaz

    As "The" only server admin/person who ever checks the logs, would it/is it possible to exclude me from ceratain logging, such as chest access, etc.. mainly for me.. just allow logging of just blocks.
     
  10. Offline

    parker_digg

    I'm still getting wrong argument.
    ex: /lb rollback selection 5 minutes
    /lb redo selection 5 minutes
    wrong argument

    same with playerarea, player
     
  11. Offline

    DiddiZ

    Of course :D
    You likely didn't enable explosions logging.
    Huh, thats new. Does that occour permanently?
    Next release will add a "/lb hide" command.
    "/lb redo" was added in v0.11

    LogBlock works with CraftBukkit #670

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 9, 2016
  12. Offline

    MatCat

    No not permanently.
     
  13. Offline

    Needlez01

    I try to rollback an area that was burned down by lava that someone placed, but every time I roll it back (no matter how far back) the lava comes back and burnes everything down again..... Please help!
     
  14. Offline

    DiddiZ

    Open config and add 10 and 11 to dontRollback (will add lava also as default).
     
  15. Offline

    oliverw92

    I think i've worked out why LogBlock won't work with BigBrother or any other plugin using the same database stuff as you.

    In your main class:

    Code:
    private Connection getConnection()
    {
    try {
    return DriverManager.getConnection("jdbc:jdc:jdcpool");
    } catch (SQLException ex) {
    log.log(Level.SEVERE, "[LogBlock] Can't get a connection", ex);
    return null;
    }
    }
    DriverManager is static so if any two plugins are using it (i.e. the one i'm writing at the moment, or BigBrother) and you get the connection at a later time, it could return the wrong connection. Example of what is happening as i see it:

    1. Logblock starts
    2. Logblock sets up mysql connection but doesn't immediately store the connection instance
    3. My plugin starts
    4. My plugin sets up mysql connection and DOES store the connection instance straight away
    5. Logblock attempts to retrieve connection from DriverManager, gets my plugin's connection instead which is for a different database
    6. Logblock then logs to the wrong database because it has the wrong connection

    I was confused as to why whenever i put my plugin in, logblock started logging to that database instead of its own. I think this may be why, but I could be completely off :) If it is right, would you mind making it so you store your instance of Connection straight after:

    Code:
    try {
    new JDCConnectionDriver(config.dbDriver, config.dbUrl, config.dbUsername, config.dbPassword);
     
  16. Offline

    DiddiZ

    @oliverw92
    Ah, didn't knoe that, but it sounds plausible. Thanks for figuring out. Wondered alredy whether there's something wrong.
    Will fix that, I've no sole claim on MySQL connection :D
     
  17. Offline

    oliverw92

    I found it out while I was making a little plugin last night for my server that logs stuff to a database for my php front end to use. I based the SQL connection stuff roughly off yours and bigbrothers, then made the discovery that they share the DriverManager :p
     
  18. Offline

    Nieksas

    have a one problem , before update my bedrock and pick check worked instantly but now after update when i check with bedrock the answer comes after about 1-2 min
     
  19. Offline

    DiddiZ

    Damn indexes.
    Can you execute following query and post the result?
    Code:
    EXPLAIN SELECT date, replaced, type, signtext, playername FROM `lb-main` LEFT JOIN `lb-main-sign` USING (id) INNER JOIN `lb-players` USING (playerid) WHERE x = 5 AND y = 5 AND z = 5 ORDER BY date DESC LIMIT 15
     
  20. Offline

    Nieksas

    damn ... dunno how to do that ... bc my main language isint english
     
  21. Offline

    rbos

    Been getting the following message - it's holding steady around 430-500 right now, but I've seen it get as high as 1400.

    08:51:00 [INFO] [LogBlock Consumer] Queue overloaded. Size: 468

    Should I be worried? It seems to accompany complaints of lag, but I haven't seen it.
     
  22. Offline

    oliverw92

    rbos what have you got your delay set to?
     
  23. Offline

    Nieksas

    Dunno why but my LB is very very slow last few past days its have been very fast and gave asnwers instantly but now it gives about 1-2 mins later when i check who destroyed a chunk i tried to clear datebase still very slow

    and there is the error

    Code:
    2011-04-08 16:25:36 [SEVERE] [LogBlock Consumer] SQL exception
    java.sql.SQLException: Illegal operation on empty result set.
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
        at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:841)
        at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2672)
        at de.diddiz.LogBlock.Consumer.run(Consumer.java:82)
        at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:33)
        at java.lang.Thread.run(Thread.java:662)
    
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 9, 2016
  24. Offline

    DiddiZ

    Not that good, still not dramatic, but I would advise to shorten the delay in config.
    Go into phpMyAdmin, mysql workbench, console, or whatever you use to configurate your database and execute the query I gave you above. The result may be informativ.
    Will be fixed with next release.
     
  25. Offline

    Nieksas

    executed as asked :

    SQL užklausa: EXPLAIN SELECT date, replaced,
    TYPE , signtext, playername
    FROM `lb-main`
    LEFT JOIN `lb-main-sign`
    USING ( id )
    INNER JOIN `lb-players`
    USING ( playerid )
    WHERE x =5
    AND y =5
    AND z =5
    ORDER BY date DESC
    LIMIT 15
     
  26. Offline

    MineJob

    Seems that after I upgraded to 670 (reconmended build) the plugin itself IS working but NO information actually reaches the database. If I place/destroy a block, it says no history while in the console I got no errors:S!
     
  27. Offline

    DiddiZ

    @Nieksas
    I'm way more interested in the result. Should be something like:

    Code:
    id select_type table type possible_keys key key_len ref rows Extra
    
     1 SIMPLE lb-main ref coords coords 5 const,const,const 1 Using where; Using filesort
     1 SIMPLE lb-players eq_ref PRIMARY PRIMARY 2 Minecraft.lb-main.playerid 1
     1 SIMPLE lb-main-sign eq_ref PRIMARY PRIMARY 4 Minecraft.lb-main.id 1
    Hm... could you try a tnt explosion with at least 100 destroyed blocks?
    If there comes the "Queue overloaded" info, we know the blocks at least arrive in the queue.
     
  28. Offline

    o0AzzA0o

    2:17:19 [SEVERE] [LogBlock] Exception while enabling
    java.lang.Exception: toolID doesn't appear to be a valid item id
    at de.diddiz.LogBlock.Config.<init>(Config.java:107)
    at de.diddiz.LogBlock.LogBlock.onEnable(LogBlock.java:61)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:127)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:578)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:216)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:115)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:93)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:215)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:202)
    at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:142)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:257)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    22:17:19 [INFO] LogBlock disabled.

    tryed tool as 55 and 75 was working on earlyer version with it set as 75

    EDIT:
    just figured it out....... you can no longer set the tool to be a non tool item it seems. worked fine when i set it back to 275.
     
  29. Offline

    bryand

    great plugin. thank u very much :D
     
  30. Offline

    DiddiZ

    Yup, therefore the toolBlock exists :D
     
  31. Offline

    Avous

    @DiddiZ

    question! i have a plugin that stops fire spread unless people destroy the block thats on fire.... will it spam my logblock if the fire doesnt spread or destroy any blocks?
     

Share This Page