[WIP] Guardian - the final replacement for BB, LogBlock and HawkEye

Discussion in 'WIP and Development Status' started by oliverw92, Aug 27, 2011.

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

    arpey

    I'm a long-time user of BigBrother, which I still love and use, at least for as long as I can. That said, I'm one to embrace change.

    I'm a fan of this idea, which I think also has other benefits, e.g., the ability to collapse child events and only show parent events when viewing history / summary using in-game commands.

    I would highly recommend PDO, at least from a practical standpoint. PDO comes standard with newer versions (5.1+) of PHP, which should reduce the number of dependency libraries; supports many native database drivers (SQLite, MySQL, PostgreSQL, MS SQL among others), which—as long as we stay away from any database-specific features—should allow users to use whatever database is available on their system; and using PDOStatements, it certainly makes it easier to secure against SQL injections by using bound columns/values.

    What about separating the LogBlawk PHP API into a standalone library that is separate from both the web interface and web stats pages? Both the web interface and web stats would then be regular web applications that happen to use the LogBlawk PHP library. This way, if people aren't forced to install the web interface if all they want is to use the PHP API.

    I've not contributed much to open source projects before, but I'd like to help out where I can in this project. I've been using PHP and MySQL professionally since 2004, and personally a few years before that. I'm not good with making pretty and fancy graphics, but I can do simple and minimalist interfaces, and I'm even better with incorporating existing designs. I've been using jQuery for a couple of years now, and Prototype.js a couple of years before that; most of it through my use of Rails, but it doesn't mean I can't use jQuery directly.

    I also have experience with Java and Swing; while I've used Java in professional work, I've only dabbled with Swing. I do understand wanting to make the migration process as user friendly as possible; however, personally, I prefer a good old simple command-line script or two, written in a scripting language like perl. To me, it's important that the migration tool be able to run on a headless environment, and—while I realize I might not represent most users—a GUI isn't a priority.

    I wasn't sure how much of a time commitment you're looking for, and mainly what timeframe you're looking to get a first version out. I'm sure you hear enough promises of kittens and rainbow from people saying they'll commit to 80 hours a week, but then don't hear from them for two months; instead, I'd be interested in starting out with taking on smaller, more well-defined tasks, and then submitting patches (or pull requests if y'all are GitHubbers).

    I'm not sure how this fits in the grand scheme of the schema, but are there plans for a separate "actions" lookup table (e.g., lb_actions), which maybe maps an internally-used action ID, the fully-qualified class name (reflection support for rollbacks), and a human-friendly name? The reason for this is that I—and perhaps some others—would appreciate the ability to define custom actions that aren't lumped into an "Other" entry.

    For instance, I have a small plugin that allows my players to "paint" blocks (left-click block to copy, right-click to paste) à la VoxelDoop's Paintbrush Tool. I loved BigBrother's custom Action and ActionProvider, which I used to log these "paint" events. It's a pretty specific use case, but it's certainly a feature I appreciated.

    To roughly illustrate:

    Code:
     id |           class_name               |    name
      1 | net.logblawk.lb.actions.BlockBreak | Block break
      2 | net.logblawk.lb.actions.BlockPlace | Block place
      .
      .
      .
     24 | net.logblawk.lb.actions.BucketUse  | Bucket use
     25 | com.hcblue.mc3.slimer.BlockPaint   | Block painting     <--
    
    Also, I do like the name Guardian (plus, it doesn't have any similarity in name to BB, LB, or HE).
     
  2. Offline

    DiddiZ

  3. Offline

    Geoff Winans

    * Overwatch ;p
     
  4. Offline

    Tarheels

    I have spoke with diddiz bout it and videoscape would like to do website stuff too
     
  5. Offline

    Taranis01

    May i suggest some Spout support for later versions? Like a commandless Gui where u only need to input the variables into different fields/checkmarks or a new Log display experience where you also can choose the rollback by clicking (and holding Ctrl) on all wished Logs or cklicking while holding Shift on a name to choose all changes by this player.
    or something like that ;)
     
  6. Offline

    Kostronor

    I would love to beta-test it!
    //watch :D
    Guardian would be my favorite
    Thanks for doing this, there is a big need for this out here!
     
  7. Offline

    oliverw92

    I've got my exam tomorrow so I'll answer everyone after that in detail rather than rushing it now
     
  8. Offline

    Tauryuu

    Call it LoggingHawking. lol
     
  9. Offline

    oliverw92

    Exam done, I think I passed, not sure though. Will be back home on Sunday.
     
    gameswereus, DiddiZ and iMattxC like this.
  10. Offline

    Haribo98

    I'm good at making them, but coding them to work is not my thing
     
  11. Offline

    yaitsbilly

    I have a name suggestion. BigLogHawk, lol. It kinda has a ring to it.
     
  12. Offline

    lordroy

    I second the name "BigLogHawk". !!!

    -=R=-
     
  13. Offline

    oliverw92

    Yeah... no :p
     
  14. Offline

    DiddiZ

    Year, no :D
     
  15. Offline

    tips48

    How can I help? :D
     
  16. Offline

    yaitsbilly

    I have a few more name suggestions, keap in mind these names are in still in beta.

    Big Brother,Logblock and Hawkeye = ???

    prepare yourself, for the greatest names ever !.! (Or the worst names ever.)

    Big log eye
    Log eye block
    Bro hawk log
    Log bro hawk
    BLH (Big Brother,Logblock and Hawkeye)
    AGWN ( A Griefers Worst Nightmare)
    Obligatory
    Hawk big log
    Big log hawk
    TAG (Total-Anti-Grief) <-Simple and easy.
    Hawk block brother
    Crazy big brother with a logblock and a hawkeye
    HD (Herp Derp)
    Grief-Neutralizer (GN)
    Counter-Grief (CG)


    Lol :) More to come.
     
  17. Offline

    DiddiZ

    I once wanted to port CounterStrike to MC under that name :D
     
  18. Offline

    Crynix

    Please please please please PLEASE add a way to remove the items that someone stole from a chest (if your rollback changes from it)
     
  19. Offline

    DiddiZ

    This was planned for LB and I'm sure we'll find a way to implement it :D
     
  20. Offline

    oliverw92

    HawkEye has this so I'm sure it will be in this :)


    If we called it CounterGrief, the next version of it could be called CounterGrief:Source :p
     
  21. Offline

    DiddiZ

    Also for offline players? Otherwise it's pointless.
     
  22. Offline

    thernztrom

    I've always wondered how it log blocks that are on fire. I have the plugin Residence where I in residences have blocked firespread, so I can put some blocks to fire but it wont spread. If I then have LB/BB on, would it keep creating new fire logs for it all the time since the fire never gets put out?
     
  23. Offline

    oliverw92

    He was talking about rolling back chest inventories, not the player inventory. I have actually already worked out how to edit offline inventories with an interpreter, it isn't very hard at all.
     
  24. Offline

    yaitsbilly


    So you like?
     
  25. Offline

    Zaonhort

    This looks quite promosing. Will be looking forward to this as a replacement for bigbrother.

    Just a random name suggestion: BigLogEye :p
     
  26. Offline

    Donald Scott

    Words of Wisdom from someone that has reverted over 600,000 blocks with LB.
    • Tie leave decay to the user that cut down the tree! Thus when the user is rolled-back, it doesn't leave bare trees. (VERY IMPORTANT)
    • Make a interface in spout to browse blockedits and rollback. (Seriously this would be great the end of griefing as we know it)
    • Tie fire/lava to player if possible.
    • Hook into mcbans - 1 command rollback + global ban.
     
  27. Offline

    DiddiZ

    I alredy talked to Firestar for LogBLock rollback on ban integration, he was willed to, and i guess he also will add this.
    The spout interface is a nice idea, as many are requesting this, I think we can't avoid it :D
    And last tying ... it would be great (and the database schema supports it) but i'm pretty sure this will impact ram or cpu significantly to figure out which leaves block belong to which tree, choped by which player.

    Maybe we should split basic and advanced loggers, to avoid laggs for highly loaded servers..
     
  28. Offline

    Cosmic Break

    no matter what as long as theres still MySQL support, im all for this!
     
  29. What if I don't want to rollback everything a player does when I ban them?
     
  30. Offline

    Donald Scott

    To be honest, we have a dedi that is handles 100 players at 30% load. The real b***h is network IO (I am having a dedicated fiberoptic line installed), not cpu power for large servers. So if you can have an option toggle for the leaf decay that would be great. However for serious servers, don't worry about excessive DB query's.

    Another (more basic) option is to simply replace the cut down tree with a sapling, or a newly generated tree. This would be acceptable in most situations.
     
Thread Status:
Not open for further replies.

Share This Page