Tested Minecraft Versions:
AAC is a powerful anti-cheat plugin for Minecraft servers. You can evaluate its capabilities at the official test server:
test.kons.co
It features 7 broad checks which collectively cover a wide variety of cheat modules.
AAC does not check players that are flying, in creative or spectator mode, or that are connected via GeyserMC.
Why AAC
AAC is fast
AAC has phenomenal performance. On this server with 140-150 players, AAC uses less than 4% of the tick, and less than 2ms in total, equivalent to less than 0.03%/tick per player.
AAC is asynchronous by design, performing the majority of its work at the packet level rather than on the main server thread. It has undergone extensive internal optimisation and is incredibly lightweight as a result. It achieves its performance despite still analysing every single movement, interaction and attack that occurs on your server.
AAC is easy to use
AAC does away with cryptic check names, abbreviations and incomprehensible numbers. Instead, we have the AAC Player Analysis.
Spammy violation messages are replaced by a clear explanation of what AAC knows about a given player which requires no specialist knowledge to understand. The detail is still available for those who want it, and can be seen in /aac debug or by hovering over entries in a player analysis.
AAC works out of the box, with a lenient default config that's designed for maximum stability. Alerts are short and unintrusive, and you can ask to be shown fewer alerts, or turn them off entirely and allow AAC to automatically handle cheating players.
AAC is automated
Many of AAC's checks can automatically prevent cheaters from impacting your server - this is called mitigation. For example:
AAC can also execute commands when it is more certain that a player is cheating. These are called actions and are completely configurable. You can combine any set of features into a threshold group, and configure arbitrary commands to execute when their combined score reaches a certain value. By default, AAC's threshold groups:
AAC is intelligent
AAC takes many factors into account when analysing each player. It knows that new players are more likely to cheat than established players, and that a frequently changing remote address can indicate a compromised account. It automatically excludes Bedrock players connected through GeyserMC from checking, and understands differences between Minecraft client versions connected through ViaVersion or ProtocolSupport. Player analyses are generated by aggregating data from all of AAC's features and provide a realistic summary of their likelihood of cheating.
Compatibility
AAC is designed to be broadly compatible. However, AAC may be incompatible with any plugins that might interfere with packet/event listeners or make players appear as if they are cheating. For example:
AAC is tested on Spigot and Paper. Other forks may be compatible, though we cannot test or guarantee this. In particular, any server forks that change NMS mappings, bounding boxes or packet handling may be incompatible.
AAC is tested and known to be compatible with:
- 1.8
- 1.9
- 1.10
- 1.11
- 1.12
- 1.13
- 1.14
- 1.15
- 1.16
- For feature requests, errors, bugs and bypasses, use the Issue Tracker
- For simple questions about AAC, ask in the resource discussion
- For general discussion and support, join our Discord server
AAC is a powerful anti-cheat plugin for Minecraft servers. You can evaluate its capabilities at the official test server:
test.kons.co
It features 7 broad checks which collectively cover a wide variety of cheat modules.
- Delays mitigates cheats that attempt to speed up actions that normally take a certain amount of time. It covers modules such as FastBreak, Regen, FastBow, FastEat, and similar. Statistical methods are used to ensure the check is robust and accurate during periods of server and network lag.
- Move covers many forms of movement cheats, including flight, speed, step, phase, timer, etc. The move check adapts to a wide variety of different situations, blocks, potion effects, attribute modifiers (1.9+), liquids and more. It accounts for subtle differences in movement between client versions using the ViaVersion API, and accurately checks players flying with an elytra or riding horses.
- Aimbot, Autoclicker and Hitbox collectively detect many different combat cheats, such as killauras, aimassists, and reach or hitbox cheats. These checks have been rigorously tested, feature built-in lag compensation and are equally accurate in PvP and PvE scenarios.
- Interact detects and prevents players from interacting with blocks that they cannot see. For example, it can stop players from breaking blocks behind walls, 'expand' scaffold cheats, and placing blocks outside of their line of sight.
- Misc looks for various subtle indicators that a player is cheating, such as invalid rotations or specific packets that are often accidentally sent by hacked clients.
AAC does not check players that are flying, in creative or spectator mode, or that are connected via GeyserMC.
Why AAC
AAC is fast
AAC has phenomenal performance. On this server with 140-150 players, AAC uses less than 4% of the tick, and less than 2ms in total, equivalent to less than 0.03%/tick per player.
AAC is asynchronous by design, performing the majority of its work at the packet level rather than on the main server thread. It has undergone extensive internal optimisation and is incredibly lightweight as a result. It achieves its performance despite still analysing every single movement, interaction and attack that occurs on your server.
AAC is easy to use
AAC does away with cryptic check names, abbreviations and incomprehensible numbers. Instead, we have the AAC Player Analysis.
Spammy violation messages are replaced by a clear explanation of what AAC knows about a given player which requires no specialist knowledge to understand. The detail is still available for those who want it, and can be seen in /aac debug or by hovering over entries in a player analysis.
AAC works out of the box, with a lenient default config that's designed for maximum stability. Alerts are short and unintrusive, and you can ask to be shown fewer alerts, or turn them off entirely and allow AAC to automatically handle cheating players.
AAC is automated
Many of AAC's checks can automatically prevent cheaters from impacting your server - this is called mitigation. For example:
- The move check can teleport players down if they try to fly
- The delays check can replace blocks that were broken too quickly
- The hitbox check can block attacks that are out of range
- etc.
AAC can also execute commands when it is more certain that a player is cheating. These are called actions and are completely configurable. You can combine any set of features into a threshold group, and configure arbitrary commands to execute when their combined score reaches a certain value. By default, AAC's threshold groups:
- Print the player analysis in the console for future reference
- Reset the player analysis so the threshold action is not executed again when the player rejoins
- Kick the player with a default kick message
AAC is intelligent
AAC takes many factors into account when analysing each player. It knows that new players are more likely to cheat than established players, and that a frequently changing remote address can indicate a compromised account. It automatically excludes Bedrock players connected through GeyserMC from checking, and understands differences between Minecraft client versions connected through ViaVersion or ProtocolSupport. Player analyses are generated by aggregating data from all of AAC's features and provide a realistic summary of their likelihood of cheating.
Compatibility
AAC is designed to be broadly compatible. However, AAC may be incompatible with any plugins that might interfere with packet/event listeners or make players appear as if they are cheating. For example:
- Plugins that speed up block breaking, or that break blocks on behalf of a player
- Plugins that continuously apply velocity to give the effect of flight
- Only on 1.8.x servers Attribute Modifiers applied to items or armour
- Non-vanilla enchantments or potion effects
- PerWorldPlugins
- Other anti-cheat plugins
AAC is tested on Spigot and Paper. Other forks may be compatible, though we cannot test or guarantee this. In particular, any server forks that change NMS mappings, bounding boxes or packet handling may be incompatible.
AAC is tested and known to be compatible with:
- mcMMO
- ViaVersion, ViaBackwards, ViaRewind, ViaRewind-Legacy-Support (installed on backend servers, not bungeecord)
- GeyserMC (requires Floodgate on backend servers - Setup Instructions)
- OldCombatMechanics
- ProtocolSupport (though most testing is done on Via*)
- Make sure any Bukkit events that you fire are subclasses of the actual event (e.g. fire FakeBlockBreakEvent instead of BlockBreakEvent)
- Make sure you don't modify or send packets on behalf of a player
- As a last resort, hook into AAC's API and call addExemption and removeExemption as necessary.