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

    I think I'm going to :D
     
  3. Offline

    Lildirt

    2011-06-16 00:35:50 [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. 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.SQLError.createCommunicationsException(SQLError.java:1116) at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:687) 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: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.ConnectionImpl.getInstance(ConnectionImpl.java:378) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) 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 net.minecraft.server.MinecraftServer.e(MinecraftServer.java:232) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:219) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:146) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283) at net.minecraft.server.ThreadServerApplication.run(SourceFile:422) Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2529) at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:611) ... 24 more 2011-06-16 00:35:50 [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 net.minecraft.server.MinecraftServer.e(MinecraftServer.java:232) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:219) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:146) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283) at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)



    Yes, yes I can. It does this each boot and reload, nothing changes between them two.
    No matter what I do, I've taken out plugins piece by piece and it doesn't help. It does NOTHING.
    :(
     
  4. Offline

    DiddiZ

    @Lildirt
    There should be some messages before like connecting to <server> etc
     
  5. Offline

    Lildirt

    There is, it says connecting to <servername that I'm not going to mention>, but it doesn't really connect fully I'm guessing. That was the error I posted. Everything else that says its connecting pops up, but during the boot afterward it says 'LogBlock Disabled' and pops out this error.
     
  6. Offline

    DiddiZ

    Are you using a remote or a local server?
    When you are using a remote one, it could refuse remote connections or TCP connections at all. Both have to be accepted.
     
  7. Offline

    Einschtein

    @DiddiZ

    I'm hosting the SQL on my localhost now, as I used to store it on a website I own. So I'ma see if this will help. Otherwise I have no idea what's causing that it won't see everything when I try to rollback.
     
  8. Offline

    DiddiZ

    Hm, did you try /lb savequeue before?
     
  9. Offline

    Einschtein

    @DiddiZ

    Uhuh, I did. And it said that there were no things in the que. But I tried a few minutes ago, and it seemed to work. Don't know if it'll still work after a couple of days though.

    (Noob question: where the heck is that quote button? So I can auto. quote someone's post?)
     
  10. Offline

    DiddiZ

    Hope so.
    Reply button :D
     
  11. Offline

    Lildirt

    The server is dedicated, and I'm editing the server with a remote editor, is that what you mean?
    If thats what you mean, yes its remote, how would I go about doing that?
     
  12. Offline

    Einschtein

    So do I, but I'll post a reply here as soon as I get a concrete result.

    (Wow, how could I be so blind. But thanks. :p)
     
  13. Offline

    DiddiZ

    Forgot to mention that I was talking about your MySQL server ...
     
  14. Offline

    pomo4ka

    Earlier in the (LogBlock v1.01) after rollback (/lb rb player pomo4ka) and (/yes) appeared message (/lb clearlog last) deletes the entries that have already been used.

    This function was for me very useful. Now it is gone, and the command (/lb clearlog last) removes all of the latest entry in the table. What should I do?
     
  15. Offline

    DiddiZ

    I only removed the message, /lb clearlog last should still work
    When you use it for areas, you have to stay an the location.
    Btw, you mentioned some performance issues: Next version will be about 4 times faster :D
     
  16. Offline

    pomo4ka

    Thank you. And for the players command (/lb clearlog last) will not? Or for example can be done (/lb clearlog player pomo4ka last) or (/lb clearlog player pomo4ka 10m), etc.
     
  17. Offline

    DiddiZ

    Um ...
    /lb rollback player pomo4ka area 10 since 14:00:00
    /lb clearlog last
    is still equivalent to:
    /lb rollback player pomo4ka area 10 since 14:00:00
    /lb clearlog player pomo4ka area 10 since 14:00:00
     
  18. Offline

    pomo4ka

    Well, when I did (/lb rollback pomo4ka) and then (/lb clearlog last) told me that he remove the last record of all time.
     
  19. Offline

    DiddiZ

    It's due to you don't enter a time for /lb rollback. That got fixed in v1.10.
     
  20. Offline

    Lildirt

    Uh, I didn't set up the MySQL server, the hosting company did it for me. It worked fine until a /reload, which is making me wonder..

    EDIT: I also checked the MySQL server, its running fine!
     
  21. Offline

    pomo4ka

    Sorry course I could from the poor knowledge of English. I still do not understand why it does not work as before.
     
  22. Offline

    DiddiZ

    Hm, there was an issue, that LB sometimes failed to read the config.
    The "connection to" message is 100% proper and using pwasseord yes?
    When you dont provide a time for a rollback command it's default 30 minutes, for clearlog commands it's unlimited. But it should be fixed with 1.10 (so it'll overtake to 30 mins even when you didn't specified a time).
     
  23. Offline

    pomo4ka

    Got it. I think it used to be better. Now this is slightly useful.
     
  24. Offline

    Revenger

    Got the sql files unfortunately our data is mixed into the new data in the same database.

    What can we do abut this?

    Old data
    or
    Looks like we have 2 sets of old data ones with create/destroy ones with none there.

    New data
    First set goes to page 52536 ID 1576062
    Second set goes to page 260593 ID 7817779

    Instead of a PlayerID we have there names etc .

    Some someone whip up a sql that will fix this for us cross referencing with the lb-players and adding ones not in there in?

    Cause we do not want to loose history from august or so last year to may this year.

    Or tell me how to separate the data so we can update it.
     
  25. Offline

    DiddiZ

    Firstly, how did you get there? Did you just rename the columns?
    Rename the column playerid back to player and execute this query:
    The update u are missing is the one from LB v0.7:
    Code:
    INSERT IGNORE INTO `lb-players` (playername) SELECT DISTINCT player FROM `<table>`;
    ALTER TABLE `<table>` ADD `playerid` SMALLINT UNSIGNED NOT NULL AFTER player;
    UPDATE `<table>` INNER JOIN `lb-players` ON `<table>`.player = `lb-players`.playername
    SET `<table>`.playerid = `lb-players`.playerid;
    ALTER TABLE `<table>` DROP `player`;
     
  26. Offline

    pomo4ka

    Is there any way to optimize the MySQL server to work with the plugin LogBlock? I now have about 16.000 records. This statistic is approximately 4 hours of the server. I want to keep them always, without removal.
     
  27. Offline

    Lildirt

    Yes. It does say connection to and uses the password. It has not changed a bit from what it originally did except for the error.
     
  28. Offline

    DiddiZ

    There are also some index optimizations coming.
    What statistic?
    Strange ... really. And the MySQL server didn't change? Another port, ip, db?
     
  29. Offline

    Revenger

    Another guy did it i think he just renamed the columns for bukkit so we kinda have a really old database so most of the sql updates were not done :( as you can see we still go back to create/delete in actions. I edited my post previous page we have older data with create/delete tie in action they will also need to be updated as somehow there must have been a sql update we never put in back last year.

    Problem is we have thousands of pages and its all in 1 table so I need to update everythingto the new structure somehow which I don't know what queries to use to do all this so kinda need help here to get this done :/

    I have the ID numbers of the types.

    First set goes from 0 to 1576062 (Create/delete actions + playernames)
    Second set goes from 1576063 to 7817779 (playnames)
    Where 7817779 onwards is the latest logblock data. (latest version)

    Hope that's a better help?
     
  30. Offline

    boksa

    I'm not sure if i read the wiki wrong or if no such feature exists, but why doesent "/lb tool mode chestaccess" work?
    I want to be able to smack a chest with the tool to see who accessed that chest.
     
  31. Offline

    DiddiZ

    You want to say you are now storing the player ids as varchar?
    Should be very slow ... who does something like that?
    Year, "CREATE TABLE `temp` like `lb-main` SELECT * FROM `lb-main` WHERE id < 1576063;"
    then you can update the tables, and merge to one later.
    The normal lookup does that :D
     

Share This Page