Advanced Disciplinary Plugin

Discussion in 'Archived: Plugin Requests' started by UDK450, Jan 22, 2014.

  1. Offline

    UDK450

    I would call it a banning plugin, but of course, it's not just banning. I know several of these plugins exist, however it seems that none of these plugins support everything I am looking for. Therefore, I am curious if anyone would be willing to create a comprehensive, and highly configurable, disciplinary plugin.

    Plugin category: ADMIN

    Suggested name: Adv. Disciplinary Actions

    What I want:
    • Warning
    • Freeze
    • Mute
    • Kick
    • Temp-Ban
    • Ban
    • IP Ban
    • IP Range Ban (not needed immediately)
    • Unban
    • Ban Immunity (not from kick, freeze, mute, or temp-ban) (or configurable?)
    • Web GUI
    • MySQL Support (not needed immediately)
    • Comprehensive User Records
    • Spam Filter (configurable)
    • Alt Tracking (not needed immediately)
    • Spam Filter
    • Curse Filter (not needed immediately)
    Basically, I want this plugin to function as a one-stop shop for all of a server's disciplinary needs. I would like the user records to record every single disciplinary action taken against a player, be it from Warning to IP Ban. From the Web GUI, I would like the ability for a mod to attach screenshots of offensive behavior to a previous infraction they had made against a user. However, that is not needed at the release of the plugin. I think it would be nice if the records on a user were also each set to a specific id, so that they could easily be numbered and specifically looked up. Also, the MySQL support would be used for better logging of user records, as well as support for cross-server discipline.

    Ideas for commands:
    • /warn [player] [reason]
    • /freeze [player] [reason]
    • /mute [player] [reason]
    • /kick [player] [reason]
    • /tempban [player] [time (in d, h, & m)] [reason]
    • /ban [player] [reason]
    • /ipban [player] [reason]
    • /unban [player]
    • /lookuprecord [player] [page]
    • /purgerecord [player] [record_id]
    • /purgerecord [player] all <-- Only from console
    • /checkalts [player]
    Ideas for permissions:
    • advdiscip.warn
    • advdiscip.freeze
    • advdiscip.mute
    • advdiscip.kick
    • advdiscip.tban
    • advdiscip.ban
    • advdiscip.ipban
    • advdiscip.iprban
    • advdiscip.unban
    • advdiscip.immune
    • advdiscip.lookup
    • advdiscip.purge
    • advdiscip.altnotify <-- Notifies those who have this perm when a player with an alt logs in (could also be a sibling, so no auto-ban)
    When I'd like it by: While I do not need this plugin immediately, as I can use another ban plugin when the server releases (approx. 4 weeks), I would like it as soon as possible. Is 1-2 months an appropriate time?
    Also, this plugin need not be just for myself. I would not mind at all if multiple servers could use it. If anyone is up to the task of making a plugin this comprehensive, I would much appreciate it. Thanks!
     
  2. Offline

    DicaxDorcas

    Would the WebGUI be a part of the plugin? Or would you prefer it separate, and have it talk with the server?
     
  3. Offline

    UDK450

    What do you mean by part of the plugin? Like, optional? Or, downloadable from a different source? In any case, I was thinking the Web GUI could be bundled with the plugin, but optional to install. I of course would be installing the web gui and using it actively on the website, but others who would use the plugin may not want to use it.
     
  4. Offline

    iSyntax

    I could do everything on the list, except for anything to-do with MySQL/WebGUI and I don't know what you mean by IP Range ban..

    But the reason I can't do MySQL and WebGUI is because that would cost money. So, the plugin that you're asking for here, you'd probably be paying someone to make it.
     
  5. Offline

    DicaxDorcas

    I meant that it could be an optional download, but still a part of the plugin. In that sense it will work as you describe.

    Also, for the database I would recommend SQLite. In my day job I work with a variety of SQL providers and I can say at this scale you won't need a full MySQL stack. If the plugin gets traction I could add support for other providers, but I believe we should stick with SQLite for now.

    An IP range ban would be banning all IPs that match, for example, 192.168.0.*. Doing that would mean anyone using addresses starting with 192.168.0 would not be able to access the server. Misinformation does nobody any good, so I'd like to clarify that MySQL and a Web GUI cost nothing.
     
    L33m4n123 likes this.
  6. Offline

    L33m4n123


    Doing it? Otherwise I'll start working on it
     
  7. Offline

    iSyntax

    Nah, go for it. =]
     
  8. Offline

    UDK450


    SQLite for now would be fine. I just mentioned eventual MySQL support as a possibility.

    Also, if either one of you wants to do it, or could even work on it together, that would be amazing! One thing that I forgot to add in the OP is probably an optional word filter, and perhaps a spam filter as well. I don't think the plugin will need to go beyond any much more than that in scope as it's primary purpose is dealing in all things requiring discipline. Also, another addition would be the ability to notify admins/mods of potential alts. In other words, track all player IPs and if a player logs on with an account that has an IP recently used by another account, make a note of it.
     
  9. Offline

    DicaxDorcas

    I'll let you take this one. If you need any help with the database end, get in touch.
     
  10. Offline

    L33m4n123


    Oh sorry didn't realised you were interrested in doing it too. My bad. I do not want to take it way from you though. So If you want it I don't mind ;)
     
  11. Offline

    DicaxDorcas

    All yours, buddy.
     
  12. Offline

    UDK450

    It's whoevers who wants it. Or, it you could work in a team, things could get done even quicker. But, your guys' choice. Thanks again for offering to program this!
     
  13. Offline

    L33m4n123

  14. Offline

    UDK450

Share This Page