Inactive [SEC] BigBrother 1.11.0 - Catch griffers red-handed [1060]

Discussion in 'Inactive/Unsupported Plugins' started by N3X15, Apr 13, 2011.

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

    N3X15

    [​IMG]
    Important Crap

    I'm done, but BB isn't.
    I've got 10 developers on the contributors' list who supposedly want to help, but I haven't heard a word from them since the day I added them. BigBrother's so full of bugs now that I don't know where to start, and I simply don't have the time or patience to work on it anymore. If you want something that works, pick up LogBlock. I'm fucking done. I updated it to "run" on 1060, but that's as far as I'm taking this. If you still want to help, email me at [email protected] and give me a rundown of your experience in coding plugins so I know you'll do something.​
    UPDATE: 3 developers have been added to the repo, but I'm waiting for them to get familiarized and start committing before I declare this crisis over. I appreciate the support and help that has been thrown this way. If you'd still like to help, but don't know how to code, there are many other ways to contribute. See the Contributors section for more info.​


    Version: 1.11.0
    Original Author: tkelly910

    Contributors
    • Development Team
      • N3X15
      • Mafio
      • FalconGaming
    • Quality Assurance (QA) Team (Testing, ONLY ON LATEST RB*!)
      • N3X15
      • Mineral
      • All of the poor bastards on the 7chan.org minecraft server + other dev servers
      • *NOTE: Unless EvilSeph or other bukkit devs indicate an RB is imminent, e.g. within the next week.
    • Bug Triage (Sorting through bugs, marking duplicates, closing, prioritizing)
      • N3X15
    • Documentation (Wiki, FAQ, other stuff people will read)
      • N3X15
    • MORE NEEDED. PLEASE PM ME IF YOU ARE INTERESTED IN TESTING OR DEVELOPING.
    Introduction

    BigBrother is a powerful plugin that enables you to investigate roll back griefing via a large and all-knowing database. You have a choice between using immensely powerful commands to search an area for changes, or you can whack a block with a stick or place a log to see changes within a single block.

    • /bb log - Gives you the BigBrother Multipurpose Tool, or a simple log. Hit something with it to see changes in that spot, and place it if the block you're check is non-solid, like water, lava or air.
    • /bb done - Removes the log from your inventory, and gives you back any items it replaced.
    • Want to check an entire area? Use /bb here to list who changed what!
    • Need to roll back EvilGuy and DoucheBug's edits? Use /bb rollback EvilGuy DoucheBug!
      • Have to roll back edits up to 5 minutes ago? Simple! /bb rollback t:5m
      • Need to only roll back within a certain radius? /bb rollback r:<radius-in-blocks>
      • Roll back specific actions with /bb rollback a:10,BLOCK_PLACE
    • If you screw up, /bb undo
    • (NEW) /bb history "Suspicious Guy" to see that player's recent history! (add pg:# to go to page #)
    • Mow your lawn with /bb mowlawn!
    See the full list of commands and Permissions nodes here.

    Screenshots

    [​IMG]
    [​IMG]
    [​IMG](Yes, stationary_* and regular blocks got reversed, this is fixed.)​
    [​IMG]

    Need Help?

    • What version of CraftBukkit and BigBrother? If you don't know, type /version and /bb version.
    • What database engine are you using? Look at the value for database.type in BigBrother.yml. I use MySQL on my server and test on H2.
    • Do you get any errors? If so, please link to a pastebin with your server.log
    • What steps do I have to take to reproduce this behavior?
    • What other plugins are you using?
    Known Issues
    • Everything listed here
    • ItemCraft is not supported due to it sending unexpected NULLs via Block.getType(). Can be fixed by adding a new enum value for unknown blocks.
    • Bugs everywhere, stopped counting.
    Coming Soon
    • /bb history - Gets the history of a player
    • Fixed /bb update
    • Updated API
    • Externally accessible API
    • Custom Action IDs (for WorldEdit support, etc.)
    More Information

    IRC: Support/Chatter/Developer Jive @ irc.7chan.org #bigbrother (Moved so my build notification bot has an easier time notifying multiple channels)

    Changelog
    BigBrother 1.11.0 Changelog
    • Centralize and update bystander checks.
    • Fix parsing errors in DeltaChest
    • Clarify /bb log
    • Fix sign lines being too far down
    • Add command censoring (for people worried about xAuth and the like)
    • Fix pagination capping
    • Fix an error in DeltaChest reading
    • Add ?autoReconnect=true to the MySQL DSN
    • Remove all H2 support
    • Removed /bb stick from /bb help since it is now obsolete
    • Fixed it so commands that work won't say commands not recognized after they already work
    • Fixed the issue of when you had the /bb log if you broke something it would not record the break even if you were watched
    • Now if the user tries to find the history of an invalid user it won't throw null errors.
    • Yell at the users if they don't follow the setup procedure
    • Should fix most of the errors dealing with the log and watch/unwatch problems
    • Update README
    1.10.0+ (open)

    BigBrother 1.10.1 Changelog
    • Fix a rollback SQL syntax error
    • Fix explosion logging
    • Clarify database trimming message in log
    • Fix /bb history
    • Continue rolling back incorrectly-logged BlockBurns, if the data field is unparsable, default to 0.
    • Fix Heartbeat logging
    • Fix SuperPerms support.
    BigBrother 1.10.0 Changelog

    New Features:
    • Brand new plugin API! (Wiki)
    • Database change. There is now a converter, but you might still lose data!
    • Compact chest changes: (+Added)(=Replaced)(-Removed)
    • Heartbeat Action: Logs users online and the current time, both to keep your database connection open, and for monitoring of your server's uptime!
    • Piston Actions!
    • Bukkit Superperms support!
    • RB 1000 support!
    • /bb history!
    • Formatting fix for rollbacks
    • A buttload of NPE fixes
    Bugfixes:


    • [BB-81] Rollback doesn't work because of empty data-values
    • [BB-78/BB-69] onPickupItem/onDropItem NPEs
    • Memory leak fix (Thanks to Wootalyzer!)
    BigBrother 1.9.1:

    • Use BlockSpreadEvent for tracking fires (later told by EvilSeph that there's no current way to track fire in Bukkit)
    • Display a "Permission Denied" to users trying to use commands with insufficient priviliges instead of silently failing.
    • Add /bb mowlawn.
    • Fix stupid mixup between String.format usage on C# and Java in DeltaChest
    • Automatically update plugin.yml via Maven (internal crap)
    BigBrother 1.9


    • Support for 928+
    • NEW: Lava/Water/Fire flow logging (AND ACTUALLY TESTED, FOR ONCE!)
    • NEW: a: directive for rollbacks, for specifying comma-delimited action IDs to track
    • Lots and lots of bugfixes.
    • Marginally better H2 support
    • More automated tests
    • Standardized QA tests (ongoing)
     
  2. Offline

    andrewkm

    [405] getting stuck "searching..."
    trying fresh install right now
    BTW: Im on [740]
    EDIT: [740] + [405] + mysql[myisam]
    Working perfect after fresh install and dropped/regenerated mysql tables. :)
     
  3. Offline

    King_Pikmin

    I don't know why, I'm sure I've installed it all correctly, but BB isn't generating tables.Any specific information you need to help me out?
     
  4. lol... i did /bb rollback USER r:5 ... and it STILL isn't working -_-
     
  5. Offline

    Zeroi9

    The tables won't be created for me.
     
    Fearlessagent likes this.
  6. I just started using Big Brother I am not running an SQL because I do not understand how to run the database it is running on a h2 database but bb its working the only command that works is /bb help. Please help me.
     
  7. Offline

    Clontarf[X]

    Hey there,

    You are having exactly the same problem I was. You are right, at some point, one of the BigBrother updates has corrupted our MySQL tables. I fixed this by dropping the bbdata, bbusers and bbworld tables, updated to the latest version available via Jenkins and then restarted. BigBrother recreated the tables and the servers are running as fast as ever.

    Dear Plugin Dev: Please put a MASSIVE WARNING on your plugin saying it may have corrupted our SQL tables. It was severely degrading server performance until I removed/re-added the affected tables.
     
  8. Offline

    Fearlessagent


    Having this issue as well. Not getting any errors except the ones regarding my lack of a permissions plugin and the Help plugin. Using default config. CB740 + BB405

    Looks like a fantastic plugin, if i could get it to work :p.
     
  9. Offline

    ctshiner

    Hang in there, the plugin is tits when stable. I've been using it for months and have been spared SO many headaches but have disabled it for now because it crashes our server. I check here every day
     
  10. Offline

    Fearlessagent

    Ah, yeah, wasn't sure if it was something with the plugin itself or another one of those user errors :). Regardless, I can't wait to try this out.
     
  11. Offline

    Zeroi9

    Well, the most simple thing would be if you gave us the SQL code for the tables, their types, sizes etc. so we could do this alone, insteado of waiting.
     
  12. Offline

    N3X15

    Update: I am now beginning the process of rewriting BB from scratch. Code will be in the 2.0 branch.

    I will still maintain 1.x, although help would be greatly appreciated. I've got uni coming up, and this course is going to be a bitch.

    Bug tracker is currently down due to BB overloading my MySQL server. I'll fix it tomorrow.
     
  13. Offline

    Zeroi9

    Could you meanwhile give us the sql for the tables? bbusers and bbdata
     
  14. Offline

    Mike L

    I love this plugin, just a quick question...
    Can anyone tell me how the /watch feature is used?
    I can't figure out what this is exactly for, everything else is great, just wondering what /watch is used for.
    Thanks
     
  15. Offline

    hatstand

    That is for when you aren't auto-watching everyone with BigBrother, so you can set which people to watch.

    SQL (open)

    bbdata:
    Code:
    CREATE TABLE IF NOT EXISTS `bbdata` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `date` int(10) unsigned NOT NULL DEFAULT '0',
      `player` int(10) unsigned NOT NULL DEFAULT '0',
      `action` tinyint(4) NOT NULL DEFAULT '0',
      `world` tinyint(4) NOT NULL DEFAULT '0',
      `x` int(11) NOT NULL DEFAULT '0',
      `y` tinyint(3) unsigned NOT NULL DEFAULT '0',
      `z` int(11) NOT NULL DEFAULT '0',
      `type` smallint(6) NOT NULL DEFAULT '0',
      `data` blob NOT NULL,
      `rbacked` tinyint(1) NOT NULL DEFAULT '0',
      PRIMARY KEY (`id`),
      KEY `world` (`world`),
      KEY `x` (`x`,`y`,`z`),
      KEY `player` (`player`),
      KEY `action` (`action`),
      KEY `date` (`date`),
      KEY `type` (`type`),
      KEY `rbacked` (`rbacked`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=40330 ;
    
    bbusers:
    Code:
    CREATE TABLE IF NOT EXISTS `bbusers` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(32) NOT NULL DEFAULT 'Player',
      `flags` int(11) NOT NULL DEFAULT '0',
      PRIMARY KEY (`id`),
      UNIQUE KEY `name` (`name`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=70 ;
    
    bbworlds:
    Code:
    CREATE TABLE IF NOT EXISTS `bbworlds` (
      `id` int(11) NOT NULL,
      `name` varchar(50) NOT NULL DEFAULT 'world',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    Obtained via exporting my current BB tables. Untested, but should work.
     
  16. Offline

    Zeroi9

    Thanks hatstand! Although it still writes in the server.log​
    Show Spoiler
    2011-05-03 12:06:13 [INFO] [BBROTHER] Building `bbdata` table...
    2011-05-03 12:06:13 [INFO] [BBROTHER] BBData H2 Driver r1 loaded!
    2011-05-03 12:06:14 [INFO] [BBROTHER] Building `bbusers` table...[
    Thanks anyway!
     
  17. Offline

    hatstand

    Oh, I see.. you've got it set to use H2, not MySQL, so that stuff I posted would be useless.
     
  18. Offline

    MacG32

    BB #407 seems to be working much better. :)
     
  19. Offline

    erdrickk

    first of all I love this plugin.....I am not sure how any OP could live with out it.

    Everything works perfect for me but I get this message. Right now I am using H2

    2011-05-03 08:08:13 [INFO] [BBROTHER] SQLite can't cleanse by # of records.
    2011-05-03 08:29:52 [INFO] [BBROTHER] SQLite can't cleanse by # of records.
    2011-05-03 08:51:32 [INFO] [BBROTHER] SQLite can't cleanse by # of records.

    Anyway to fix this??

    Also - if I use MySQL I get the same type of error but a longer string. It basically says it cant cleanse the records
     
  20. Offline

    Lil_Lyon

    Just updated to 405. Now when cleaning records it says
    Where it used to say cleaned out X records because of age in 0h00m00s. From what I'm reading its taking over a minute to clean 0 records. that does not seem right. I'm using MySQL.
     
  21. Offline

    NotoriousPyro

    I typed /bb stick 1 and got a stick, I threw it away and picked it back up again (it wasn't to be seen in my inventory), then I typed /bb stick 1 and the server locked up.

    Using build 405 with craftbukkit 740 and Java 1.6
     
  22. Offline

    Umbra

    I had to remove BigBrother #405 from my server because it makes it INCREDIBLY lagging since this update. I removed it and everything just worked fine without it except that it's hard for me to be an admin without this plugin.
    Using CB #740.


    Thanks
     
    fneyret likes this.
  23. Offline

    hatstand

    Use build #407 - I know it says not to do so, but that fixed the freezes/extreme lag for me.
     
  24. Offline

    Kartus

    BB 407, bukkit #740
    serverlog error when clicking with bb stick on a chest:
    Code:
    2011-05-03 18:09:18 [SEVERE] [BBROTHER] onPlayerInteract(org.bukkit.event.player.PlayerInteractEvent@74eb00a)
    java.lang.NullPointerException
        at me.taylorkelly.bigbrother.tablemgrs.BBDataTable.getBlockHistory(BBDataTable.java:116)
        at me.taylorkelly.bigbrother.finder.HistoryStick.getInfoOnBlock(HistoryStick.java:45)
        at me.taylorkelly.bigbrother.finder.Sticker.blockInfo(Sticker.java:107)
        at me.taylorkelly.bigbrother.finder.Sticker.stick(Sticker.java:120)
        at me.taylorkelly.bigbrother.BigBrother.stick(BigBrother.java:299)
        at me.taylorkelly.bigbrother.listeners.BBPlayerListener.onPlayerInteract(BBPlayerListener.java:222)
        at org.bukkit.plugin.java.JavaPluginLoader$9.execute(JavaPluginLoader.java:254)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:257)
        at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:162)
        at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:207)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:521)
        at net.minecraft.server.Packet15Place.a(SourceFile:57)
        at net.minecraft.server.NetworkManager.a(NetworkManager.java:195)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:74)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:370)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:285)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
     
  25. Offline

    Umbra

    Thanks
     
  26. Offline

    moparisthebest

    '/bb stick 2' Always gives you a log, which can be crafted into planks, which gives users unlimited planks/sticks. Is there any way to change this in the configuration file to something else like dirt or anything? If not, can there be?
     
  27. Offline

    Fearlessagent

    Well, not sure what i did, but now I am getting errors at startup:
    Code:
    13:52:35 [SEVERE] [BBROTHER] Error getting a connection. Make sure your databasesettings are correct!
    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.<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.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 me.taylorkelly.bigbrother.datasource.ConnectionService.getConnection(ConnectionService.java:77)
            at me.taylorkelly.bigbrother.datasource.JDCConnectionDriver.connect(JDCConnectionDriver.java:54)
            at java.sql.DriverManager.getConnection(DriverManager.java:582)
            at java.sql.DriverManager.getConnection(DriverManager.java:207)
            at me.taylorkelly.bigbrother.datasource.ConnectionManager.createConnection(ConnectionManager.java:75)
            at me.taylorkelly.bigbrother.datasource.ConnectionManager.getFirstConnection(ConnectionManager.java:157)
            at me.taylorkelly.bigbrother.BigBrother.onEnable(BigBrother.java:137)
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:127)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:632)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:218)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:116)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:94)
            at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:287)
            at org.bukkit.command.SimpleCommandMap$ReloadCommand.execute(SimpleCommandMap.java:201)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:85)
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:247)
            at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:394)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:379)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:285)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    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)
            ... 34 more
    13:52:35 [SEVERE] [BBROTHER] Could not establish SQL connection. Disabling BigBrother
    My BigBrother.yml:
    Code:
    general:
        excluded-blocks: []
        rollbacks-per-tick: 2000
        personal-log-files: false
        auto-watch: true
        debug-mode: false
        default-search-radius: 5
        tnt-threshold: 10.0
        restore-fire: false
        stick-item: 280
        library-autodownload: true
    database:
        cleanse-age: 3d
        deletes-per-cleansing: '20000'
        max-records: '3000000'
        type: MYSQL
        send-delay: 4
        mysql:
            port: 3306
            username: minecraft
            engine: MyISAM
            prefix: ''
            low-priority-insert: true
            hostname: localhost
            password:
            database: minecraft
    watched:
        environment:
            lava-flow: false
            leaf-decay: false
        player:
            drop-item: false
            ip-player: true
            disconnect: true
            login: true
            pickup-item: false
            teleport: true
        explosions:
            tnt: true
            creeper: true
            misc: true
        chat:
            commands: true
            chat: true
        blocks:
            chest-changes: true
            block-place: true
            block-break: true
        misc:
            flint-logging: true
            door-open: false
            lever-switch: false
            button-press: false
    
    I'm assuming its something on my end because no one else is getting this error. I'll admit I'm a little new to MySQL but I triple checked (or more) everything by now.
     
  28. Offline

    MacG32

    Your database is corrupt. You can either try repairing it or delete it and have BB make it's tables again.
     
  29. Offline

    Fearlessagent

    I did, many times, and I even tried to make them manually using the SQL that Hatstand provided. Just tried it again too, to no avail. Is the error I'm getting always related to corruption, or it just happens to be the one correlating with corruption recently? Is it possible I've set something wrong in a confg file somewhere? (Quadruple check time?)
     
  30. Offline

    but2002

    Every now and then, big brother causes the MySQL process to skyrocket to 100%, and the entire server actually locks up until I restart the MySQL service.
     
  31. Offline

    1994mat

    I just tried /bb here 10 and my server crashed, latest builds are veeeeeeeryyyyyyyyy unstable?
     
Thread Status:
Not open for further replies.

Share This Page