Skip to content

Instantly share code, notes, and snippets.

@konsolas
Last active June 27, 2020 12:29
Show Gist options
  • Save konsolas/b283c1abcad3fa214d1788769c7c2db1 to your computer and use it in GitHub Desktop.
Save konsolas/b283c1abcad3fa214d1788769c7c2db1 to your computer and use it in GitHub Desktop.
#### AAC Config (Generated by AAC ~VERSION)
#
# Hey there,
# Welcome to AAC's configuration file.
# I've commented the entire thing heavily so every option is easy to understand.
# If you want a simple place to start, feel free to check out the "Common changes" section below.
# Feel free to read through the descriptions of checks and options and change them to suit your server.
# I hope that AAC will perform well and live up to your expectations.
# ~ konsolas
#
# How violations work:
# - When a player fails a check in AAC, it generates a "violation" which describes what went wrong, and what was
# expected.
# - Details about this violation, along with player data, server tps, etc. are saved to a log file in plugins/AAC/logs,
# with a millisecond-precision timestamp.
# - The check then generates a number based on options in this config and the details of what happened. If the
# violation was more severe, the check will generate a bigger number.
# - This number is added onto a player's "violation level", or "VL". A player's VL also decays over time when they
# play without failing checks in AAC. A player has a separate VL for each check.
#
# How mitigation works:
# - Many checks in AAC can not only detect a cheater, but also mitigate their actions.
# - For example, AAC can teleport a flying player down, restore blocks broken too quickly, block attacks which are
# suspicious, and temporarily block bow use, to name a few.
# - Mitigation can be disabled by setting "mitigation.enabled" to false. AAC will continue checking, and will also
# continue performing threshold actions, but the check will stop influencing the player's gameplay.
# - Mitigation can be configured to only start after a certain VL is reached. This is set by the "min_vl" option, and
# is useful to prevent random lag from significantly affecting gameplay.
#
# How decay works:
# - The decay option in every check allows you to decide how fast violations should go down for each check.
# - The "interval" option is the time in ticks between VL reductions.
# - The "delay" option is the time in ticks that AAC waits after a violation before starting to reduce the VL.
# - The "amount" option is the amount that AAC reduces the VL after each interval passes.
#
# How thresholds work:
# - Each check has a section labelled "thresholds". This consists of a list of "threshold actions", each of which is a
# number paired with a command or list of commands.
# - When a player's VL (see above) for a check goes above the number, or "threshold" for a threshold action, the
# threshold action is triggered and the command is executed.
# - The command won't be executed again until the player's VL decays below that number, and then rises above it again.
# - If there are multiple commands in the same threshold action, they are all executed in the order they appear.
#
# Common changes:
# - Changing messages:
# -> All messages sent by AAC are part of a threshold action (see above) tied to an "aac notify" command.
# -> You can localise these messages by changing the relevant command.
# - Reducing teleports or setbacks:
# -> Move and Timer are the main checks which set back for movement.
# -> Change move.mitigation.min_vl or timer.mitigation.min_vl to a higher value, or increase the decay.
# -> By default, Move employs "strict" and "direction" checking.
# -> "strict" checking permits AAC to check if players move too slowly.
# -> "direction" checking permits AAC to compare a movement with the direction the player is facing.
# -> These can be disabled for specific scenarios, e.g. only on elytras, or only in water.
# -> Timer can be affected by severe network lag.
# -> You can increase timer.max_extra, but cheaters will be able to fake lag (e.g. with Blink) for longer.
# - Improving hit detection:
# -> Hitbox sometimes cancels hits if a player is laggy.
# -> You can increase hitbox.max_reach to reduce reach violations for laggy players.
# -> You can increase hitbox.mitigation.min_vl so players are less likely to have their hits cancelled.
# -> You can also disable mitigation for Killaura and Hitbox to stop AAC from blocking hits entirely.
# - Changing kicks:
# -> Kicks are caused by a threshold action tied to a /kick command.
# -> You can remove the threshold action with a /kick command for a check to disable kicking.
# -> You can increase the threshold for the threshold action to make kicking more lenient.
# -> You can reduce the threshold for the threshold action to make kicking more strict.
# - Other:
# -> Look in the logs for a timestamp that matches a problem that you've experienced.
# -> Find out which check was failed.
# -> Locate that check in this config file.
# -> Look for a relevant option, and change it as described by the comment.
# -> If you can't solve the issue, please check out the issue tracker or discord server for support.
#
# The "Move" check:
# - As of AAC 4, Fly, Speed, Elytra and Vehicles have all been merged together into Move.
# - Detection is performed by comparing a player's movement with simulations of a legitimate client's movement:
# -> Move is able to detect some cheats which don't appear movement related at first:
# -> Many killauras will fail Move if "direction" and "strict" are turned on, as a result of silent aim.
# -> Velocity reduction cheats may fail move. (the Velocity check will still detect 0 velocity)
# -> Move uses a robust setback system which aims to correct movement rather than block it entirely.
#
# The configurable commands will replace %aac_player%, %aac_ping%, %aac_tps% and %aac_world% with their in-game values.
# If PlaceholderAPI is installed, you will additionally have access to every placeholder that it has registered.
# You can run multiple commands on a single threshold by creating 2 (or more) entries with the same key:
# thresholds:
# 10:
# - "broadcast %aac_player% was kicked for cheating"
# - "kick %aac_player% cheating"
#
# The configuration file follows:
# Criticals stops players from performing critical hits whilst on the ground
criticals:
enabled: true
# Should AAC detect clients that perform minijumps to get critical hits?
check_minijump: true
# Control how the violation level decays over time
decay:
interval: 100
delay: 100
amount: 1
# Control how AAC mitigates a cheater's actions
mitigation:
enabled: true
min_vl: 1
# Control actions taken upon reaching certain violation levels
thresholds:
2: "aac notify %aac_player% getting impossible critical hits (%aac_ping%ms, %aac_tps%TPS)"
5:
- "aac notify %aac_player% was kicked for getting impossible critical hits (%aac_ping%ms, %aac_tps%TPS)"
- "aac banvl 1 %aac_player% Kicked for Criticals"
- "kick %aac_player% Illegal client modifications"
# FastBow stops players from shooting arrows too quickly
fastbow:
enabled: true
# How lenient should AAC be when measuring bow drawback times? (milliseconds)
lenience: 200
# Control how the violation level decays over time
decay:
interval: 100
delay: 100
amount: 1
# Control how AAC mitigates a cheater's actions
mitigation:
enabled: true
min_vl: 5
# Control actions taken upon reaching certain violation levels
thresholds:
3: "aac notify %aac_player% shooting arrows too quickly (%aac_ping%ms, %aac_tps%TPS)"
10:
- "aac notify %aac_player% was kicked for shooting arrows too quickly (%aac_ping%ms, %aac_tps%TPS)"
- "aac banvl 1 %aac_player% Kicked for FastBow"
- "kick %aac_player% Illegal client modifications"
# FastUse stops players from consuming items too quickly
fastuse:
enabled: true
# How long should AAC require item consumption to take? (milliseconds)
min_consumption_time: 1200
# Control how the violation level decays over time
decay:
interval: 100
delay: 100
amount: 1
# Control how AAC mitigates a cheater's actions
mitigation:
enabled: true
min_vl: 5
# Control actions taken upon reaching certain violation levels
thresholds:
3: "aac notify %aac_player% consuming items too quickly (%aac_ping%ms, %aac_tps%TPS)"
10:
- "aac notify %aac_player% was kicked for consuming items too quickly (%aac_ping%ms, %aac_tps%TPS)"
- "aac banvl 1 %aac_player% Kicked for FastUse"
- "kick %aac_player% Illegal client modifications"
# FightSpeed stops players from attacking too quickly
fightspeed:
enabled: true
# How many hits per second should AAC limit players to?
max_hit: 15
# How many swings per second should AAC limit players to?
max_swing: 40
# Control how the violation level decays over time
decay:
interval: 50
delay: 100
amount: 1
# FightSpeed does not support mitigation
# Control actions taken upon reaching certain violation levels
thresholds:
15: "aac notify %aac_player% attacking too quickly (%aac_ping%ms, %aac_tps%TPS)"
30:
- "aac notify %aac_player% was kicked for attacking too quickly (%aac_ping%ms, %aac_tps%TPS)"
- "aac banvl 1 %aac_player% Kicked for FightSpeed"
- "kick %aac_player% Illegal client modifications"
# Hitbox forces players to look at entities that they want to attack
hitbox:
enabled: true
# How much more lenient should AAC be when a player is attacking a mob? (blocks)
mob_lenience: 0.65
# How many ticks of network latency should AAC compensate for?
buffer_size: 12
# How lenient should AAC be when checking players
lenience: 0.1
# What should AAC limit a player's attack reach to? (blocks)
max_reach: 3.0
# Should AAC check if a player is attacking through a wall?
check_walls: true
# Control how the violation level decays over time
decay:
interval: 50
delay: 20
amount: 1
# Control how AAC mitigates a cheater's actions
mitigation:
enabled: true
min_vl: 10
# Control actions taken upon reaching certain violation levels
thresholds:
10: "aac notify %aac_player% attacking out of their line of sight (%aac_ping%ms, %aac_tps%TPS)"
25:
- "aac notify %aac_player% was kicked for attacking out of their line of sight (%aac_ping%ms, %aac_tps%TPS)"
- "aac banvl 1 %aac_player% Kicked for Hitbox"
- "kick %aac_player% Illegal client modifications"
# Killaura detects modifications that create an unfair advantage in combat
killaura:
enabled: true
# AAC has a few different methods of detecting Killaura.
# How much should the violation level be increased for each of these methods?
# The module which caused the detection can be seen in verbose and also in logs.
# Ax modules detect aimbot/aimassist, Bx modules detect killaura, Cx modules detect autoclickers.
modules:
A1: 10
A2: 10
A3: 10
A4: 10
A5: 10
A6: 45
B1: 10
B2: 0
B3: 10
B4: 10
B5: 10
B6: 6
B7: 10
C1: 5
C2: 5
C3: 5
C4: 5
C5: 5
D1: 10
# Control how the violation level decays over time
decay:
interval: 5
delay: 10
amount: 1
# Control how AAC mitigates a cheater's actions
mitigation:
enabled: true
min_vl: 100
# Control actions taken upon reaching certain violation levels
thresholds:
50: "aac notify %aac_player% is exhibiting suspicious combat patterns (%aac_ping%ms, %aac_tps%TPS)"
100: "aac notify %aac_player% is exhibiting very suspicious combat patterns (%aac_ping%ms, %aac_tps%TPS)"
150:
- "aac notify %aac_player% was kicked for suspicious combat patterns (%aac_ping%ms, %aac_tps%TPS)"
- "aac banvl 1 %aac_player% Kicked for Killaura"
- "kick %aac_player% Illegal client modifications"
# Regen stops players from regenerating health too quickly
regen:
enabled: true
# What delay should AAC enforce between regeneration attempts? (milliseconds)
min_regen_delay: 3600
# Players can regenerate faster on MC 1.9+ if they are fully satiated.
# What delay should AAC enforce if this is the case? (milliseconds)
min_satiated_delay: 450
# Control how the violation level decays over time
decay:
interval: 20
delay: 100
amount: 1
# Control how AAC mitigates a cheater's actions
mitigation:
enabled: true
min_vl: 1
# Control actions taken upon reaching certain violation levels
thresholds:
2: "aac notify %aac_player% is regenerating health too quickly (%aac_ping%ms, %aac_tps%TPS)"
# Derp detects illegal rotations sent by players
derp:
enabled: true
# Control how the violation level decays over time
decay:
interval: 20
delay: 20
amount: 1
# Derp does not support mitigation
# Control actions taken upon reaching certain violation levels
thresholds:
1:
- "aac notify %aac_player% was kicked for impossible head rotations (%aac_ping%ms, %aac_tps%TPS)"
- "aac banvl 1 %aac_player% Kicked for Derp"
- "kick %aac_player% Illegal client modifications"
# Move controls player movement
move:
enabled: true
# Should AAC check players asynchronously? This option reduces load on the main server thread by around 40%
async: false
# What's the maximum amount that a single violation should be able to add to a player's VL?
# VL added is proportional to the (distance between the expected and actual movement)^2
# This value must be greater than min_vl, or you will allow 10-block teleports
max_vl_increment: 500
# How many simulations should AAC carry forward from the previous movement? (maximum)
# This limit exists to limit the performance impact of the move check.
simulation_limit: 3
# Control how AAC checks movements in general.
normal:
# How lenient should AAC be when checking?
tolerance: 0.001
# How lenient should AAC be when a player (on a 1.9+ client) is being pushed by another entity?
bumping: 0.1
# How much should a move violation of this type contribute to a player's overall VL?
weight: 1.0
# Control how AAC checks movements in water.
water:
# How lenient should AAC be when checking?
tolerance: 0.001
# How fast should players be able to move with riptide?
riptide_speed: 4.2
# How much should AAC allow flowing water to accelerate a player?
flowing: 0.1
# How much should AAC allow bubble columns to accelerate a player?
bubble_column: 1.8
# How lenient should AAC be when a player is around boats
boat: 0.6
# How much should a move violation of this type contribute to a player's overall VL?
weight: 1.0
# Control how AAC checks movements while using the elytra.
elytra:
# How lenient should AAC be when checking?
tolerance: 0.001
# How quickly should players be able to travel when rocket boosting with an elytra?
rocket_speed: 2.0
# How much should a move violation of this type contribute to a player's overall VL?
weight: 0.6
# Control how AAC checks movements when on a vehicle
vehicle:
# How lenient should AAC be when checking?
tolerance: 0.001
# How much should a move violation of this type contribute to a player's overall VL?
weight: 0.2
# Control how AAC checks skipped movements.
skipped:
# How lenient should AAC be when checking?
tolerance: 0.03
# How long must a movement be for AAC to use timer checking?
min_length: 0.1
# Control how AAC checks movement when velocity is applied
velocity:
# Should AAC check for anti-velocity (Move will still check for velocity reduction with this turned off)
# Players which don't move at all will not be checked, as this is indistinguishable from lag
enabled: true
# How long should AAC wait for a player to send the correct velocity? (ticks)
wait_ticks: 12
# Should AAC check players who remain entirely stationary?
check_stationary: true
# How much should AAC add to a player's VL if they ignore velocity?
vl_increment: 100
# Control how the violation level decays over time
decay:
interval: 1
delay: 20
amount: 1
# Control how AAC mitigates a cheater's actions
mitigation:
enabled: true
min_vl: 250
# Control actions taken upon reaching certain violation levels
thresholds:
500: "aac notify %aac_player% appears to be moving incorrectly (%aac_ping%ms, %aac_tps%TPS)"
20000:
- "aac notify %aac_player% kicked for invalid movement (%aac_ping%ms, %aac_tps%TPS)"
- "aac banvl 0 %aac_player% Kicked for Move" # Default config does not increase banVL if a player is kicked for Move.
- "kick %aac_player% Illegal client modifications"
# NoFall stops players from avoiding fall damage
nofall:
enabled: true
# Control how the violation level decays over time
decay:
interval: 25
delay: 50
amount: 1
# Control how AAC mitigates a cheater's actions
mitigation:
enabled: true
min_vl: 0
# Control actions taken upon reaching certain violation levels
thresholds:
10: "aac notify %aac_player% might be trying to avoid fall damage (%aac_ping%ms, %aac_tps%TPS)"
50:
- "aac notify %aac_player% kicked for avoiding fall damage (%aac_ping%ms, %aac_tps%TPS)"
- "aac banvl 1 %aac_player% Kicked for NoFall"
- "kick %aac_player% Illegal client modifications"
# Phase stops players from moving through solid walls
phase:
enabled: true
# Which blocks should AAC treat as air? This can be used to allow cross-version compatibility.
exclude:
# Incorrect hitboxes on 1.8 servers
- "ANVIL"
- "CHEST"
- "ENDER_CHEST"
- "TRAPPED_CHEST"
- "SOIL"
# Entity hitboxes
- "AIR"
- "STATIONARY_WATER"
- "WATER"
- "STATIONARY_LAVA"
- "LAVA"
# Protocol hack hitboxes
- "IRON_FENCE"
- "WATER_LILY"
- "LILY_PAD"
- "GRASS_PATH"
# Moving pistons
- "PISTON_MOVING_PIECE"
# How lenient should AAC be when checking?
tolerance: 0.0000001
# Control how the violation level decays over time
decay:
interval: 10
delay: 20
amount: 1
# Control how AAC mitigates a cheater's actions
mitigation:
enabled: true
min_vl: 0
# Control actions taken upon reaching certain violation levels
thresholds:
50: "aac notify %aac_player% might be trying to phase through walls (%aac_ping%ms, %aac_tps%TPS)"
# Timer stops players from performing actions too quickly by speeding up time
timer:
enabled: true
# How much lag should AAC compensate for when checking? (ticks)
min_balance: -20
# How many extra packets should AAC limit a player to?
max_extra: 10
# Control how the violation level decays over time
decay:
interval: 20
delay: 20
amount: 1
# Control how AAC mitigates a cheater's actions
mitigation:
enabled: true
min_vl: 5
# Control actions taken upon reaching certain violation levels
thresholds:
100: "aac notify %aac_player% is trying to speed up time (%aac_ping%ms, %aac_tps%TPS)"
# BadPackets checks for invalid packets
badpackets:
enabled: true
# Should AAC check for player ability packets
check_abilities: true
# How many times should a player be allowed to toggle use item in one second?
max_use_toggle: 15
# How many times should a player be allowed to toggle sneak in one second?
max_sneak_toggle: 10
# Control how the violation level decays over time
decay:
interval: 20
delay: 20
amount: 1
# BadPackets does not support mitigation
# Control actions taken upon reaching certain violation levels
thresholds:
50: "aac notify %aac_player% is sending invalid packets (%aac_ping%ms, %aac_tps%TPS)"
100:
- "aac notify %aac_player% was kicked for sending invalid packets (%aac_ping%ms, %aac_tps%TPS)"
- "aac banvl 1 %aac_player% Kicked for BadPackets"
- "kick %aac_player% Illegal client modifications"
# FastBreak stops players from breaking blocks too quickly
fastbreak:
enabled: true
# Should AAC check for a delay between successive block break attempts?
check_delay: true
# How lenient should AAC be when checking? (ticks)
tolerance: 2
# Control how the violation level decays over time
decay:
interval: 20
delay: 20
amount: 1
# Control how AAC mitigates a cheater's actions
mitigation:
enabled: true
min_vl: 5
# Control actions taken upon reaching certain violation levels
thresholds:
5: "aac notify %aac_player% is breaking blocks too quickly (%aac_ping%ms, %aac_tps%TPS)"
20:
- "aac notify %aac_player% was kicked for breaking blocks too quickly (%aac_ping%ms, %aac_tps%TPS)"
- "aac banvl 1 %aac_player% Kicked for FastBreak"
- "kick %aac_player% Illegal client modifications"
# FastPlace stops players from placing blocks too quickly
fastplace:
enabled: true
# What delay should AAC enforce between block placements? (ms)
min_delay: 100
# Control how the violation level decays over time
decay:
interval: 20
delay: 20
amount: 1
# Control how AAC mitigates a cheater's actions
mitigation:
enabled: true
min_vl: 5
# Control actions taken upon reaching certain violation levels
thresholds:
5: "aac notify %aac_player% is placing blocks too quickly (%aac_ping%ms, %aac_tps%TPS)"
20:
- "aac notify %aac_player% was kicked for placing blocks too quickly (%aac_ping%ms, %aac_tps%TPS)"
- "aac banvl 1 %aac_player% Kicked for FastPlace"
- "kick %aac_player% Illegal client modifications"
# Interact detects a number of impossible actions that a hacked client could perform.
interact:
enabled: true
# Interaction module weights
module:
dead: 10
liquids: 10
item_attack: 10
block_break: 6
block_place: 2
open_chest: 0
spawn_egg: 6
redstone: 3 # doors, levers, fences, repeaters, etc.
# Maximum difference (degrees) between the player's direction and the direction to the block for an interaction
# to be accepted.
max_angle_diff: 90
# Control how the violation level decays over time
decay:
interval: 20
delay: 20
amount: 1
# Control how AAC mitigates a cheater's actions
mitigation:
enabled: true
min_vl: 5
# Control actions taken upon reaching certain violation levels
thresholds:
10: "aac notify %aac_player% is interacting suspiciously"
# How much should AAC slow players down after they are detected?
# Values closer to 0 slow down movement cheats more but also reduce the effectiveness of the velocity check.
# Negative values will send movement cheats in the opposite direction, but will render the velocity check unusable.
move_vl_slowdown: 0.8
# How far should AAC move players when they are teleported to prevent them from clipping into a block?
max_clip_adjust: 0.1
# Should AAC remove blocks placed when a player is being teleported by movement checks?
revert_blocks: true
# How long should AAC remember piston extensions for the purposes of movement checking? (ms)
piston_wait_time: 600
# Should AAC use a log file?
log_file: true
compress_old_log_files: true
# Should AAC log events to the console?
log_console: false
# AAC can enforce a minimum delay for players before they are allowed rejoin your server after leaving (ms)
relog_protection: 0
relog_message: "Please wait before rejoining the server"
# AAC implements a basic form of staff chat. You can enable it by setting a prefix, such as "@", here.
staff_chat_prefix: ""
staff_chat_format: "&7[&6AAC&7] &2[{sender}] &r" # & used for colour codes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment