AdvancedBan 2.0.6

AdvancedBan is a ban plugin for singel servers and server networks with a great looking ban message

  1. Leoko
    Tested Minecraft Versions:
    • 1.7
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    Source Code:

    Are there going to be any future updates?
    Yes, I'm going to continue working on this resource on my summer vacation which starts in about 2 Weeks

    WAIT there is a bug that you NEED to fix in the new version!
    Please check if it's not already posted on GitHub
    If it's not there feel free to create a new issue for it ;)

    WAIT there is an important feature that you NEED to add in the new version!
    Check if it is listed in the poll you can find below, if not post in on GitHub

    Can I do something to support the development?
    Ya there are some things that you can do:
    1. Keep using the plugin to show me support ;)
    2. Help me with the Support in the thread or on GitHub as I will have more time on development if I don't need to answer the same questions over and over again. Thanks to @BillyGalbreath, @geo4574 and @GazpachoYT for already doing so c:
    3. If you are good in any other language than English I'd love to get some translations for
    the message file :) (#AwesomeFeatureIncoming)
    4. I always appreciate donations as they show me that someone does really appreciate the work I'm doing and the time I'm investing in this project also programming makes more fun with some chips and a beer ;D (Thanks for the most recent donator @Siuan )

    Will the update be extremely awesome?
    Yep, it will.
    Not only will I fix all these annoying bugs and improve the overall performance of this plugin.
    But there will be a completely new UUID-Fetching system which will be more dynamic to prevent all those Mojang restrictions, a web panel to set up the Message file with ease and without any problems and maybe even support for Redis bungee.

    Here is a poll so I can see which features you would like the most to be added in the next version:

    Do you want your own Plugin or Website? Visit our Dev-Page:
    AdvancedBan is an All-In-One Punishment-System with warns, tempwarns, mutes, tempmutes, bans, tempbans, ipbans and kicks.
    There is also a PlayerHistory so you can see the players past punishments and
    the plugin has configurable Time & Message-Layouts which automatically calculate and increase the Punishment-Time for certain reasons.
    AdvancedBan provides also a full Message-File so you can change and translate all messages & a detailed config file with a lot of useful settings.
    This is a BungeeCord & Bukkit/Spigot-Plugin in one and it supports MySQL and Local-File-Storage.

    1. Download the Plugin
    2. Put it in your Plugin folder. [either in the one of your BungeeCord-Server or in the one of the Bukkit/Spigot]
    3. Reload/Restart your Server [if BungeeCord you have to restart it with /end]
    4. Check with /advancedban if the plugin is loaded.
    5. Configure it like you want & have fun.

    NOTE: If you have a cracked server set UUID-Fetcher>Enabled to false!

    | = or

    /kick [PLAYER] <REASON | @LAYOUT>
    Kick a player
    To use the command - ab.kick.use
    To not be able to get kicked - ab.kick.exempt
    To get notified - ab.kick.notify

    /ban /mute /warn [PLAYER] <REASON | @LAYOUT>
    Ban/Mute/Warn a player
    To use the command - ab.ban/mute/warn.perma
    To not be able to get banned/muted/warned - ab.ban/mute/warn.exempt

    To get notified - ab.ban/mute/warn.notify

    /banip [PLAYER/IP] <REASON | @LAYOUT>
    Ban a player's IP. If you enter a name it will use the cached IP
    To use the command - ab.ban.ip
    To not be able to get IP banned - ab.ipban.exempt
    To get notified - ab.ipban.notify

    /tempban /tempmute /tempwarn [PLAYER] [Xmo|Xd|Xh|Xm|Xs|#TIMELAYOUT] <REASON | @LAYOUT>
    Tempban/mute/warn a player for a given time or with a time-layout for automatic-time-calcualtion
    To use the command - ab.ban/mute/warn.temp
    To not be able to get (temp-)banned/muted/warned - ab.tempban/tempmute/tempwarn.exempt
    To get notified - ab.tempban/tempmute/tempwarn.notify
    By default the user will be able to punish an infinite amount of time if he has the perms to use the command.
    You can set the max-punishment-time with ab.tempban/tempmute/tempwarn.dur.X
    In the config, there is a section called "TempPerms".
    There you can configure how long which ID will be able to punish
    for example, you set
    1: 3600
    the player with the perms ab.tempban.dur.1 will only be able to ban 3600s -> 1h
    The amount is entered in SEC and if a player has more than one perms the higher numbers override.
    There is a second explanation in the config.yml.

    /unban /unmute [PLAYER]
    Unban/mute a player
    To use the command - ab.ban/mute.undo

    /unwarn [ID]
    Delete a warn
    To use the command - ab.warn.undo

    /unpunish [ID]

    Delete a punishment
    To use the command - ab.all.undo

    /warns <PLAYER>
    See your own or a player's warnings.
    To see your own warns - ab.warns.own
    To see your others' warns - ab.warns.other

    /check [PLAYER]
    Get player-status: UUID/IP/Country/Ban-Status/Mute-Status/Warn-Count
    To use the command - ab.check
    To see the players ip - ab.check.ip

    /banlist <PAGE>
    See all currently active punishments
    To use the command - ab.banlist

    /history [PLAYER] <PAGE>
    See all currently active punishments
    To use the command - ab.history

    /advancedban reload
    Reloads the messages from file and "some" settings
    To use the command - ab.reload

    /advancedban help
    Shows a list of all commands and a brief explanation
    To use the command -

    Displays some System-Information which are useful for the configuration
    To use the command - ab.systemprefs

    NOTE: If you use the plugin as a BungeeCord-Plugin please remember that you need to enter the perms in the config.yml of the bungeecord server and not on the separate bukkit/spigot servers.

    Permissions Example Bungeecord [config.yml in the BungeeFolder]:
    Code (Text):
    - admin
    - admin
    - admin
    - mod
    - mod
    - mod
    - bungeecord.command.server
    - ab.warn.temp
      - ab.tempwarn.notify
      - ab.warn.perma
      - ab.warn.notify
      - ab.warn.undo
      - ab.mute.temp
      - ab.tempmute.notify
      - ab.mute.perma
      - ab.mute.notify
      - ab.mute.undo
      - ab.kick.use
      - ab.kick.notify
      - ab.ban.temp
      - ab.tempban.notify
      - ab.ban.perma
      - ab.ban.notify
      - ab.ban.ip
      - ab.ipban.notify
      - ab.ban.undo
      - ab.check
      - ab.banlist
      - ab.history
    - ab.warn.temp
      - ab.tempwarn.notify
      - ab.tempwarn.exempt
      - ab.warn.perma
      - ab.warn.notify
      - ab.warn.exempt
      - ab.warn.undo
      - ab.mute.temp
      - ab.tempmute.notify
      - ab.tempmute.exempt
      - ab.mute.perma
      - ab.mute.notify
      - ab.mute.exempt
      - ab.mute.undo
      - ab.kick.use
      - ab.kick.notify
      - ab.kick.exempt
      - ab.ban.temp
      - ab.tempban.notify
      - ab.tempban.exempt
      - ab.ban.perma
      - ab.ban.notify
      - ab.ban.exempt
      - ab.ban.ip
      - ab.ipban.notify
      - ab.ipban.exempt
      - ab.ban.undo
      - ab.check
      - ab.banlist
      - ab.history
      - ab.systemprefs
      - ab.reload
    Tempban with Message-Layout:
    Check: [No country because it's a localhost-ip]

    The config.yml should be self-explaining and there are also explanations in the config.yml
    Code (Text):
    # AdvancedBan v2 - Coded by Leoko

    # For each setting there is a small description
    # please read it carefully before changing anything
    # For more information visit:
    # Do you want your own Plugin or Website, check out our Dev-Page:

    # If set to false all bans will be saved locally in the data.yml
    UseMySQL: false

    # Set to false if you want to have only short messages in the console
    # on startup and on the shutdown.
    DetailedEnableMessage: true
    DetailedDisableMessage: true

    # Change this if your server has a different time that your users.
    # eg.: ServerTime: 16:43 | Your Time: 13:43 | TimeDiff has to be set to -3
    # You can check the server time with /systemPerfs
    TimeDiff: 0

    # This commands will be disabled for muted players
    # A player woun't be able to bypass with eg "/minectaft:me"
    - 'me'
    - 'say'

    # The date-format which will be used for the %DATE% variable
    DateFormat: "dd.MM.yyyy-HH:mm"

    # If you use extern REST-APIs they will have to response in JSON
    # The given APIs will only be used for NAME -> UUID
    # For UUID -> NAME will either the official MojangAPI or the InternFetcher be used!
    # To check if you can use the intern fetcher do /systemPerfs and compare your uuid
    #   to the one you can see online on
    #   if they are similar we recommend using the InternFetcher
      # Disable for cracked servers
      Enabled: false
      Intern: false
        URL: ""
        Key: "id"
        URL: ""
        Key: "uuid"

    # This are the commands that will be performed on warns
    # If you skip a number the command from before will be performed
    # You can also use not-AdvancedBan-Commands like 'broadcast' or 'clear %PLAYER%'
    # Variables: %PLAYER%, %REASON%, %COUNT%
      3: "kick %PLAYER% &c&oYou received the 3th warning!"
      4: "tempban %PLAYER% 30m &c&oYou receivedthe 4th warning!"
      5: "tempban %PLAYER% 5h &c&oYou receivedthe 5th warning!"
      6: "tempban %PLAYER% 7d &c&oYou receivedthe 6th warning!"
      7: "tempban %PLAYER% 1mo &c&oYou received the %COUNT%th warning!"
      10: "ban %PLAYER% &c&oYou received the 10th warning!"

    # Here you can create permission-nodes for max-punishment-duration.
    # The permission "ab.tempban.dur.1" would allow the player to ban max. for 600sec = 10min
    # The permission "ab.tempwarn.dur.2" would allow the player to warn max. for 3600sec = 1h
    # You can only create up to 10 perms. The perms can be overridden with "ab.COMMAND.dur.max"
      1: 600
      2: 3600
      3: 43200

    Here you can enter your MySQL-Data if you have enabled MySQL in the config.yml
    Code (Text):

      DB-Name: test
      Username: root
      Password: ******

    Here you can change every message. All Message-Variables that are available are used in the default-settings.

    Here you can define predefined reasons which can be used for (temp-)banning/muting/warning & kicking.
    You can use them by just typing @LAYOUT-NAME instead of the reason. So you can have different layouts with different information for different reasons.
    And once you have defined them you done have to type the whole reason.

    Here you can define timelayouts which can be used for temporary-punishments.
    You can use them by just typing #LAYOUT-NAME instead of the duration. The time increases every time a player gets punished with the same layout.
    Code (Text):
    # The default layouts are in the Message.yml file!

    # Message-Layouts can not only be used for bans but also for mutes and warns
    # Varibales: %OPERATOR%, %REASON%, %PREFIX%, %DURATION%
    # For warns you have also the variable %COUNT% which will be
    # replaced with the current amount of warns the player already resived
    # Example usage: /ban Leoko @ExampleLayout
        - '%PREFIX% &7Banned for Hacking'
        - '&c&oBannd by %OPERATOR%'
        - '&7'
        - "&cIt seems like you are using a"
        - "&chacked client please disabled it!"
        - "&cUnban in &8\xbb &7%DURATION%"
        - '&7'
        - '&8Unban application in TS or forum'
        - "&eTS-Ip &8\xbb &c&ncoming soon"
        - "&eForum &8\xbb &c&ncoming soon"

    # You would use this time-layout for example like this: "/tempban Leoko #ExampleLayout Hacking in FFA"
    # Or with "/tempwarn Leoko #ExampleLayout Advertising" or with "/tempwarn Leoko #ExampleLayout No capslock please"
    # You can also combine this with MessageLayouts like "/tempban Leoko #ExampleLayout @Hacking"
        - '30m'
        - '2h'
        - '1d'
        - '1w'
        - '1mo'
        - '2mo'
        - '4mo'
        - 'perma'


    • Ban-, Kick-, Mute- and Warn-System
    • BungeeCord & Bukkit/Spigot-Plugin in one
    • PlayerHistory
    • Easy to use API
    • Advanced-UUID-Support
      • Intern or Extern UUID-Fetcher
      • Backup-UUID-Fetcher if Mojang-Servers are offline
      • Change UUID-Fetcher REST-API
    • MySQL or File
    • Full costumizeable
    • Multiple lines in Kick- and Ban-Messages
    • Pre-Defined Reasons
    • Automatic time calculation [1th-tempban -> 1h | 2th-tempban -> 6h ...]
    • Custome Time-Offset [Change the timezone if the server has a wrong time]
    • Automatic-Warn actions
    • Check-Command [UUID, IP, COUNTRY, BAN/MUTE/WARNS]




    If you have made one just send me the link per PM.


    • AdvancedBan version 2.0.0 or higher
    • MySQL-Server that is reachable from outside (not just localhost)
    • Enabled MySQL not file
    A webserver is not required

    The webpanel is not something to download like the first one.
    It's a website where you can register your server and the website will generate your own banpanel.
    Also the panel does only display things it is not for administration just for monitoring.

    Free MySQL-Databases:
    BPlaced is not working

    Here is a live DEMO:

    • Secure login-system (sha1 & no-SQLInjections)
    • Mobile optimized
    • Flat design
    • Own subdomain []
    • Own messages & design [coming soon]
    • Able to integrate into your webside


    Register here:

    Thanks to @mathhulk there is a web interface which you can download and place on your own WebServer this can be great if...
    ... your MySQL is only accessible for localhost
    ... you want to make major changes in the layout

    This web interface does not include all features listed above, like the player-search or advanced mobile optimization.

    Finally please note that all credits of this web interface got to @mathhulk and that we won't provide any support for it.

    I don NOT vouch for the security of this web panel!



    • AutoMute/Warn for spamming , advertising, blocked-words
    • /ipban Aliases on BungeeCord
    • Ability to display the Punishment ID in the Ban-Screen
    • Level Based Exempt-Perms (e.g. Mods can't ban an Admin but the Owner will be abel to ban an Admin)
    • Silent-Mode (-s)
    • ID-Variable for bans / kicks / mutes in banlist & check
    • /alt <NAME> - ip lookup for different accs with the same ip
    • /check also shows online time
    • /check also shows punishment-reason
    • Command to edit a ban /editban [player] [newtime] [newreason]
    • /notify - to toggle notifications
    • disable mute- & warn- & kick-command
    • History clear
    • Old name lookup based on UUID
    • Warning if a different player joins with the same IP [Doubble account]
    • Custom commands on kick / ban / mute / warn
    If you have any more ideas feel free to PM me or post them into the discuss area

    If you have any problems with the Plugin make sure the first check the console for any error messages with instructions how to solve the issue and to read the Known-Issues-Section below
    If you still have the problem you just post your problem into the discuss area or on GitHub :)


    If you have any ideas for plugins you can tell me them per PM


    The new Version of AdvancedBan was a lot of work for and I spend a lot of time and efford on it.
    So if you aprecheate my work I'd be very thankfull aout every donation ^^

    MC-Stats is a public Stats-System that traces information about your server
    eg. Player, Bit-System, MC-Version, Server-System ect.
    More information about MC-Stats can be found here:
    My MCStats page:

    How to disable this?
    More information about this on the official MCStast page.

    Data collection
    Beside McStats there is also my private data collection RestAPI which does only track your player count of online players each 15min.
    Also, there is an update checker which connects to my web server to check what the current Version of this resource is.
    Please note:
    - By downloading and installing the plugin you agree to this kind of data collection
    - By checking the current version or reporting the player count your IP address is automatically logged by the web server
    - None of this can be disabled
    - I've no interest in doing anything bad with your data it just helps me to see how many people actually use my plugin and it helps you to always keep up to date ;D

    FAQ / Known Issues
    None yet ;)


    To use the API just add the AdvnacedBan.jar to your BuildPath and as a depency in your Plugin.yml
    You can use this API in Bukkit/Spigot-Plugins but also in Bungee-Plugins.
    The API-Methods can be accessed trough PuishmentManager.get()
    Here are the correnty availbable methods:

    Code (Text):

    //To get a PlayerUUID use:

    // Returns a list of active punishments
    // checkExpired - If it should check for expired punishments & remove them | should be on true

    PunishmentManager.get().getPunishments(uuid, type, current);
    // Returns a list of Punishments
    // uuid - Players uuid | null = all players
    // type - Type of the punishemtn PunishmentType-Enum | null = all types
    // current - If only currently active punishemnts should be displaid | true = currently active | false = all
    // Example:
    PunishmentManager.get().getPunishments(UUIDManager.get().getUUID("Leoko"), PunishmentType.WARNING, true);
    // Would return all active Warnings for the player Leoko

    // Returns a Punishment of the type Ban, IPBan or Tempban | returns null if player is not banned

    // Returns a Punishment of the type Mute or Tempmute | returns null if player is not muted

    // Returns a Punishment of the type Warn or Tempwarn | returns null if there is no warn with that id

    // Returns wether a player is banned or muted

    // Returns the count of a players current warnings

    //Create a new Punishment:
    new Punishment(name, uuid, reason, operator, type, start, end, clculation, id).create();
    // name - The users name
    // uuid - The users uuid
    // reason - The punishment reason | Can be null or a layout like "#LayoutName" or a basic reason "Hacking in FFA"
    // operator - The one who banned | You can just use "CONSOLE"
    // type - The Type of the Punishment from the PunishmentType-Enum
    // start - The current time | use TimeManager.getTime()
    // end - The end of the punishment | -1 for perma or TimeManager.getTime() + millisecs for temp
    // calculation - TimeLayout | Can just be set to null
    // id - has to be set to -1





    1. AB-Logo.png
    2. imgres.jpg
    3. ex1.png
    4. ex2.png
    5. AdvancedBan.jpg
    C4K, caowenkang1, lollilol and 51 others like this.

Recent Reviews

  1. dwgr8ergolfer
    Version: 2.0.6
    Excellent plugin. Works perfectly and is easy to use. I use it on my server. Website - Ip -
  2. C4K
    Version: 2.0.6
    Great Plugin :)

  3. VitaminEsserYT
    Version: 2.0.6
    Very Good Plugin but can you add UTF8 Support
    That i can use symbols like: ●
    I hope you add it
  4. iCodinqs
    Version: 2.0.6
    AdvancedBan has been my always go-to disciplinary plugin. The plugin is feature-packed and has many great functions what allows myself and my staff team to cooperate on recent unfair punishments that have been held down. Another reason to use this, it has SQL incorporated into the plugin, so all you need to do is connect to a database then you can have the disciplinary statistics displayed on your site or use the pre-made site that the author provides you with. Overall customizability is outstanding. I and my team are able to customize basically anything to fit our needs. Overall outstanding experience with AdvancedBan. I would recommend it to those who are looking for a feature-rich disciplinary system.
    1. Leoko
      Author's Response
      Thank you very much for that awesome and detailed review.
      I appreciate this kind of feedback very much ;)
  5. MinasTZ
    Version: 2.0.6
    Great plugin! I love using it on my server thanks for having it free tyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy xD(i needed to sumbit)
  6. crazeh_boy709
    Version: 2.0.6
    I really like the idea of the plugin, but just like the essentials/default ban system, I cannot find a way to temp ban ip's. If it is not possible, I think this is a great plugin.
  7. Zeus_Zdravkov
    Version: 2.0.6
    It's a cool plugin, I really like it and I am using it on most of my servers, but the problem is...
    Bugs, bugs! Bugs everywhere!
    1. The ban panel is not secure.
    1.1. I can not add the ban panel to my website with <iframe>, because my website is secured with https:// and the panel is not - I can not add unsafe frames.
    1.2. The avatar images, scripts and stylesheets are also requested with http://!!! Even if I could add it with iframe, it would not work because it is requesting unsafe scripts. And the unsecured stylesheets and images will break up my SSL certificate!
    2. Please remove the "Coded by", or at least put it in the footer, with small text. That's how you do it.
    3. I see you are programming more options. Well, include using custom CSS, as well as a code editor to edit the HTML structure.
    4. What the heck is a delay of 3 mins? I was trying to ban someone and when I typed the command line, it took 3 minutes for the command to execute. I told the plugin is not working, or something and after 3 minutes the player was finally banned.
    5. Consider adding "unbanip"
    6. Why is the prefix shown on messages like usage, as not pointed in the configuration?
    1. Leoko
      Author's Response
      1. Well if you want to donate me a WildCard-SSLCertificate I can apply it to the page but as this is a free project and I'm not earning any money with it I'm not going to buy an SSL-Certificate for >100$

      2. I think it's up to me where I put the credits.

      3. Ya that may be a good idea I'm going to do several improvements on the web panel on holidays

      4. 3mins. is not normal this seems to be a problem only you have. Please consider asking for support in order to solve this problem

      5. Is planned :)

      6. I don't really get the question but the prefix is something that is in front of *each* message
  8. _RedCraft_
    Version: 2.0.6
    Best plugin for bans ! How work the banpanel ?

    I have 1hour to translate the plugin in french xDDD !!
  9. Kwtan
    Version: 2.0.6
    Best Ban system I have seen from a long time (For bungee)
    Keep up the good work , be a bit more active !
  10. funmc
    Version: 2.0.6
    Good plugin
    Does not evolve against the competition of other plugins available!
    It's too bad.. :(
    This plugin really needs to be updated.