[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


    For LogBlock i had this optional, in case you wanted to redo the actions.
    The point is, that rolled back log only occupies space in your database and you most likely won't ever need it after you rolled back and banned a griefer.
  2. Offline


    I'm personally not a big fan of ever having to prune anything. I love having backups of EVERYTHING so I can always have a reference. There was a reason my BB tables would end up being 800 Mb on my MySQL machine, which by the way is very slow to go through.

    I'm suggesting a system where data after a certain point is written to files on the actual server, and whatever is written is then truncated from the database. If something is needed from all the way back then, you can actually run a command and Guardian would look and pull in those files to see information from them aswell in conjunction with the database.

    This would be very hard to fool proof, but I believe it's a good way to ensure that the database isn't too large to search and etc.

    I would also have loved to offer my help on this project, but simply put, I don't have enough time to work on this type of project for anything more than an hour a day.
  3. Offline


    Here I want to throw in the idea of an archive table again:
    A table were all log is copied to after a certain time, with weak indexes and it's not searched by default, only when you specify "archive" parameter.
    The two drawbacks of large tables (either slow inserts or slow selects) could be handled this way, at the cost of an union when searching the archive table.
  4. Offline

    Celtic Minstrel

    Doesn't MySQL not support unions? I remember hearing that somewhere, though they could have added support since. Still, archive table sounds better than writing the database to a file.
  5. Offline


    Union is supported
  6. Offline

    Celtic Minstrel

    It's quite possible I heard that in connection with some rather old version of MySQL. If I even heard it at all.
  7. Offline

    Jonny Dennis

    Could you add a feature that allows you to teleport to a players last location. It could help you find hidden griefing.
  8. Offline


    A plugin i would want is it checks if a player deletes a block owned by someone else faster then X time. Then creates a warning for allowed groups telling them player Y might be griefing.

    Somethink like D3 server software does in classic minecraft.
  9. Offline


    LB alredy has that and it will be retained.
  10. Offline


    I've got a challenge for you ;)

    Your own custom griefing detection algorithm - the plugin itself will alert admins when it suspects a griefing based on where a person was building/destroying (interacting with other people's blocks too much? Building near a non-owned WG region? Building complete randomness in dissimilar areas?). Plugin will alert suspected victim, any online admins via private message or a mail if they're not online.

    Okay good luck!
  11. Offline


    That would most likely be the job of a plugin for Guardian, rather than be in the Guardian core.

    Just to clear things up - development will start once an RB for 1.8.1 is out.

    I like the archiving idea, although that should be more DBMS specific in my opinion, and the end user should not see that archiving is going on.

    In my opinion data should only optionally be deleted when it is rolled back. A better solution is to have a field called 'rollbacked' which is set to 1 or true when the data is rolled back.
  12. Offline


    I think it's more obvious to the user to expect a waiting time when using archive parameter (name is discussible :D).
    But otherwise I wouldn't know how to figure out whether it's required to search the archive table or not, without a parameter.
    The rollbacked column would fix an issue I'm having with logblock, that chest transaction can be rolled back twice and more often.
    I prefer both: Optional deleting and rollbacked column.
  13. Offline


    will there be a way to transfer the old data from BigBrother, HawkEye, or even LogBlock???!??
  14. Offline


    Of course.
    Use question marks sparingly, they are finite :D
    nunber1_Master likes this.
  15. Offline


    As much as I love log block there is one thing I would love to have changed. Keep your commands short. Yet intuitive.
    For example why on earth do we need to type "rollback" when it could be shortened to "rb" . Anyway its just my two cents.

    This is much less important but it would be nice. It would be nice if you could create a system that you could monitor plug-ins that manipulates blocks. Without them directly tying in to the API. It might be too much to ask but there are way too many lazy developers out there.(I'm not talking about you guys)
  16. Offline

    Celtic Minstrel

    Unfortunately, rb may not be intuitive to everyone. The proper way is to allow both, I'd say.

    It's probably too much to ask. I suppose it might be possible by listening to events on both lowest and monitor priorities, but then that just gets silly.
  17. Offline


    Actually you can use rb as shorthand version of rollback in LB :D
    That not, but due to the plugin column you'll be able to find all block changes from a specific plugin and so be able to delete them.
  18. Offline


    Is there anyway we could get info on completion or eventually an ETA on this ? I can't wait ! :p
  19. Offline


    Thank you for the quick response. You guys have really upped the ante here. I must've missed the shorthand somewhere in the documentation, Sweet! Could you explain a little bit more what you mean by the plug-in column and how that works?

    A example of a plug-in that would benefit from was such a system.
    VoxelSniper is limited to 20 events. I'm one of those people that need to tweak their creation. 20 doesn't seem to be enough for me.
  20. Offline


    Sure, the main table has got a column plugin-id, referung to a gd-plugins (we still need to decide the command :D (gu, gn or gd, i prefers gd)) table (columns: pluginid, pluginname)
    So for each blockchange you know the plugin that queued it, also if it was gurdian itself.
    We need a parameter for plugin :D
  21. Offline


    Well the thing is with weroll you get the nice worldedit gui. Either keep both or do something clientside.
  22. Offline


    No what he means with rather than an entirely separate command, if you specify the selection parameter it will use your worldedit selection
  23. Offline


    Now this, is what I call teamwork.

    Great job guys.

    I want to help, but I don't think you guys will want me :(

    I can:

    Host AND code a website for this plugin (such as a wiki + jenkins + whatever else (Forums, etc))
    Code PHP, HTML, CSS, jQuery, Javascript (i'm w3 certified, and have been microsoft certified as well)
    I know nothing about java, but I'm learning, so far, here what what I can do (dont laugh):
    public class apples {
    	public static void main(String args[]){

    I really want to get involved in this, because you guys are great developers and I really want to see us all having fun. Because minecraft is based on being creative, which inspires me to do web design, learn java, host a server, etc.

    Thanks :)
    Tadas159 and HmmmQuestionMark like this.
  24. Offline


    I cannot be of any help here, but this is an awesome project and I can't wait till it's ready for release!
  25. Offline


    with this plugin, will you need to just move a few .jar files to the plugin folder or do you have to manually install mysql? got the feeling that you had to install hawkeye with a seperate SQL database,
    anyhow, good going combining these plugins!

    rooting for you!
  26. Offline


    Hi there. Only wanted to say: appreciate the work you guys do. I used 2 of your 3 plugins so far, and cant wait for the result of all 3 combined.
    Great job, keep going!
  27. Offline


    Stop watching thenewboston, its a waste of your time. Go get a good book, you'll learn a ton more. ;)
  28. Offline


    Alright :) But doesn't thenewboston help though?
  29. Offline


    Sure, its how I learned java. He just does things incorrectly (ie Lower case class name)
    Books are just so much better :cool:
  30. Offline


    name is much better.
Thread Status:
Not open for further replies.

Share This Page