[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. The largest problem I have on with rolling-back would be lava.

    Lava-flow from the first placed lava block should be rolled back as well.
     
  2. Offline

    DiddiZ

    BB used a hacky workaround
    Wow, the first real need for the parent/child system.
    @oliverw92
    The flowed blocks should be children of the source. Is that the idea?
     
  3. Offline

    oliverw92

    Yes, flowed blocks should be children of the placement of the source. In the onBlockFromTo event, we check for the latest lava or bucket place on that location. If it doesn't exist, then we check for the latest flow event to that location. If that doesn't exist, then it is a natural flow.

    Sorry I haven't been active in the thread guys, I have my driving test in a few days.
     
  4. Offline

    DiddiZ

    I worry about cpu impact
     
  5. Offline

    Adv

    Custom tools would be nice. I've never seen a reason for a stick and a block when the block has the functions of both unless you were using the stick for custom parameters. But if you offered a spot in the config for custom tool modes and the ability to create them in game that would be awesome. This would allow you to easily cycle through various tool modes for different situations.

    Example:
    /lb tool add n:AreaRB s:rollback,area 30,time 1d
    Where n is name and s is the settings.

    Then it would just be /lb tool arearb to get the mode you just made and /lb tool default would give you the default settings of the tool.
     
  6. Offline

    FearFree

    Sorry to ask if this has been mentioned before, but TL;DR 7 pages.

    Any chance you can add SQLite support? I've been using a severely outdated version of BigBrother because of the MySQL requirement.
     
  7. Offline

    Celtic Minstrel

    Using "tp" as a command for anything other than generic teleporting is probably a bad idea. Perhaps something like "tplog"?

    Why \0 rather than \n? Just curious.

    For something as complex as a rollback command, I think you'll want a pretty complex command parser, something like what many UNIX command-line utilities use. The single-letter-plus-colon prefixes are good, but hard to remember, so provide longer versions with the same effect.

    You might want to look into the CommandHandler module that Multiverse uses, though I'm not sure that's quite what you would want for this.

    I wonder if it would be possible to defer the actual rollback to a separate thread; I realize most of Bukkit isn't thread-safe, but what you could try is spawning a thread which breaks a rollback up into bit-sized chunks and then schedules them using sync tasks, waiting for each sync task to complete before scheduling the next. That's something that WorldEdit could also benefit from (altering large numbers of blocks tends to kick everyone off the server with WorldEdit, at least last I checked which was about a month ago).

    But maybe you've already solved this, from your answer on page 2.

    I'm wondering why this would be a headache? If you're doing this properly, you would be using some kind of database abstraction layer (such as JDBC) which should theoretically support PostgreSQL automatically. In fact, MySQL and SQLite are honestly probably more work to support considering their limited standard compliance and (at least in MySQL's case) incompatible language extensions.

    This makes me think of BookWorm integration; that is, a command to dump the log into a BookWorm book. Of course, that's something that's likely better done in a separate plugin.

    I agree with your first point but disagree with your second. The single-letter prefixes are good for some people; however, for those who rollback only rarely, remembering which prefix is for what becomes an issue. In that situation, the LogBlocks method is better.

    So, why not just include both methods?

    I agree. I personally like the idea of an Eagle-based name.

    This is a pretty good point; perhaps the best thing would be to first write a command-line utility, then write a Swing wrapper for the command-line utility.

    Pronounced "ah-goon". :p

    I'm wondering if this is even possible short of checking all the locations the leaf could have been supported from (something like four or five blocks in each direction?) to see if there's a log entry for breaking a log at that location. Even then it wouldn't be foolproof if for example two people worked together to cut down a tree.
     
  8. Offline

    DiddiZ

    That's how LogBlock tool work, so we'll kepp this functionality.
    It's /lb tp <id>
    Really doesn't makes a difference, but I've to admit \n sounds more obvious
    Yeah, we alredy planned to split the dbms bridge to a interchangeable plugins, to support different dbms. To do this in juust one plugin is really a headache.
    This (or running one rollback thread that goes sleeping after 1000 blocks) this actually the only way to rollback without crashing the server. Had that problem with early LogBlock versions.
     
  9. Offline

    Jinux

  10. Offline

    but2002

    @Jinux None yet. It's in pre-development planning stages.
     
  11. Offline

    Geoff Winans

    SQLite is garbage. MySQL is not hard to setup.

    SQLite adds another headache since it can't handle large datasets which Minecraft very swiftly generates on a mildly active server.
     
  12. Offline

    Celtic Minstrel

    I think that's a bit strong. It might not be the best database around (far from it), but for some applications it's quite sufficient.

    That said, for this in particular, I can see that it probably wouldn't be a good choice.
     
    rakiru likes this.
  13. Offline

    but2002

    Even phpBB3.1 is adding SQLite support. It's strong for smaller things, but -NOT- for this.
     
  14. Offline

    Raycrash

    One question though....with 1.8 incoming will anyone of you update his old plugin ?
     
  15. Offline

    oliverw92

    If they even need updating, yes.
     
  16. Offline

    DiddiZ

    Sure
     
  17. Offline

    Ralm

    Make this plugin multi-threading if that is even possible =)
    That would take a lot of advantage of the nowadays CPUs.
     
  18. Offline

    DiddiZ

    sure, without threading also current log plugins would freeze the server
     
  19. Offline

    JOPHESTUS

    Possible name/logo??

    ServerShield - Shield your server from griefers!
    [​IMG][​IMG]
     
    AS1LV3RN1NJA likes this.
  20. Offline

    DiddiZ

    I personally like the shield logo, since I use a shield for LogBlock :D
    But it would also fit to the name Guardian
     
  21. Offline

    JOPHESTUS

    By the way [​IMG] is F****** AMAZING, you are a legend, I owe you many [diamond]'s. If you ever joined the awesomest server in the history of the world ( http://forums.agmc.in ) I would give you diamonds! :)
     
    Dark_Arc likes this.
  22. Offline

    godgodgodgo

    How's development of this going? Mind giving a status update? :)
     
    Dark_Arc likes this.
  23. Offline

    Borch

    The name really needs to be: HawkBlawk!
     
  24. Offline

    JOPHESTUS

    Nah, I think ServerShield - Shield your server from greifers! Is better
     
    Dark_Arc likes this.
  25. Offline

    xezesis

    That sounds a bit like me, I am pretty good at PHP/Javascript/JQuery if you don't mind giving me some kind of idea about what exactly you want done. I haven't done much work in the field that recently but I'm sure with a little time and effort could get something up and running.

    Contact me if your interested, I don't normally bother with public minecraft plugins but I feel like something new :)

    - xezesis
     
  26. Offline

    Celtic Minstrel

    I don't really think something with "shield" in the name fits when the primary purpose is logging actions, not preventing them like WorldGuard does.
     
  27. Offline

    JOPHESTUS

    Hello again,

    Someone I know from the server that I play on (http://forums.agmc.in) owns a currency exchange/bank and they had an ATM that used storage minecarts, They were unaware that [diamond]LogBlock[diamond] does not log storage carts, I would love to see this function added into ServerShield :p / LogBlawk.

    Thanks,
    JOPH
     
    rakiru likes this.
  28. Offline

    woodzy

    i also think that he way diddaz does it is really easy to use
     
    rakiru likes this.
  29. Offline

    gameswereus

    ETA on the merging of all three plugins?
     
  30. Offline

    Celtic Minstrel

    I think they said maybe a month?
     
Thread Status:
Not open for further replies.

Share This Page