AdvancedBan 2.3.0

AdvancedBan is a ban plugin for single 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
    • 1.12
    • 1.13
    • 1.14
    • 1.15
    • 1.16
    • 1.17
    Source Code:
    Check out my amazing new plugin:



    AdvancedBan is an All-In-One Punishment-System with warns, tempwarns, mutes, tempmutes, bans, tempbans, ipbans, tempipbans 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 a local embedded Database to provide high performance.
    Developed by Leoko

    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.

    | = or
    -s = Silent punishemnt (no notification to others)

    /kick<-s> [PLAYER] <REASON | @LAYOUT>
    Kick a player

    /ban /mute /warn /note <-s> [PLAYER] <REASON | @LAYOUT>
    Ban/Mute/Warn a player / Add a note to a player

    /banip <-s> [PLAYER/IP] <REASON | @LAYOUT>
    Ban a player's IP. If you enter a name it will use the cached IP

    /tempban /tempmute /tempwarn <-s> [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

    /tempipban <-s> [PLAYER/IP] [Xmo|Xd|Xh|Xm|Xs|#TIMELAYOUT] <REASON | @LAYOUT>
    Temippban a player for a given time or with a time-layout for automatic-time-calcualtion
    Alias: /tipban

    /change-reason [ID] [New reason]
    Change the reason for a punishment by id

    /change-reason [ban/mute] [PLAYER] [New reason]
    Change the reason for a players punishment

    /unban /unmute [PLAYER]
    Unban/mute a player

    /unwarn /unnote [ID]
    Delete a warn/note

    /unwarn /unnote clear [PLAYER]

    Delete all warnings/notes for a player

    /unpunish [ID]
    Delete a punishment

    /warns /notes <PLAYER>
    See your own or a player's warnings/notes.

    /check [PLAYER]
    Get player-status: UUID/IP/Country/Ban-Status/Mute-Status/Warn-Count/Note-Count

    /banlist <PAGE>
    See all currently active punishments

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

    /advancedban reload
    Reloads the messages from file and "some" settings

    /advancedban help
    Shows a list of all commands and a brief explanation

    Displays some System-Information which are useful for the configuration

    Most of the permission nodes follow a simple layout:
    So, for example, the /ban command has the permission node ab.ban.perma and the tempwarn command has ab.warn.temp
    But please check the list of permissions anyway to ensure you are using the right permissions:
    Code (Text):
    ab.kick.use - /kick
    ab.kick.exempt - Immune to kicking
    ab.notify.kick - Receives notification

    ab.ban.perma - /ban
    ab.ban.temp - /tempban
    ab.ban.undo - /unban
    ab.ban.exempt - Immune to ban
    ab.notify.ban - Receives notification
    ab.undoNotify.ban - Receives notification when someone gets unbanned

    ab.notify.tempban - Receives notification[/SPOILER]

    ab.ipban.perma - /ipban
    ab.ipban.temp - /tempipban
    ab.notify.ipban - Receives notification

    ab.tempipban.exempt - Immune to tempipban
    ab.notify.tempipban - Receives notification

    ab.mute.perma - /mute
    ab.mute.temp - /tempmute
    ab.mute.undo - /unmute
    ab.mute.exempt - Immune to mute
    ab.notify.mute - Receives notification
    ab.undoNotify.mute - Receives notification when someone gets unmuted

    ab.notify.tempmute - Receives notification

    ab.warn.perma - /warn
    ab.warn.temp - /tempwarn
    ab.warn.undo - /unwarn
    ab.warn.exempt - Immune to warn
    ab.notify.warn - Receives notification
    ab.undoNotify.warn - Receives notification when someone gets unwarned

    ab.notify.tempwarn - Receives notification

    ab.note.use - /note
    ab.note.undo - /unnote
    ab.note.exempt - Immune to receiving notes
    ab.notify.note - Receives notification
    ab.undoNotify.note - Receives notification when someone gets unnoted

    ab.all.undo - /unpunish

    ab.warns.own - /warns
    ab.warns.other - /warns PLAYER

    ab.notes.own - /notes
    ab.notes.other - /notes PLAYER

    ab.check - /check
    ab.check.ip - Also shows IP

    ab.changeReason - /change-reason
    ab.banlist - /banlist
    ab.history - /history
    ab.reload - /advancedban reload - /advancedban help
    ab.systemprefs - /systemprefs

    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.

    Servers with a large team and a complex hierarchy might need a more advanced approach to who can ban who:

    To achieve that, you can assign exempt levels per permissions to users with
    TYPE = ban, tempban, ipban, tempipban, warn, tempwarn, kick, mute, tempmute
    X = 1 - 10 (10 being the most powerful)

    ab.TYPE.exempt = ab.TYPE.exempt.11

    Note that exempt permissions only work when the targeted user is online (also works for offline players when using LuckPerms)!

    (Users on same level cant punish one another)

    Users with ab.ban.exempt can not be banned by anyone.
    User with ab.ban.exempt.4 can not be banned by someone with ab.ban.exempt.2 but by someone with ab.ban.exempt.5

    If you use this plugin on bungeecord you need to define the permissions in the config.yml of the Bungeecord Server or through a spcial bBungeecord Permission Plugin.

    The problem with bungeecord permissions is that there are not *-Perms so a user with ab.* won't have access to all commands. But to simplify the setup there is a setting in the advacnedban config called "EnableAllPermissionNodes" which allows you to use a .all instead of a .* so if enabled a user with ab.all will have access to all AdvancedBan commands. (There is another explanation in the config)

    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 each description 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 a HSQLDB-Database
    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

    # This will be the default reason to be displayed if none is given
    DefaultReason: "none"

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

    # This commands will be disabled for muted players
    # A player wouldn't be able to bypass with eg "/minecraft:me"
    - 'me'
    - 'say'
    - 'action'
    - 'eaction'
    - 'describe'
    - 'edescribe'
    - 'eme'
    - 'w'
    - 'm'
    - 'pm'
    - 'whisper'
    - 'ewhisper'
    - 'emsg'
    - 'msg'
    - 'etell'
    - 'tell'
    - 'er'
    - 'r'
    - 'reply'
    - 'ereply'
    - 'ac'
    - 'eac'
    - 'amsg'
    - 'eamsg'
    - 'ehelpop'

    # These players will not be able to get punished in any way
    # this also works if the player is offline
    - 'Leoko'
    - 'md5'
    - 'dutchy1001'
    - 'ItzSomebody'

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

    # This is useful for bungeecord servers or server with permission systems which do not support *-Perms
    # So if you enable this you can use ab.all instead of ab.* or ab.ban.all instead of ab.ban.*
    # This does not work with negative permissions! e.g. -ab.all would not block all commands for that user.
    EnableAllPermissionNodes: false

    # If you use external REST-APIs they will have to respond in JSON
    # The given APIs will only be used for NAME -> UUID
    # For UUID -> NAME will either use the official MojangAPI or the InternFetcher
    # 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
      # If dynamic it set to true it will override the 'enabled' and 'intern' settings
      # and automatically detect the best possible uuid fetcher settings for your server.
      # Our recommendation: don't set dynamic to false if you don't have any problems.
      Dynamic: true
      Enabled: true
      Intern: false
        URL: ""
        Key: "id"
        URL: ""
        Key: "uuid"

    # These 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 non-AdvancedBan-Commands like 'broadcast' or 'clear %PLAYER%
    # Variables: %PLAYER%, %REASON%, %COUNT%
      3: "kick %PLAYER% &c&oYou have received your 3rd warning!"
      4: "tempban %PLAYER% 30m &c&oYou have received your 4th warning!"
      5: "tempban %PLAYER% 5h &c&oYou have received your 5th warning!"
      6: "tempban %PLAYER% 7d &c&oYou have received your 6th warning!"
      7: "tempban %PLAYER% 1mo &c&oYou have received your %COUNT%th warning!"
      10: "ban %PLAYER% &c&oYou have received your 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 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 do not 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
    • Excellent performance
    • 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 local embedded HyperSQL
    • Full customizable
    • 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]
    >> Plugins supporting AdvancedBan <<

    Discord Ban Announcer ( @Sheidy ):

    GUI for Player History (@rossf_ )

    Auto Ban - Bans alt accounts ( @james090500 )

    AB Sign Addon - Muted Players can not place signs ( @AlekseyJust ):

    Punishment GUI ( @BGHDDevelopment ):▶-advancedbangui-1-8-1-13-◀-punishment-gui-fully-customizable.59570/

    Discord BansWebhook ( @PmzHeroV2 ):

    Addon for Party and Friends System ( @simonsator ):

    GUI Addon ( @Boobah ):

    Use numbers instead of reasons, durations and punishment types ( @Phyrone ):










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


    Our official GUI addon depends on AdvancedGUI.
    Here is a quick showcase of the addon:

    (currently only supports AdvancedBan when installed on the Spigot server | not bungee)

    To obtain a GUI use
    Required permissions: advancedban.gui

    Download GUI layout file:
    Download addon:

    1. Add the Addon and AdvancedGUI to your plugin folder
    2. Go to , click "Import project" and select the layout file from above
    3. Press "Download"
    4. Place the usage .json-File in /plugins/AdvnacedGUI/layout
    5. Enjoy

    ! The official web interface is not available for the time being.
    Use the stand-alone version instead if you have a webserver available.

    • 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 website


    Register here:

    Thanks to @mathhulk there is a web interface that 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.


    If you have any problems with the Plugin make sure the first check the console for any error messages with instructions on how to solve the issue and to read the Known-Issues-Channel on discord.
    If you still have the issue just post it on our discord or on GitHub. :)

    The new Version of AdvancedBan was a lot of work for and I spend a lot of time and effort on it.
    So if you appreciate my work I'd be very thankful about every donation ^^

    >> Servers using AdvancedBan <<
    BlizzardCraft Network
    Craft and play

    We use a Metrics-System called bStats which tracks information about your server
    eg. Player, Bit-System, MC-Version, Server-System, etc.
    More information about bStats can be found here:

    All information about the API can be found on GitHub



    1. AB-Logo.png
    2. imgres.jpg
    3. ex1.png
    4. ex2.png
    5. AdvancedBan.jpg
    haxia1, SayWHAT, GlowyBlast and 90 others like this.

Recent Reviews

  1. awdawdwhg
    Version: 2.3.0
    Good plugin... IP bans don't ban the player and the IP it JUST bans the ip. I prefer the way litebans does it
  2. raffel080108
    Version: 2.3.0
    A generally good plugin, but I had the issue that you could not unban a player without quite the effort due to a bug via a Proxy on a different server before. I am now using a single server and this issue is not present there - Still a great and easy to use plugin tho!
    Version: 2.3.0
    Its just better than other paid plugins (such as litebans). worth using it, plus its open source which guarantees you being able to maintain it
  4. iMarianARG
    Version: 2.3.0
    Good plugin, but the ip ban only ban the IP and not the nick and another thing I would like that when a player is muted he cannot write on signs, most of them evade the sanction that way.
  5. PheticPvP
    Version: 2.3.0
  6. ZeroNero
    Version: 2.3.0
    very nice. Would have been much better tho if /sudo c: worked and allowed u to send the message through muted players xD
  7. YosmirGamer_YT
    Version: 2.3.0
    It is fantastic almost does not throw errors a marvel. What I would recommend is a /ss or / reeze command
  8. DinVaderXD
    Version: 2.3.0
    Good plugin that does what it says it does. Although it disappointed me when I saw the morse code misspelling. [Sarcasm?] I have not seen or haven't looked for any type of Inglish mistakes but I am happy with NOT getting a message in console saying "Bad Syntax". Just be grateful this has been made available in a common language for us all FOR FREE. In all seriousness I had 0 issues with AB. Some other plugins may have small incompatibility issues but ALWAYS READ the documentation.
    Version: 2.3.0
    I liked this plugin. I wish i could give it a 5 - star rating but the permissions do not work.
  10. BrianEier
    Version: 2.3.0
    It's a perfect and Great plugin.
    I got no problems and with a lot of messages.
    the server don't give a kick and this plugin do not high the RAM percentage of my server.
    Great plugin !