Ban Plugin

Discussion in 'Plugin Requests' started by Google123, Mar 5, 2019.

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


    Plugin category: Ban Manager

    Minecraft version: 1.8.8

    Suggested name: BanX

    What I want:
    1. Full UUID support
    2. Ability to view players' previous username(s) - date of change
    3. Full server lockdown - Prevent anyone from joining with a custom message (Such as bot attacks)
    4. Offline player name auto completion
    5. Duplicate IP detection
    6. Multiline kick messages (No more running off the screen!)
    7. Notifications when a banned/muted player tries to join/speak (permissions for that)
    8. Customize every color
    9. Block commands like /me and /msg when muted
    10. Both, relative times and not relative (egg. You are banned until 4:23 PM EST or for 6min and 3sec)
    11. Custom ban/kick messages in console (if possible, with placeholders). Example: ban-message: §cYou have been banned by §a%banner%\n§cReason: §a%ban-reason%\n§Appeal at: [Website Appeal page]
    12. Custom main/secondary colors (for chat) in config like: main-color: §3 second-color: §9
    13. Custom mute/warn messages example: mute-message: §a%muted% §2has been muted by %muter/anonymous%
    14. Custom history command page layout in config (if possible, placeholders). Example: history-page-1: §3%player%\n§3Bans: §b%player's bans%\n§3Mutes: §b%player's mutes%
    15. In Config, you can choose how many warnings until a ban/mute/kick/tempban example: warn-tempban-3day-count: 5

    Ideas for commands:
    There will be a aliases section
    <> = Required [] = Optional -s = silent (you probably know that one)
    -ss = Super Silent (even ppl with the see silent permission won't see)
    -a = anonymous (in chat it if not silent it will say the message made in the config but with anonymous instead of the sender
    (there is a permission to see the sender instead of anonymous))
    Temp = Temporary/Temporarily (again, you know) s = second, m = minute,
    h = hour, d = day,
    w = week, M = month, y = year
    Anything that has a -s on it means that if -s is not applied, it will be broadcasted!
    1. /ban <player | UUID> [reason] [-a] [-s/-ss] - Bans the player
    2. /tempban <player | UUID> <number, s|m|h|d|w|M|y> [reason] [-a] [-s/-ss] - TempBans the player
    3. /unban <player | UUID> [-a] [-s/-ss] - UnBans the player
    4. /ipban <player | UUID | IP> [reason] [-a] [-s/-ss] - Bans everyone using that Ip
    5. /tempipban <player | UUID | IP> <number, s|m|h|d|w|M|y> [reason] [-a] [-s/-ss] - TempIpBans everyone using that Ip
    6. /unipban <player | UUID | IP> [-a] [-s/-ss] - UnBans everyone using that Ip
    7. /clearbans <player | UUID | IP> [-a] [-s/-ss] - Clears the player's/everyone using that Ip's ban history
    8. /mute <player | UUID> [reason] [-a] [-s/-ss] - Mutes the player
    9. /tempmute <player | UUID> <number, s|m|h|d|w|M|y> [reason] [-s/-ss] - TempMutes the player
    10. /unmute <player | UUID> [-a] [-s/-ss] - UnMutes the player
    11. /ipmute <player | UUID | IP> [reason] [-a] [-s/-ss] - Mutes everyone using that Ip
    12. /tempipmute <player | UUID | IP> <number, s|m|h|d|w|M|y> [reason] [-a] [-s/-ss] - TempIpMutes everyone using that Ip
    13. /unipmute <player | UUID | IP> [-a] [-s/-ss] - UnMutes everyone using that Ip
    14. /clearmutes <player | UUID | IP> [-a] [-s/-ss] - Clears the player's/everyone using that Ip's mutes
    15. /warn <player | UUID> [reason] [-a] [-s/-ss] - Warns the player
    16. /tempwarn <player | UUID> [-a] <number, s|m|h|d|w|M|y> [reason] [-s/-ss] - TempWarns the player.
    17. /unwarn <player | UUID> [-a] [-s/-ss] UnWarns the player's last warning
    18. /ipwarn <player | UUID | IP> [reason] [-a] [-s/-ss] - Warns everyone using that Ip
    19. /tempipwarn <player | UUID | IP> <number, s|m|h|d|w|M|y> [reason] [-a] [-s/-ss] - TempWarns everyone using that Ip
    20. /unipwarns <player | UUID | IP> [-a] [-s/-ss] - UnWarns the last warnings of everyone using that Ip
    21. /clearwarns <player | UUID | IP> [-a] [-s/-ss] Clears the player's/everyone using that Ip's warnings
    22. /kick <player | UUID> [reason] [-a] [-s/-ss] - Kicks the player
    23. /ipkick <player | UUID | IP> [reason] [-a] [-s/-ss] - Kicks everyone using that Ip
    24. /kickall [!<player | UUID | IP>] [reason] - Kicks all players except those in the ! argumant
    25. /clearkicks <player | UUID | IP> [-a] [-s/-ss] - Clears the player's/everyone using that Ip's kicks
    26. /getip <player | UUID> - Sends the sender the player's Ip
    27. /forcespawn <player | UUID | Ip> - Teleports someone/every one using that Ip to the spawn (twice, so /back won't work)
    28. /lockdown <all | join> [!<player | UUID | IP>] [reason] - Locks down the server from either: kicks all players that are online except those players/everyone using that Ip in the ! argument or: players that join get kicked
    29. /history <player | UUID> <page-number (default = 1)> - Sends the ban/mute/kick history of a player as they set it in the config to the sender
    30. /getuuid <player> - Gives you the UUID of the player
    31. /whitelist <on | off | list | add | remove> [kick] [reason] - It whitelists the server and if they put in the "kick" argument, it even kicks everyone that is not whitelisted


    Ideas for permissions:
    1. banx.ban
    2. banx.ipban
    3. banx.clearbans
    4. banx.ban.bypass (lets the player join even after banned)
    5. banx.mute
    6. banx.ipmute
    7. banx.clearmutes
    8. banx.mute.bypass (lets the player talk even after muted)
    9. banx.warn
    10. banx.ipwarn
    11. banx.clearwarns
    12. banx.warn.bypass (lets the player ignore warns)
    13. banx.kick
    14. banx.ipkick
    15. banx.kickall
    16. banx.clearkicks
    17. banx.getip
    18. banx.forcespawn
    19. banx.forcespawn.bypass (doesn't teleport the player to spawn)
    20. banx.lockdown.use
    21. banx.lockdown.bypass (lets you join even when there is a lockdown)
    22. banx.history
    23. banx.getuuid
    24. banx.whitelist
    25. banx.whitelist.bypass
    26. banx.bypass (let's you bypass EVERYTHING egg. bans don't effect you - Useful for owners)
    27. banx.seesilent (lets you see a silent ban/mute/etc)
    28. banx.seejoin (see when a player tries to join when banned)
    29. banx.seemute (see when a player tries to speak when muted)
    30. banx.seeanonymous (see when a player puts -a in a command)

    When I'd like it by: Whenever possible

    Note: Not all the 'What I want:'s need to be fulfilled (especially the config stuff). (I would like it if they are fulfilled but if it's impossible/to hard you don't need to do it)
    Last edited: May 12, 2019
  2. Offline


    Why would it be useful to ban an IP? I thought they can be changed anyway easily.
  3. Offline


    Sometimes people ban IP's over names to block off all accounts from a certain location, but yeah, they can be VPN-ed or whatever.

    Banning both names and IPs have their pros and cons...

    EDIT: Wait so the bypasses for things like mute allows others to think they muted them, but in truth don't actually mute them? Or do they just stop the muting from happening and send them a message "You cannot mute that player."
    Last edited: Mar 11, 2019
  4. Offline


    sends the message: You cannot mute/ban/warn (whichever bypass it is) that player!
  5. Offline


    Can anyone please make it?
  6. Offline


    I'm working on it. Give me a bit of time I have massive essays to do.
  7. Offline


    Thank you!

    (btw I don't know how well this works but try EssayBot.)
    Last edited: Mar 20, 2019
  8. Offline


  9. Offline


  10. Offline


    Slowly, but yes. Do it if you want though. Not my place to claim it if someone else can do it faster.

    That goes for all plugins I start, tbh.
  11. Offline


    I could do this. It'd take awhile as well... a few weeks to a month. If @insanj or @Eccentric_Gamer think they'll get it done faster I'll let them take it.
  12. Offline


    k thx every1!
  13. Offline


    What is the -a for?
  14. Offline


    In his extremely long and descriptive description he was simply said that for some of the commands if you put -a as a tag after them it will make the resulting message that is broadcasted anonymous instead of using the name of the admin or player who used the command.

    For example, warning a player will just send a message similar to "You have been warned." instead of "You have been warned by _NAME_."

    EDIT: If the server is in lockdown and a player is banned, which message should appear, or should this be configurable?
    Last edited: Apr 9, 2019
  15. Offline


    @Eccentric_Gamer, I don't know what you are saying, but if you are asking if the server is on lockdown, and after it is in lockdown, some1 gets banned, it should display what it always displays
    Last edited by a moderator: Apr 24, 2019
  16. Offline


    was that what u ment?
  17. Offline


    He was meaning that if the server was in lockdown when a banned player tried to join, would it either show the lockdown message or the banned message.
  18. Offline


    Do you still want this? I'm planning to get back on track with this.
  19. Offline


    i'll be apart of this ...

    I can create the plugin over the next week, and will link to a either completely finished plugin once finished, or source if someone wants to continue where I left off/use code.

    • In the command '/tempban', in the time argument, do you want the unit connected to the duration? ie '5M' vs '5 M'
    • Do you want the 'reason' argument to be a single word string, or other?
    • Are the optional arguments (such as reason, '-a', '-ss'...) able to be added in any order, or able to miss arguments? ie '/tempban popbob -a' or '/unban bobpop -ss -a'
      (you see how some optional arguments are missing, and how -ss in in front of -a)
    • Lastly, when ip-any-thinging a player, is the player punished specifically, along with the IP, or only users connected with the IP are punished?
      For instance, player Bob is muted with '/ipmute Bob'.
      Bob will be unable to chat now. If Bob changes his name to popbob, he'll still be muted. A user in the same household decides to join the server, with the name bobpop1. bobpop1 will be muted, due to the ip being muted, right?
      i think i am overthinking this.
    due to security issues with broadcasting ip punishments, those won't be broadcasted globally, only will be shown to users with a new permission `banx.seeippunish`. with the permission `banx.getip`.

    also since i dont feel like rebuilding my code, I will assume that only players will be able to run commands (unless you really want console tell me otherwise).
    Last edited: Jul 6, 2019
  20. Offline

    I have created a unfinished version of the plugin
    I am about 85% finished with the plugin, but it it still usable.
    Last edited: Jul 19, 2019
Thread Status:
Not open for further replies.

Share This Page