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

    LBKillStats are under developement, but you can use ingame commands (like /lb player fire sum b) or the webstats
     
    James Livingston likes this.
  3. Offline

    108ricky

  4. Offline

    tomnicklin

    What am I doing wrong? I have just made a MYsql database with free hosting and added the info to the right areas, but the plugin still doesnt work? I am op on my server and have * as my permissions - commands dont work, nothing works...
    Code:
    tables:
    - lb-main
    - lb-nether
    loggedWorlds:
    - world
    - world_nether
    mysql:
        port: 3306
        host: mysql10.000webhost.com
        password: tom1234
        user: a8805881_tom
        database: a8805881_mc
    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
        toolBlockQuery: area 0 all sum none limit 15 desc
    questioner:
        askRedos: true
        askClearLogs: true
        askRollbacks: true
        askSavequeueBeforeRollback: true
    version: 1.00final
    
     
  5. Offline

    DiddiZ

    Afaik 000webhost provides no remote access.
    Try db4free.net.
     
  6. Offline

    MartN

    hey, where is the BukkitContrib.jar in the download? :)
     
  7. Offline

    DiddiZ

    I replaced it with a link, it's in install.txt.
     
  8. Offline

    DJ Olditmes

    do you really need MySQL?
     
  9. Suggestion: /lb reload. To reload the config :p.
     
  10. Offline

    DiddiZ

    Atm, yes
    Won't really work, since hooks get registred at loading. You better use /plugins reload LogBlock.
     
  11. Offline

    tomnicklin

    ahh thanks got it working but new problem, its not logging anything, I test digging a hole just block tool, shows no history, I have all settings to True like so :
     
  12. Offline

    DiddiZ

    Force to process the whole queue immediately with /lb savequeue
     
  13. Offline

    tomnicklin

    ahh that worked, is there no automatic way of this happening, my server just got bombed to hell and i couldnt rollback so had to restore my map back 5 hours
     
  14. Offline

    DiddiZ

    It should save automatically. You have have to disable "consumer.useBukkitScheduler".
     
  15. Offline

    Asphodan

    Code:
    2011-06-29 06:33:42 [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.GeneratedConstructorAccessor78.newInstance(Unknown Source)
        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.<init>(MysqlIO.java:343)
        at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2334)
        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.GeneratedConstructorAccessor35.newInstance(Unknown Source)
        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.CommandsHandler$LBCommand.<init>(CommandsHandler.java:326)
        at de.diddiz.LogBlock.CommandsHandler$CommandLookup.<init>(CommandsHandler.java:350)
        at de.diddiz.LogBlock.LBToolListener.onPlayerInteract(LBToolListener.java:54)
        at org.bukkit.plugin.java.JavaPluginLoader$10.execute(JavaPluginLoader.java:307)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:321)
        at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:168)
        at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:213)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:563)
        at net.minecraft.server.Packet15Place.a(SourceFile:57)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:223)
        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:451)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:529)
        at java.net.Socket.connect(Socket.java:478)
        at java.net.Socket.<init>(Socket.java:375)
        at java.net.Socket.<init>(Socket.java:218)
        at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:254)
        at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:292)
        ... 31 more
    2011-06-29 06:33:43 [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.GeneratedConstructorAccessor78.newInstance(Unknown Source)
        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.<init>(MysqlIO.java:343)
        at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2334)
        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.GeneratedConstructorAccessor35.newInstance(Unknown Source)
        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.Consumer.run(Consumer.java:231)
        at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
        at java.lang.Thread.run(Thread.java:662)
    Caused by: java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:529)
        at java.net.Socket.connect(Socket.java:478)
        at java.net.Socket.<init>(Socket.java:375)
        at java.net.Socket.<init>(Socket.java:218)
        at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:254)
        at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:292)
        ... 18 more
    
    Any ideas?

    Works fine for a while. Then, suddenly, that.
     
  16. Offline

    DiddiZ

    Does it work afterwards, or does it totally stop to work?
     
  17. Offline

    Asphodan

    It completely halts the server. So I don't know if it'd continue to work properly or not, if the server survived.
     
  18. Offline

    DiddiZ

    Could be a flavour of the deadlock issue. Try this dev build:
    http://forums.bukkit.org/posts/417875
     
  19. Offline

    ratty

    I have an idea I wanted to share in case anyone else thinks its a good idea and wants to run with it.
    But with the data this plugin collects, you could make a heatmap, and overlay it on a c10t map for example. Just plot little dots for each "event" and see what the popular areas of the map are, as well as you can figure out what undeveloped parts of the map are so you can trim those chunks.
     
    DiddiZ likes this.
  20. Offline

    extracharged

    sweet thanks man, works perfectly now
     
    DiddiZ likes this.
  21. Offline

    Asphodan


    Now I get 'null' in red text whenever anyone looks something up, and it can't submit the queue.
    Just spams the same number repeatedly.
     
  22. Offline

    DiddiZ

    Interesting ... really no error messages?
     
  23. Offline

    Bannanas

    No commands work... /lb help nothing please "reply" back :)
     
  24. Offline

    DiddiZ

    Then LB disables itself at server start. Look for an error message there.
     
  25. 1.7 seems to break BukkitContrib. What are the consequences for logblock? Normal logging seems to work nonetheless.
     
  26. Offline

    DiddiZ

    BukkitContrib is needed for chest logging, so that won't work.
    But I'm sure Afforess will update asap.
     
  27. Thanks for the provided information.

    One Logblock error came across while running mc1.7/craftbukkit#946 on our testserver:

    Code:
    2011-06-30 18:04:40 [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: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.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:636)
    
     
  28. Offline

    DiddiZ

    Kill logging is a bit broken, working on it for next version.
     
  29. Offline

    Sh4d0w

    does logblock working without BukkitContrib?

    I can't test it on my local machine...
    And on my main server are a lot of players...
    I ask :)

    Because BukkitCOntrib produce errors while startup MC 1.7 (948)
     
  30. Offline

    DiddiZ

    Sure, all additional jars (except the connector :D) are optional.
    But you won't be able to log chest accesses.
     
  31. Offline

    Sh4d0w

    -.- oh no.

    hm ok then I must wait for BukkitContrib > 0.0.9 or higher

    All plugins works fine on 948, only these one not.
     

Share This Page