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

    PatrickFreed

    What do you mean by read access?
    All of my other sqlite plugins work, and I don't see why it needs sqlite to function. It uses mySQL right?
    It's just BigBrother really screwed us over, anti-grief measures are essential and we've been running without them, and things are getting out of hand.
     
  3. Offline

    DiddiZ

    Download the connector manually, maybe it helps.
     
  4. Offline

    David PRitchett

    Hey there..

    I'm getting this error for chests and signs.

    Code:
    2011-04-06 22:09:38 [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(Unknown Source)
    
    Also, all block changes are being recorded to player ID 2. Despite the fact that I have 5 players on all making changes to the world.

    I even placed a block myself and right clicked with a wooden pick.. "no history".

    Any ideas?

    Thanks so much!

    Davidonabus
     
  5. Offline

    Michael314

    I doubt that was it, because I sat and waited for the fire to extinguish, then rollback and the house was intact but torches and sign were missing. I'll test again (but the lava thing sounds like a non-starter for me in any case)

    Was is this? /removenear ? Another plugin? I can see that working but I'd prefer this plugin to track lava and roll it back. One of the reasons I (and I suspect some others) are looking at this is because bigbrother currently has some issues.

    Each plugin you add to a server adds another multiplier to the complexity of getting a set of them that all work together with whatever version of craftbukkit and minecraft you want.

    I see the problem, of course, once you log lava you potentially lose the audience that think this is faster than bigbrother (although they could disable lava logging in that)

    Hmm edit 2: Ok, tested again. I didn't realise lava flows away (eventually) so you can rollback the stationary lava, wait...and wait...and wait and then rollback the damage from the fire.

    So it's just signs and torches then (and presumably pictures?)

    Signs from tnt are blank (we have tnt disabled anyway and don't really care) but signs and torches on blocks destroyed by fire disappear completely (well, they drop, but they aren't replaced by rollback). I might grab the source code later...

    Ok, I didn't get the sign. Either way this is the same thing. If I wanted to grief on a server running logblock, I mess with signs and use lava, job done.

    edit: Just tested again. I set fire to a house with a sign on it, waited for the house to be destroyed. /lb player fire shows the fire has destroyed several wood and wool blocks. The sign dropped to the floor - that event, the sign being destroyed, isn't, as far as I could tell, logged. Bigbrother does this - whether there is an event or whether they check each destroyed block for a sign / torch, I'm not sure (they do some checking for 'gnomes' that looks like it might be doing that) It's a pity, as I like the output this plugin has over BB's.

    The other thing is, most of the rollback I've done with bigbrother have been people making mistakes. They typically make a mistake with lava when creating some kind of decoration with it, so it's probably a more common rollback than griefing.

    Fair enough, I saw the lb-main after I wrote that, but I thought that was just the one table not all of them.
     
  6. Offline

    SgtSpike

    Back to logging player deaths... are you maybe planning to implement this? :D
    And chat/command logs? :D:D
     
  7. Offline

    Etsijä

    I guess that could be an adequate solution.

    About the table names LogBlock uses: I'd really like to get rid of the hyphens in the names altogether, as they do complicate everything in MySQL, and some commands don't seem to like the escaped ``s very much.

    Currently, in the config, I have
    Code:
    worldTables:
    - lb
    so that gets rid of the hyphen in the main table. But LogBlock still forces the hyphen on the other tables, and my tables are now

    Code:
    lb
    lb-chest
    lb-players
    lb-sign
    Could someone advice me: is it safe to change those names into ones without hyphens, and how to do it with an SQL statement?

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

    Michael314

    AFAIAA, you can't change the names in your database without changing the source code that uses them.
     
  9. Offline

    Avous

    @DiddiZ would it be at all possible to not rollback lava because i purge lava then have to rollback to fix a griefing attack and the lava just respawns anyways! very annoying :p same for water
     
  10. Offline

    DiddiZ

    Interesting. Seems there is something going really wrong. Try deleting (or renaming) the tables.
    /removenear is from WorldEdit.

    Lava flow wouldn't be that problem, will test that.
    Hm, attached item to destroyed blocks aren't logged. Will look at the BB source code. If there is an other optionen than checking each block for attached torches, signs, doors, etc. Otherwise I'll suggest bukkit to to fire the block destroyed hook.
    Hm, the hyphens in the sub table names are hardcoded.
    I didn't have any problems with backtick so far.
    Yes
    That's no problem. Therefore I added the config entry dontRollback in v0.11. Simply add id from 8 to 11.
     
  11. Offline

    THEK

    Hi again.

    I'm still getting the problem with slow area checking. A couple of times I've done "/lb area 2" and it has taken over 2 minutes to complete. However, when I use /lb rollback it takes less than 20 seconds.
     
  12. Offline

    xxxfakaxxx

  13. Offline

    DiddiZ

    Hm, I think the db has to read from hard drive first, because it goes through all rows.
    The indexes are weak, should be better when I figure out which are the good ones. Most columns have a way to low cardinality to work.
    You can drop replaced, type and data indexes and create a date index.
    Hm, it seems LB didn't get a connection.
     
  14. Offline

    PatrickFreed

    Downloading the connector didn't help, but I did find this with iConomy. Is this related to the problem I am having with LB?
    [​IMG]
     
  15. Offline

    Etsijä

    Hmm, didn't notice if this has already been discussed, but with every TNT explosion, I get this to my console:

    Code:
    16:31:40 [INFO] [LogBlock Consumer] Queue overloaded. Size: 101
    This happens even when I just blow up one TNT.

    My config:

    Code:
    logCreeperExplosionsAs: Creeper
    logLeavesDecayAs: LeavesDecay
    defaultDist: 20
    usePermissions: true
    toolblockRemove: true
    logFire: true
    logFireAs: Fire
    logChestAccess: true
    password: root
    logSignTexts: true
    version: '0.11'
    username: root
    logLeavesDecay: false
    driver: com.mysql.jdbc.Driver
    logTNTExplosionsAs: TNT
    toolID: 270
    defaultTime: 30 minutes
    toolblockID: 7
    url: jdbc:mysql://localhost:3306/minecraft
    worldTables:
    - lb
    keepLogDays: -1
    replaceAtRollback:
    - 8
    - 9
    - 10
    - 11
    - 51
    logFireballExplosionsAs: Ghast
    worldNames:
    - ../world
    dontRollback:
    - 46
    - 51
    delay: 6
    logExplosions: true
    
    In the explosion area, using Bedrock still reports TNT being used on the blocks correctly, so I guess this is not a severe issue.

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

    DiddiZ

    Not really. but it you could try if it makes any difference when yiu disable all plugins using sqlite or mysql.

    It's an info. More blocks are in the queue to be written into db than processed. Occures usually with fire or explosions which cause massive block changes. If this message is shown permanently, or even the number is increasing, you should shorten the delay in config.
    But there is also an entry in FAQ about :D

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

    PatrickFreed

    disabled everything, gettting this
    [​IMG]
    Going to do a complete reinstall of mySQL, and see what happens
     
  18. Offline

    Etsijä

    Ah, sorry for spamming the thread unnecessarily. I'll read the FAQ...like...now. :D
     
  19. Offline

    PanCakes

    really nice plugin thanks but i dont get the syntax for rolling back /lb rollback joe day:5 or d:6 ? i always get invalid rollback mode.
     
  20. Offline

    Nieksas

    yeah me to always get invalid rollback
     
  21. Offline

    oliverw92

    It's /lb rollback player joe 5 days

    I'm getting this error whenever anyone tries to do anything with a chest:

    I tried deleting the chest table and letting it remake it, but it it still there.

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

    dewyocelot

    Hey, I'm getting this error from logblock consumer, where it tells me either the queue is overloaded, or it says this:

    [SEVERE] [LogBlock] SQL exception
    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'playerid' in 'field list'

    I copied this from another person, but this is what it says for me essentially.

    I actually have no record of anything done when I use logblock, and I am unable to access the SQL at the moment, I was just wondering if there is anything I can do.
     
  23. Offline

    DiddiZ

    Hm, empty result set ... Will catch taht exception, but I'm not sure what's causing the resultset to be empty, since it returns the auto increment of the last insert.

    The first one is in the FAQ, the second is caused by not updating sql tables. Run the sql tables updates from v0.7 and v0.7b.

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

    parker_digg

    Cant figure out how to undo a rollback. Anyone know?
    It says /lb redo and use same parameters as rollback. But It says wrong argument.

    ??
     
  25. Offline

    DiddiZ

    /lb rollback player diddiz 5 minutes
    /lb redo player diddiz 5 minutes
     
  26. Offline

    itorrent

    Okey i have a question: is there any Auto-Cleans period within the plugin?
     
  27. Offline

    DiddiZ

    keepLogDays in config
     
  28. Offline

    itorrent

    thank you for that :D
     
  29. Offline

    oliverw92

    Would you mind giving a brief run-down of how the database works? I'm trying to make a PHP/AJAX front end for my moderators to use but i don't quite understand your database.
     
  30. Offline

    DiddiZ

    the main table consists ofthe columns id, date, playerid, replaced, type, data, x, y, and z.
    id, date, x, y and z should be clear.
    playerid is the playerid matching to playername in lb-players.
    replaced is the id of the replaced block.
    type is the id of the placed block.
    data is the block data of either the placed block, or the destroyed block, or, when type and replaced != 0 the data of type.
    e.g.:
    replaced - type - explanation
    0 - 12 - Placed sand.
    17 - 0 - Destroyed log.
    8 - 4 - Replaced water with cobble
    type and replaced = 54 (replaced chest with chest, what isn't possible to do :D, dispencers and furnaces work the same way) stands for a chest access.
    The table -sign contains columns id and signtext.
    Signtext is selfexplaining, and id is the id from main table referencing the sign place.
    The table -chest contains only zeros ...
     
  31. Offline

    George

    Is there a way to reverse the in-game tool log so the newest edits show up last? or display them with pagination? When I check blocks such as chests the have a lot of logged actions, the newest ones scroll off the screen and I am unable to read them.
     

Share This Page