Inactive [SEC] BigBrother 1.7.1: A Complete Griefer Logging + Rollback Package [531]

Discussion in 'Inactive/Unsupported Plugins' started by tkelly, Jan 5, 2011.

Thread Status:
Not open for further replies.
     
  1. Offline

    tkelly

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    BigBrotherv1.7.1
    irc.esper.net #BigBrother
    LATEST 617+-COMPATIBLE SNAPSHOT HERE

    What is BigBrother?
    BigBrother is a powerful weapon in the war against griefers, and this particular tool has the ability to log and rollback every individual change a griefer has done via a large, all-knowing database that logs every action a user has taken. It gives you the utilities to inspect the world around you and determine who made what change, so you can catch the griefer every time. You can go here for more information, but here's a few examples:
    1. Log players' block destruction, placement, chats, commands, and so much more
    2. When chests are destroyed, their contents are logged
    3. Log blocks destroyed by TNT and Creeper Explosions and Fires
    4. Inspect missing blocks, opened chests using a variety of tools
    5. Rollback all changes to exactly as they were
    6. Rollback by player, time, area, and block type

    I want a full list of what it logs.
    Okay. Here it goes:
    Broken blocks, placed blocks, destroyed signs' text, teleportation, changes in chest contents, commands, chats, disconnects, logins (with IP address), opening doors, pushing buttons, lever switches, created signs' text, leaf decay, TNT explosions, Creeper explosions, miscellaneous explosions, the opening of chests, burnt blocks, and lava flow.
    I'll admit, this list is pretty small (only 20 things). But with every update of BB, this list grows to allow you to log or not log anything you could want.

    That's a nice list, but what can I really do with BB?
    I'll give you a few scenarios in which BB can really come to the rescue.
    1. Complete Grief Rollback: A griefer, meanieguy, comes and starts griefing away when your admins are away. And when I say grief, I mean grief. He gets his hands on buckets of lava, TNT, and goes to town. By the time an admin gets back on, meanieguy and half of your town is gone. The admin can quickly and easily identify that meanieguy was the crook using /bb here or the SuperSticks. After that, all he has to do is issue the command: /bb rollback meanieguy, and everything is back to normal. Flows of lava is cleaned up, TNT explosions have been fixed, welcome signs are back with their sometimes-odd text, chests are back with their original contents, and your users are happy
    2. Specific Rollbacks: A couple of your (typically good) server members get a little carried away when making modifications to someone else's building. You don't want to rollback all their changes, but only in a particular area and within a certain period of time. You can just use: /bb rollback tw3dled3 tw3dledum t:1d5h r:20, and that will rollback just their changes, within a 20 block radius and within the past 1 days and 5 hours.
    3. Building Identification: Ever stumble across a building that is either so good or so bad that you have to know whose it was? By using /bb stick 1, you'll get a stick that will let you identify who placed or modifed which blocks. /bb stick 2 will give you a log that will let you inspect "air", water, and lava blocks (basically things that aren't rightclick-able).
    4. Creeper Rollbacks: Creepers are annoying for a two reasons: they kill you and they blow up your stuff. Thankfully, BigBrother can take care of reason 2. If a creeper blocks up the side of your building, you can quickly fix it by using /bb rollback Environment r:5. This will rollback any environmental changes within 5 blocks.
    *With the current version of BigBrother, you may have to do more work to rollback TNT, burnt blocks, and lava. Currently, these are logged as "Environment" (as it's difficult to match these actions up to a specific player). So rolling back meanieguy and Environment with a good time argument will easily take care of this.




    Hm, Okay. Where can I go to get more information?
    You can hop on over to BigBrother's github repository.
    There we have a wiki full of installation, troubleshooting, and command information; the full and bleeding edge source code; and an issue tracker to get your problems solved.

    Video Tutorial

    By Samkio.

    Changelog

    BigBrother v1.7.1
    Released 16 Mar, 2011
    - Built with CB 531.
    - Fix for SQLite problem with (LIMIT)
    - Fix for people using non-permissions plugin
    - Initial table prefix support.

    BigBrother v1.7
    Released 13 Mar, 2011
    - Updated + Compiled for CB 527, Permissions 2.5.3, GroupManager 1.0+
    - Inserts into database are now (optionally) LOW_PRIORITY (thanks GpMidi!)
    - Sanitizes names before sending to DB (helps w/ name hack)
    - Logging of signs changed using the Mass Sign Hack (.eas)
    - Rollback by Tick (greatly reduces lag during rollbacks, customizable # of blocks/tick)
    - Threaded and cleaned up Cleansing (much faster, no lag).
    - Options to restrict # of entries removed each cleansing
    - Cleansing happens on a schedule
    - '/bb version' and '/bb update'. version: tells you the version of BB you're running. update: tells you if there is an update. (These also work in the console: 'bb version' and 'bb update')
    - Complete properties file change: BigBrother.properties + watching.properties -> BigBrother.yml. (it will auto-convert)
    - Fix for broken bed logging
    - Fix for cancelled onEntityExplodes
    - Help support. View organized help w. '/help bb'- Auto-download of libraries is now optional
    - Temporarily turned off threading of /bb here and SuperSticks
    - Leaf Removal + Lava Flow defaulted to off
    - /bb log : Alias for /bb stick 2
    - A few other things...

    BigBrother v1.6.3
    Released 27 Feb, 2011
    - Fix for removal of Bukkit's onPlayerCommand
    - Command-logging fixed!
    - SuperStick threading
    - /bb here threading

    BigBrother v1.6.2
    Released 26 Feb, 2011
    - "Fixed" SQLite problem with database locking during datablock sending.
    - Fixed problem where it gives you sticks instead of proper item
    - Fixed but where Chest Logs end in "-"
    - Modified table schema to allow for longer chest logging.
    - Better error reporting when unable to create connection.
    - Extra Permissions check + better messaging
    - Initial Threading: Less lag when logging blocks and rolling back.

    BigBrother v1.6.1
    Released 23 Feb, 2011
    - "Fixed" SQLite problem with Cleansing
    - Fixed IndexOutOfBoundsException when timeCleanse setting was set to "0s"

    BigBrother v1.6
    Released 23 Feb, 2011
    - Multiworld support! Rolling back by radius will be limited to the world you're in. (All other rollbacks will still be universal)
    - Database cleansing on startup by age or number of records. Look in bigbrother.properties for these settings.
    - Initial On-demand cleansing. Using '/bb cleanse' (bb.admin.cleanse), it will invoke the cleansing under the settings you have. This will be built upon in upcoming updates.
    - Initial Lava Flow logging + rollback. Those ugly lava flows will be quickly removed. (Logs to "Environment" for now)
    - Sign creation text logging. Logs the text of signs when they build (in addition to destroy) signs
    - Performance enhancements from Oni and N3X15 builds
    - Player IP Logging on login (from Oni build) (can be turned off)
    - Better '/bb help'
    - No longer using the long, spammy constructor.
    - Fix for the not logging of broken blocks.

    BigBrother 1.5
    Jan 30 - (CraftBukkit #186)
    - Requires build #183 or higher
    - Logging/Rollback of blocks burnt by fire, initially to player "Environment". (fire = action #19)
    - Rollback confirmation if you're rolling back without a radius or time argument
    - Customize what the stick is (check "stickItem" in BigBrother.properties)
    - "History Log" - /bb stick 2 - Gives you a log to place and gives you the history there.
    - SuperSticks will now supply you with the item they need.
    - More permission separation between info, rollbacks, and watching (check the OP for more info)
    - /bb stats gives you a few basic stats about BB
    - Memory free'ing after sending blocks (thanks to Zenexer for that)
    - Restores optionally restore fire blocks, default false (check restoreFire in BigBrother.properties)

    BigBrother 1.4.3
    Jan 25 - (CraftBukkit #135)
    - All the updates from 1.4.2
    - Different management of connections

    BigBrother 1.4.2 (caused Conn. problems)
    Jan 24 - (CraftBukkit #135)
    - Removed annoying spam!
    - If connection can't be established from the start, BB tells you and shutsdown (rather than keeping on warning)
    - If connection fails in the middle of running the program, it's reset
    - Better handling of problems when saving to the database
    - Handling of data being too long
    - Right-clicking stuff with super stick doesn't interact with them

    BigBrother 1.4.1
    Jan 24 - (CraftBukkit #135)
    - Fixes internal client error with using just /bb

    BigBrother 1.4
    Jan 24 - (CraftBukkit #135)
    - Better connection management for SQLite and MySQL
    - Optional use of INNODB with MySQL
    - Fixes 'y' out of bounds error with MySQL
    - Creating Signs are now logged
    - Moved settings + data into plugins/BigBrother
    - Dependency downloader - Auto-Downloads SQLite and MySQL libraries into lib/ folder (thanks to Hidendra <3)
    - SuperSticks! - Support for many different types of sticks for searching an area
    - 'History Stick' - The first SuperStick, gives detailed history of a block
    - Radius Rollback - Specify the radius around you to rollback (using r: )
    - TNT/Creeper Logging - Log the blocks destroyed by TNT or creepers (for now logged as "Environment")
    - Leaf Decay -Logs leaves that decay so you can roll your trees back (for now logged as "Environment")
    - Flint+Steel logging
    - Opening chests - No chest modification though, the right hooks aren't in place
    - Destroying chests logging and rollback - If someone breaks your chest, roll them back and get all ur stuffs back

    See Older Ones Here...
  2.  
  3. Offline

    mrgreaper

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    damn was going to add this tonight but dont know how to use mysql, we have mods that use sql light and they work great
  4. Offline

    Nipper

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    They may work great. But check your /tmp folder to see if it has lib files. Big brother writes alot of changes to the db file so it causes the /tmp file to fill up fast. If you need help with MySQL its not a hard thing to do.
  5. Offline

    mrgreaper

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    the problem with using MySQL is our testing procedure, i create the server files on my pc and stress test it then if it works fully then we zip it up and transfer the files to the main server. with sql lite thats easy theres no having to create and duplicate tables etc unless i have misunderstood mysql

    desting it on the ...well test server i cant even see a /tmp file
  6. Offline

    Nipper

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Well with MySQL you connect to a db on your main server. Meaning you don't need to move the .db files over for it. It's really simple to use.
  7. Offline

    mrgreaper

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    but having the test server connect to the real servers database sounds a bit dodgy
    surely having the live server and a test server access the same mysql at the same time would cause choas?

    i confess i know little of mysql
  8. Offline

    Nipper

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    It can cause chaos if you use the same DB for both.Like if you rollback something that was on one map but not on the other map. It would just undo on that map and might cause a issue if that chunk is not even on that map. But you can do what I did and that is I made 2 MySQL dbs. One for live server and other for test server. This way both DB will never use the same one. Just make sure when you upload to the live server is to change the DB that it uses.
  9. Offline

    mrgreaper

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    ah a post i made seems to have escaped lol

    i applied big brother to our test server and set it to use sql light it works great no tmp folder was created.

    lovely plugin thank you
  10. Offline

    tkelly

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    @Nipper
    Yea, I've verified that libsqlitejdbc files can get left behind.
    Although after about ~10 hours we only had 2. So I'm curious as to how you got so many. I also looked up a little on the SQLite library that I'm using, and it seems like the problem lies in there (and other people have reported the same problem with it).
    Based on the source of the library and where it looks like it could occur, I have a couple of ideas to at the very least reduce the number of times this could happen.
  11. Offline

    Kartus

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    @tkelly
    could you please write a short manual/explanation of the ID's (i see no. 0-11 at my db) for the column "action"? for placing, destroying blocks etc. so i can see, what the player did at this db-entry.
    i.e. "action 5 = place block, action 6 = destroying block"
  12. Offline

    tkelly

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    @Kartus : Oh yea, I meant to do that in the beginning, but I forgot >.<

    BLOCK_BROKEN = 0
    BLOCK_PLACED = 1
    DESTROY_SIGN_TEXT = 2
    TELEPORT = 3
    DELTA_CHEST = 4
    COMMAND = 5
    CHAT = 6
    DISCONNECT = 7
    LOGIN = 8
    DOOR_OPEN = 9
    BUTTON_PRESS = 10
    LEVER_SWITCH = 11
    CREATE_SIGN_TEXT = 12

    In a future release, I'd like to make a html report/browser for people using MySQL (kind of like MCStats had for hMod) for all the data, making it a little easier to read and search.
  13. Offline

    Nipper

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Well with bb running with sqlite I was getting around 10+ in less then a minute each file is 415kb. Added up to over a gig and filling my /tmp on my dedi in under 3 to 4hrs. In other words every time BB wrote to the .db file it would make a new .lib file.
  14. Offline

    Laguna

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Hello! first of all thank you very much for this plugin is just what I needed. One thing does not work, see, I have the plugin installed correctly and I loaded fine, but when in the game (being admin), I /bb here, I did not previously destroyed blocks out why?, in putty I get the following error:

    dragonl tried command: bb here
  15. Offline

    qrux

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    It would be nice if you added an search command that, when you click on a block, shows who edited the block (kinda like LogBlock for hMod).
  16. Offline

    Pluckerpluck

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Can anyone tell me the advantages and disadvantages of using MySQL or SQLite.
    I have no difficulty setting a MySQL server up it's just that I don't currently have one and I wanted to know if there were any advantages (if any) for creating one and using that over the SQLite DB.

    Personally I'm favouring SQLite because it's much easier to then organise multiple plugins if they all use it but I don't know too much about how it works and so wanted to know if there was anything I should know.
  17. Offline

    hal

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    What is the log chestChanges to check it?
    I use SQLiteManager.


  18. Offline

    Juze

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    No more flatfile support? I just started with Bukkit, been using hMod for a long time. I don't have SQLite or MySQL database...
  19. Offline

    arthoz

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    just download the sqlite dependency to your craftbukkit.jar folder and its good to go (when you config it to use sqlite), its dead simple =)
  20. Offline

    Lim-Dul

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    That's the advantage of SQLite. You don't need to set up ANYTHING when using it since it comes as a bundled library instead of being an external application.
  21. Offline

    tkelly

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    @Nipper : Interesting. Have you noticed any failures reported to the console from BB? Or was it running normally, but just generating those .lib files?

    @Laguna : If you're getting that error, that means that you don't have permissions to use it, or its not turned on. You have to be an OP by Minecraft standards, not by one of group plugins.

    @qrux : Yep, I plan on having something like that in one of the next updates.

    @hal : I'm not sure what you're asking.. If you're asking about the logging of chest changes, BB isn't able to do that yet because the proper access isn't given through Bukkit yet. But as soon as it is, BB will have that.

    @Juze : Exactly what @arthoz and @Lim-Dul said. Anyone can use SQLite, it's essentially a flat-file, but more organized.
  22. Offline

    Firestar

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    will this account for areas they cannot edit?
  23. Offline

    tkelly

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    @Firestar : It'll ignore edits to areas that are protected by other plugins or by spawn protection and don't go through. Is that what you're asking?

    Edit: And is that what you'd want?
  24. Offline

    Firestar

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    yeah
  25. Offline

    pairdime

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Love this plugin but it is causing tons of lag for me in the latest builds. Sqlite + Windows XP 32bit
    Have a bunch of other plugins installed, but disabling this one seems to fix the lag problem.
  26. Offline

    mrgreaper

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    from what i have read on other plugins builds higher then 66 are cause of many problems

    we have it on windows 32bit with other plugins and on sql light no lag and no /tmp folder allllll is golden (he says while touching wood with crossed fingers and looking out for black cats)

    try build 66 see if it fixes it for you
  27. Offline

    Laguna

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Thanks for the reply!, but excuse my ignorance but how I can give me administrator rights?
  28. Offline

    mrgreaper

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    in the server root is a file called ops.txt (or maybe op.txt im at work at mo) add your user name inside that :)
  29. Offline

    Laguna

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    okey!!!!!! very very thank! ^^
  30. Offline

    TheArcher

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    I'm using "SQLite Dependency Library" and "BigBrother 1.3.2":

    [IMG]
  31. Offline

    mrgreaper

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    have you changed mysql to false in the configuration file?
  32. Offline

    TheArcher

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Ah, now it works. Thank you for the help (and bonus gratitude for the fast response). This plugin is very useful!
Thread Status:
Not open for further replies.

Share This Page