
ProAntiTab
Hide Commands, Custom F3 Brand, Block Unwanted Tab-Completion & Suggestions
New
Added per-server PAT group permissions
You can now give PAT related permissions using a LuckPerms server context to only give this PAT group for a user on a certain server. Similar to the
per-worldPAT group implementation! :D
Added negated 'plugin=
' variant Using
plugin=<plugin>adds all commands from a certain plugin without writing each command inside the storage.yml.Now with
!plugin=<plugin>all commands from a plugin can be negated instead.
Added playable sounds on the proxy Unfortunately not for Bungeecord.
Available sounds: https://www.digminecraft.com/lists/sound_list_pc.php Syntax: sound::soundName::volume::pitch Example: sound::entity.ender_dragon.growl::1.0::1.0
Added new setting: 'forward-console-notification-alerts'
Allows you to forward proxy notifications to the backend server's console.
Added %offline_players% for sub-arguments
Only for standalone Spigot servers
Changed usage of 'pat extract' command
New usage: /pat extract (plugin / *) <group> <mode>
mode = non-colon, only-colon, both
Description: With the new syntax, it's now possible to either only extract non-colon, only colon, or both colon and non-colon commands from a plugin.
Writing no mode chooses non-colon by default. Writing no group will use the global section by default.
MiniMessage Support for Custom Responses
Added full support for MiniMessage (e.g: HEX) in any custom response
You can now use MiniMessage for all custom response types. Inside actionbars, titles and your messages.
example-for-anything: triggers: - "*" message: - "<✨>MiniMessage</✨> &a&land &e&lLegacy" actions: - "actionbar::<✨>Sorry %player%, but this command is blocked.</✨>" - "title::<✨>MiniMessage title</✨>::&cLegacy &asub&etitle::5::20::5"
Fixes
- Updated libraries
- Improved performance and reduced memory usage improving the PAT group recognition.
- Fixed issue that some PAT group commands were not working.
- Fixed exception on backend servers with a Bungeecord network.
- Fixed exception on legacy servers using PAT on a network.
- Fixed exception when removing the entire
server,groups, andgroups.<group>.serverssection. - Fixed sub-argument hiding from commands using the Mojang Brigadier Library.
- Fixed issue with %args[...]% placeholder in custom-responses.
- Fixed issue that PAT in BLACKLIST mode was not blocking sub-arguments correctly.
- Fixed sub-argument tabbing for
custom-versionandcustom-pluginscommands if they were whitelisted. - Fixed that all commands disappear on Bungeecord once PAT is reloading.
- Fixed unnecessary data synchronization if
disable-syncis enabled. - Fixed wrong conversion of CommandWhitelist sub-arguments.
- Fixed raw CraftBukkit support.
New Features:
Added new variable "plugin=pluginname" to add all commands from a plugin
Warning: This only works on standalone Spigot (+Fork) servers!
You can now add all commands from a plugin by simply adding
plugin=<pluginname>to your storage.yml.You can then use the negation operator (
!) to block a few of these commands. Here an example:# Adds all Essentials commands and blocks off these few commands. # It does not matter if the plugin name is written with big or small letters. - "plugin=essentials" - "!about" - "!anvil"
Added new option for block-namespace-commands
A new option called
always-block-commandhas been added.It's enabled by default and basically means that commands are still not executable, even though the cancellation for command executions has been disabled inside
cancel-blocked-commandsfor example.block-namespace-commands: enabled: false # Basically blocks the command execution no matter if # 'cancel-blocked-commands' is enabled or not. always-block-command: true
Added new option "allow-group-overruling"
Allows to block commands inside a PAT group, if the commands were considered allowed according to the
globalsection before.Blocking commands inside a PAT group works by using the negation operator (
!) afront of a command.# (!) Warning: # Enabling this could lead to performance issues depending on # the amount of players and commands. (> 1100) # # This allows PAT groups to block commands, which have been allowed # inside the global section. This can be achieved by negating commands # inside a PAT group. allow-group-overruling: false
Added negation of PAT group commands! (Basically blocking commands via PAT groups)
Allows to block commands inside a PAT group using the negation operator (
!) afront of a command.Warning: It only blocks the command, if it's not been allowed inside the
globalsection before. But this can be bypassed by enabling the new option allow-group-overruling. (above)
New Commands:
Command to convert another plugin/command hider plugin into PAT
Usage:
/(b)pat convert (plugin)Description: Converts the config.yml from another "plugin/command hider" plugin into PAT's format of the storage.yml. For example, converting theconfig.ymlof AdvancedPlHider into a PAT storage.yml. This should simplify the process of switching to PAT. ^^Example:
/pat convert AdvancedPlHiderSupported plugins:
AdvancedPlHide, CommandWhitelist, PlHide(Pro), PluginHiderPlus
Command to extract ALL commands from a plugin
Usage:
/pat extract (plugin) <use-colon>or/pat extract (plugin) <group> <use-colon>Description: Extracts all commands from a plugin and writes them directly into the storage.yml.Parts explanation:
<use-colon>= Includesplugin:commandcommands. (e.g:essentials:feed)<group>= PAT group if you want to extract the commands in there.Example:
/pat extract essentials true= Writes all Essentials commands in the global section of PAT with and without colon commands. = So it includes bothessentials:feedandfeedetc./pat extract fastasyncworldedit builder false= Writes all FAWE commands into the PAT group calledbuilderwithout any colon commands. = So it only includes commands such as//wandbut not/fastasyncworldedit:/wand
Fixes:
- Improved "missing-parts" warning
- Fixed TOKEN not updating after PAT reload
- Fixed auto-config-updater option
- Fixed wrong size of PAT group commands
- Fixed potential error message for proxies
- Fixed issue filtering colon commands with PAT in BLACKLIST mode
- Fixed in-code wrong data type for "load-from-env.name"
- Fixed tab-completion issue with Bungeecord commands while having bypass permissions (sub-arguments)
- Fixed tab-completion issue with Bungeecord commands on 1.8.8 servers (player-names and commands)
- Fixed wrong filtering process of custom-plugins & custom-version commands for legacy servers
- Fixed wrong tab-completion of available commands (
/(b)pat add <...>) - Fixed wrong last-sync time in post-debug
- Disabled custom-plugins and custom-version feature on backend servers if
handle-through-proxyis enabled - Fixed missing server-name using bpat-serv commands with an unknown group-name
Features
Added Per-World-Commands feature by giving PAT group permissions using LuckPerms context.
# (!) Warning: # Enabling this could lead to performance issues if many players # change worlds frequently in short amount of time. # # This decides whether PAT updates the commands for a player after changing worlds. # Enabling this allows you to make per-world commands using PAT's group system by # giving a user/group the PAT group permission using a LuckPerms world as context. # # Example command: # lp (...) permission set proantitab.group.<group> world=<world> update-commands-per-world: false
Added support for the permissions plugin GroupManager
Added lower- & uppercased variants for %numbers%
0 1 2 3 4 5 6 7 8 9 . k K m M b B
New Operators:
Added (!) operator to negate a command. (Mostly fit for WHITELIST mode)
- gm - "!gm creative" # Allows all /gm commands, except for '/gm creative'
Added (-_) operator to block the base-command only and not the sub-arguments
- gm -_ # Disallows '/gm', if it does not have any sub-arguments included - gm creative - gm survival
Added Base-Command-Case-Sensitive option
Example when allowing "HelP" and enabling case-sensitivity: /help --> Blocked /HElp --> Blocked /HelP --> Allowed
Added new options for custom-response variable %args[...]%
%args[from-to]% to get the command arguments Example if you've typed: /shop open gui user # A: %args[1]% = shop %args[2]% = open A-B: %args[1-2]% = shop open %args[1-3]% = shop open gui %args[2-4]% = open gui user A_: %args[1_]% = shop open gui user %args[2_]% = open gui user %args[3_]% = gui user _B: %args[_1]% = shop %args[_2]% = shop open %args[_3]% = shop open gui
Fixes
- Rewrote the entire permissions detection system
- Improved auto-commands updater for Bungeecord networks (even more independent now)
- Improved proxy-commands detection for Bungeecord (Fixed
MyCommandissues) - Improved PAT debug post (
/(b)pat postdebug) - Fixed unnecessary tab-completions for
/(b)pat creategroup <...> - Fixed overall memory issue
- Fixed StackOverflow crash exploit (Auto-Lowercase feature)
- Fixed 1.8.8 command detection on Velocity (CarbonSpigot)
- Fixed overall 1.8.8 server related issues (Sub-Arguments)
- Fixed issue with PAT in BLACKLIST mode on a network
- Fixed issue with Folia related forks
- Fixed potential injection issues with different server software (e.g: Leaf-1.20.6)
- Fixed
%players%variable issue with online players detection by their prefix (e.g: Rayzs -> Rayzs_YT) - Fixed wrong display of missing parts in config after plugin-reload
- Fixed minor issues with MyCommand for Bungeecord commands
- Fixed wrong display of commands at
/pat add <tab>(Bukkit only) - Fixed wrong amount of groups. (
/(b)pat listgroups)
- Fixed display of wrong message when removing a command which isn't even listed (if similar with spaces was already there)
- Added 'k', 'm', 'b' to number specification for %numbers%
- Fixed the
/(b)pat reloadcommand that it wouldn't adapt the storage.yml changes.
- Fixed the
- Fixed issues with BLACKLIST mode (Wasn't functional)
- Fixed correct and safe display of blocked commands
- Fixed not-blocked commands written as: <>&
Fixed 1.8.8 incompatibility (on plugin loadup)
- Fixed overload on player join/leave (Bukkit)
- Integrated additional delayed injection attempt in case first injection fails
New:
- Added
%args[.-.]%variable for custom-response (examples in the custom-responses.yml)
Fixes:
- Fixed no detection of lowercased player names in %players% variable
- Fixed Update-Notifier issues
- Fixed missing notification on /pl and /ver (custom-plugin-list/custom-version)
- Added
Fixed an issue regarding sub-argument digits
Removed the notification if PAT is running in WHITELIST mode.
For all the other and new features, please check the update prior to that one:
/plugins/proantitab/version/2.0.3
Important notice: This version of PAT is still in testing phase. Please report bugs directly to me.
Warning: Please delete your old config.yml file!
Features:
Decide if command is tab-completable or executable only
Allow command execution only: [CMD] Allow command tab-completion only: [TAB] Example: - "[CMD]cmi tpa" - tpa
Simplified sub-argument integration
No need to add the base command of a command anymore. Old: - help - help Minecraft To: - help Minecraft
New variables for sub-arguments
%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 Example: - "tpa %online_players%" - "sell %numbers%"
New Custom-Response action
Execute player command: Syntax: execute::command Example: execute::help
Auto command lowercasing
Lowercases executed commands like "/HeLp" - "/help"
Improve Config-Auto-Updater
Added several options to rather automatically update the config entirely, or just announce missing features. A tutorial on how to read the missing parts will be generated automatically as well.
Disable PAT on certain servers
disabled-servers: - server-with-no-pat
Better PAT Command Syntax for Sub-Arguments:
Example: You want to add "help Minecraft" to the PAT list: /(b)pat add "help Minecraft" <group
Added support for auth-tokens to be read using an ENVIRONMENT VARIABLES instead
Proxy: load-from-env: enabled: false name: PAT_TOKEN token: ... ------------------------------------ Backend: handle-through-proxy: ... load-from-env: enabled: false name: "PAT_TOKEN"
PAT can run alone on Bungeecord now.
But for specific sub-arguments, PAT needs to be installed on all backend servers again.
Added PAPI support for CustomProtocolPing feature (Caches for 1s on every call)
Fixes:
- Improved performance
- The bugs from the Github wiki in case 1 has been fixed
- The bugs from the Github wiki in case 2 has been fixed
- Fixed Bungeecord issue where proxy commands were not shown up in tab-completion
- Fixed minor 1.21.5 - 1.21.8 support issues
- Fixed Folia incompatibility
- Fixed memory issue for Bungeecord networks and their backend servers
- Fixed
%players%placeholder in the Custom-Protocol-Ping feature - Fixed issues regarding proxy group commands
Warning: Please delete your current config.yml. Sorry for that. :/
Fixes:
- Fixed Folia 1.21.1+ support
- Fix error when sometimes no sub-arguments show up
- Fixed group commands bypassing subargs checks
- Fixed custom server brand with repeat-delay
-1on Spigot-only servers - Fixed wrong display of permissions when using
/(b)pat perms <user> - Fixed update issue after changing the storage.yml
Changes:
- Added option to disable "auto-config-updater". (at "updater" section -> config.yml)
- Added option to toggle auto-tab-completion for 'custom-plugins' and 'custom-version' commands
- Added warning to config.yml
- Improved 1.21.4 support
- Improved visual suggestion-filter by removing [args] suggestions, if no further suggestions are allowed.
- Removed
:commands from default command list forcustom-pluginsandcustom-versionfeature
Warning: Please delete your old config.yml to avoid exceptions or problems with some features!
Features:
- Added full support to hide and show specific sub-commands in tab-completion and the command execution.
- Added possibility to customize each "command is blocked" by triggers with unique messages (custom-responses.yml)
Bug fixes:
- Fixed exception in console with <1.13 servers using Handle-Through-Proxy
- Fixed issues with <1.21 servers
- Fixed exception on player-join using Folia
- Improved per-server functionality (goes according to the config file)
Fixed minor issue with Folia servers using the custom-server-brand feature
Plugin-Exploit patch:
- Fixed that sub-arguments were tab-able when using "custom-plugins" feature
Folia support:
- Fixed PacketInjection issues on Folia servers
New feature:
- You can now leave messages completely blank to deactivate their messages entirely. For example:
// Before no-perms: "No permissions!" // After no-perms: ""// Before message: - 'Hello' - 'world!' // After message: [] // Alternative message: - ''Sorry, forgot to enable the actual Folia support xd
Warning: It is not necessarily required but recommended to delete the old config.yml to keep a good overview.
- Add SignedVelocity support (morely fixed an issue with it)
Exploit patches:
- Patched Meteor client 1.21.1 plugin-spoofing exploit
- Patched 1.20+ Tab-Completion crasher
Fix:
- Fixed repeat-deleay -1 for custom f3 brand.
Minor change:
- Add message for following scenaries: (not configurable though)
- Version is newer (unreleased)
- Version is a dev-version

