AAC - Advanced Anti-Cheat
Advanced Anti Cheat (AAC) has become inactive on spigotmc.org and is no longer available to purchase. It is not recommended to use AAC in your servers and it has not been updated for the latest versions of Minecraft (last update was for 1.17.1).
It is recomended to use an alternative solution such as Vulcan.
The following information is for archival purposes only.
What does the plugin do?
AAC protects your server from gamebreaking hacks and unfair advantages such as:
- Aimbot/aura (attacks players/entities for you, huge combat advantage)
- Reach (increases reach of hacker beyond fair vanilla reach of 3 blocks)
- Fly (allows players to fly in survival, potentially at speed that will crash your server)
- Other unfair advantages that harm your legitamate playerbase
Advanced Anti-Cheat is very user configurable, and as a result of this, is highly sensitive. Using the default configuration may result in false positives
Install AAC by dragging it into your plugin folder, and restart your server.
Edit the config YAML to configure your commands to execute at a specific violation level.
It's best practice to have a test server (even a local one if getting a hosted one isn't an option) to test your anti-cheat configuration before deploying
Here is an example snippet of AAC's config:
# move.vl represents an estimate of the total extra distance a player has travelled by cheating
So what do all the numbers mean?
A "check" in an anticheat is a part of the plugin that analyzes if the player is cheating or not. In AAC, each seperate check category in the config.yml can be individually configured, the above "move" subcategory being an example.
enabled:determines whether or not the check will be enabled or not
mitigate:determines whether or not AAC will "setback" or cancel illegal actions, such as flying at high speeds
threshold:is a coefficient that will determine how strong AAC will attempt to cancel/mitigate illegal actions
max:also affects the mitigation threshold
decay:determines how fast violations for a player will decay
The thresholds section is pretty simple, it just determines what commands should be run when a player/potential-hacker reaches a certain violation level (VL)
- See Conditional Commands for info on reducing lag related kicks/bans
There's a false positive, what do I do?
AAC's configurability means that false positives are easily fixed. There are two types of false positives:
- Plugin related false positives: report to AAC Github Issue Tracker so the developer can fix it
- Configuration related false positives: false positives that you can fix
Fixing config related false positives:
- First, collect some information on the false positive, like what might cause it and some verbose data
- To collect verbose data,
do /aac debug <player>and reproduce the false positive, or look in your console and copy the output into a paste service like pastebin
- To collect verbose data,
- The data will show what part of the check is causing the false positive, you can specifically focus on that part in AAC's config.yml, go to the config
- Check your config values, perhaps add more leniency? Perhaps increase the violation level decay? Perhaps use conditional commands?
- If the above three don't work, there are always people in Bloom.host's discord willing to help you out!
Configuring Advanced Anti-Cheat will be time consuming, there are premade configurations available:
Advanced Anti-Cheat is very user configurable, and as a result of this, is highly sensitive. Using the default configuration may result in false positives and is not recommended to be deployed in a production environment! Read the Spigot page overview for AAC before purchasing.