open config.yml section
```yaml # This feature allows you to customize your server-brand you see when you press F3. # Normally there stands something like 'Purpur', or 'Spigot'. # With this feature you are able to change and even animate it! ^^ custom-server-brand: enabled: false # Determines the speed in that the animation goes repeat-delay: 3 # This here is the list of the animation # Possible placeholders: # %player% - name of the player # %displayname% - displayname of the player # %world% - name of world where the player is # and the other placeholders from PlaceholderAPI brands: - '&f&lP&froAntiTab |' - '&fP&lr&foAntiTab /' - '&fPr&lo&fAntiTab -' - '&fPro&lA&fntiTab |' - '&fProA&ln&ftiTab \' - '&fProAn<&fiTab |' - '&fProAnt&li&fTab /' - '&fProAnti&lT&fab -' - '&fProAnti&lT&fab \' - '&fProAntiT&la&fb |' - '&fProAntiTa&lb&f /' - '&fProAntiTab -' - '&fProAntiTab \' ```section in config.yml
```yaml # This is a very necessary feature if you have way too many commands to block and instead decide # to whitelist specific commands. # Enabling this will disable ALL commands except for those that are in the (group-)list. turn-blacklist-to-whitelist: false ```example
```yaml # Let's say you just want to allow "/help Minecraft" only and not "/help apple". # It will also automatically allow everything after "/help Minecraft ..." - help Minecraft # [CMD] = Allow the execution of the command # [TAB] = Allow the tab-completion of the command - "[CMD]cmi tpa" # Only executable. Not tab-completable - tpa # Executable & Tab-Completable # %hidden_online_players% = Online players (Removed from tab-completion) # %online_players% = Online players # %hidden_players% = Registered players (Removed from tab-completion) # %players% = Registered players # %numbers% = Numbers, such as 1000 or 1.000 # _- = Block everything after - "tpa %online_players%" - "sell %numbers%" # Using the operator _- at the end cancels every argument afterwards and blocks it. # This will allow the player to use "/help Minecraft" but not "/help Minecraft xyz" - help Minecraft _- ```open config.yml section
```yaml #>> HTP (Overwritten) # Here you can disable all namespace commands. # Namespace commands are commands like plugin:command (e.g: essentials:warp) # You can bypass this restriction with the proantitab.namespace permission. block-namespace-commands: enabled: false ```open config.yml section
```yaml #>> HTP (Overwritten) # Here you can customize your own fake '/plugins' command. custom-plugins: enabled: true commands: - pl - plugins - bukkit:pl - bukkit:plugins message: - '&fPlugins (0):' ```open config.yml section
```yaml #>> HTP (Overwritten) # Here you can customize your own fake '/version' command. custom-version: enabled: true commands: - version - ver - icanhasbukkit - bukkit:ver - bukkit:version message: - '&fThis server is running CraftBukkit version git-NasaSpigot-294 (MC: X)' ```open config.yml section
```yaml # Now there we come to the good stuff! ^^ # If ProAntiTab is loaded on a Spigot server, you will see this option right here. # With that you can also customize your own "Unknown Command"-message. custom-unknown-command: enabled: true message: - '&cThis command does not exist!' ```open config.yml section
```yaml # Change the protocol for the version name when the server is being pinged # (!) Warning: It's required to use Paper or Purpur to use this feature! # (!) Supported server versions: 1.12.2 - latest custom-protocol-ping: enabled: false # Normally it would only display when someone pings the server with the wrong version. # Enabling this will always display the protocol and replace it with the normal player count. always-show: false # This number here determines the outcome for the %online_extended% placeholder. # It’s the current amount of players increased by this number. # For example: 5/20 becomes 6/20 extend-online-count: 1 # true: Use new calculated online-count (%online_extended%) as max-players count. # false: Use the default max-players count. use-as-maxplayers: false # Enabling this option hides the list of players on your server, # when you hover over the player count. hide-players: true # The displayed protocol message # Available placeholders: # %online% - current online player count # %online_extended% - manipulated online player count # %max% - max player count protocol: '&f&lProAntiTab &7(&a%online%&7/&c%max%&7)' ```Bukkit/Spigot examples
```yaml # ____ ___ __ _ ______ __ # / __ \_________ / | ____ / /_(_)_ __/___ _/ /_ # / /_/ / ___/ __ \/ /| | / __ \/ __/ / / / / __ `/ __ \ # / ____/ / / /_/ / ___ |/ / / / /_/ / / / / /_/ / /_/ / # /_/ /_/ \____/_/ |_/_/ /_/\__/_/ /_/ \__,_/_.___/ # custom-responses.yml # # Here you can configure a few of the blocked commands a bit further. # But what exactly is this here? Every command that would normally respond with the typical "command is blocked" message, can be configured in here! # And how does it work? It’s simple. You just provide the a trigger of the command that would be normally blocked. # Commands that would normally work won’t send the messages you have set here. # This way PAT can offer you full control over certain commands and their normal responses. # What are these action section at each block? # This is an additional feature to make your responses much more alive. # Example actions that can be used are the following: # Execute console command: # Syntax: console::command # Example: console::say %player% is an evil player # Execute player command: # Syntax: execute::command # Example: execute::help # Send actionbar: # Syntax: actionbar::text # Example: actionbar::&cThis is not cool %player%! # Send title: # Syntax: title::title::subtitle::5::20::5 # Example: title::&aTest title::&cHello %player%! # Play sound: # Syntax: sound::soundName::volume::pitch # Example: sound::ENTITY_ENDER_DRAGON_GROWL::1.0::1.0 # Give potion effect: # Syntax: effect::potionEffect::duration::amplifier # Example: effect::BLINDNESS::45::1 # Here are a few examples: # Example with kits. # In here we only trigger the given message, if the player would type "/kit ...". # If this command would work through sub-arguments, then the player would only able to execute the command with the # listed sub-arguments assigned to it. Everything else will result with the set message in there. # -- #example-with-kits: # triggers: # - "kit *" # message: # - "&cThis kit does not exist!" # actions: # - "actionbar::&cSorry %player%, but this kit does not exist!" # Here another example with an auctionhouse plugin. # In here we only trigger the given message, if the player would type "/ah plugin". # Normally it would print out the "command is blocked" message, because PAT would have blocked it in our case. # Therefore, we can also assign a custom response message to it. # --- #example-with-auctionhouse: # triggers: # - "ah plugin" # message: # - "&cThis sub-command does not exist. Please type: &e/ah help" # actions: # - "console::say That’s not nice %player%!" # - "effect::BLINDNESS::45::1" # - "sound::ENTITY_ENDER_DRAGON_GROWL::1.0::1.0" # - "title::&cHey!::&cYou can’t do that %player%!::5::20::5" # - "actionbar::&cNop, sorry %player%" ```Proxy examples
```yaml # ____ ___ __ _ ______ __ # / __ \_________ / | ____ / /_(_)_ __/___ _/ /_ # / /_/ / ___/ __ \/ /| | / __ \/ __/ / / / / __ `/ __ \ # / ____/ / / /_/ / ___ |/ / / / /_/ / / / / /_/ / /_/ / # /_/ /_/ \____/_/ |_/_/ /_/\__/_/ /_/ \__,_/_.___/ # custom-responses.yml # # Here you can configure a few of the blocked commands a bit further. # But what exactly is this here? Every command that would normally respond with the typical "command is blocked" message, can be configured in here! # And how does it work? It’s simple. You just provide the a trigger of the command that would be normally blocked. # Commands that would normally work won’t send the messages you have set here. # This way PAT can offer you full control over certain commands and their normal responses. # What are these action section at each block? # This is an additional feature to make your responses much more alive. # Example actions that can be used are the following: # Execute console command: # Syntax: console::command # Example: console::send %player% fallback # Execute player command: # Syntax: execute::command # Example: execute::help # Send actionbar: # Syntax: actionbar::text # Example: actionbar::&cThis is not cool %player%! # Send title: # Syntax: title::title::subtitle::5::20::5 # Example: title::&aTest title::&cHello %player%! # Here are a few examples: # Example with kits. # In here we only trigger the given message, if the player would type "/kit ...". # If this command would work through sub-arguments, then the player would only able to execute the command with the # listed sub-arguments assigned to it. Everything else will result with the set message in there. # -- #example-with-kits: # triggers: # - "kit *" # message: # - "&cThis kit does not exist!" # actions: # - "actionbar::&cSorry %player%, but this kit does not exist!" # Here another example with an auctionhouse plugin. # In here we only trigger the given message, if the player would type "/ah plugin". # Normally it would print out the "command is blocked" message, because PAT would have blocked it in our case. # Therefore, we can also assign a custom response message to it. # --- #example-with-auctionhouse: # triggers: # - "ah plugin" # message: # - "&cThis sub-command does not exist. Please type: &e/ah help" # actions: # - "console::say That’s not nice %player%!" # - "title::Hey!::You can’t do that %player%!::30::3000::30" # - "actionbar::Nop, sorry %player%" ```Available placeholders
```yaml # Some general Placeholders to work with: # %pat_general_user% = Get the name of the user who receives this message. # %pat_general_version_current% = Get current version name of PAT. # %pat_general_version_newest% = Get newest version name of PAT. # Placeholders of some of the messages in the config.yml: # %pat_message_unknowncommand% = Get the "unknown command"-message from the config.yml of PAT. [cancel-blocked-command] # %pat_message_blocked% = Get the "command blocked"-message from the config.yml of PAT. [custom-unknown-command] # Placeholders to list all commands: # %pat_list_size_commands% = Get the amount of all listed commands. # %pat_list_commands% = Get all listed commands. # %pat_list_sorted_commands% = Get all listed commands in alphabetic order. (A-Z) # %pat_list_reversed_groups% = Get all listed commands in reversed alphabetic order. (Z-A) # Placeholders to list all commands of a group: (replace 'xxx' with the group-name) # %pat_list_size_commands_group_xxx% = Get the amount of all commands of a group. # %pat_list_commands_group_xxx% = Get all commands of a group. # %pat_list_sorted_commands_group_xxx% = Get all commands of a group in alphabetic order. (A-Z) # %pat_list_reversed_commands_group_xxx% = Get all commands of a group in reversed alphabetic order. (Z-A) # Placeholders to list all groups: # %pat_list_size_groups% = Get the amount of all available groups. # %pat_list_groups% = Get all groups. # %pat_list_sorted_groups% = Get all groups in alphabetic order. (A-Z) # %pat_list_reversed_groups% = Get all groups in reversed alphabetic order. (Z-A) ```example 1
```yaml cancel-blocked-commands: enabled: true message: 'example 2
```yaml cancel-blocked-commands: enabled: true message: '&cThis command is blocked!Bukkit/Spigot
[config.yml](https://github.com/RayzsYT/ProAntiTab/blob/v2.0.1/src/main/resources/files/bukkit-config.yml)[storage.yml](https://github.com/RayzsYT/ProAntiTab/blob/v2.0.1/src/main/resources/files/bukkit-storage.yml)
Proxy (Bungeecord/Velocity)
[config.yml](https://github.com/RayzsYT/ProAntiTab/blob/v2.0.1/src/main/resources/files/proxy-config.yml)[storage.yml](https://github.com/RayzsYT/ProAntiTab/blob/v2.0.1/src/main/resources/files/proxy-storage.yml)