Last active
July 2, 2021 14:35
-
-
Save konsolas/1ed816ed91996eab7262d95386c1bfa0 to your computer and use it in GitHub Desktop.
AAC5 configuration file
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## AAC Configuration File (Generated by AAC ~VERSION) | |
# | |
# How AAC works: | |
# AAC's detection pipeline has three main stages: checks, database, and analysis | |
# - Checks analyse player behaviour and record any interesting data available. | |
# Some checks are additionally able to block cheats from being used. This is called mitigation. | |
# - The database stores a record of aggregate information generated by all enabled checks for every player. | |
# Old entries are automatically cleared when the server restarts. | |
# - AAC periodically analyses each player's database entries, generating an overall risk score and a report. | |
# If the generated risk score is greater than a configured threshold (see `yellow_score`, `red_score`), an alert | |
# is shown. The detailed report can be viewed by clicking the alert, or by running /aac status <player>. | |
# | |
# AAC takes many factors into account when generating its reports. These can be viewed, weighted, or disabled in | |
# the `features` section of this file. Metadata about each feature can be viewed by hovering over the output in | |
# /aac status <player>. | |
# | |
# You can ask AAC to immediately generate a report for any player with /aac check <player>, and you can clear all | |
# stored data for a player with /aac reset <player>. A list of all online players can be seen with /aac status. | |
# Any colour coded player name sent in chat by AAC can be clicked for a detailed report. | |
# | |
# Silent mode: | |
# Normally, AAC prevents certain cheats from working on your server, such as fly and nofall. If you do not want | |
# AAC to block cheats at all, you can set the `mitigate` option in every check to `false`. In addition, if you do | |
# not want to block nofall, you can set the `block_nofall` option to `false` in the move check. | |
# | |
# You will still receive alerts from checks with mitigation disabled. If you want to disable a check entirely, you | |
# can set the `enabled` option to false. | |
# | |
# If you want to exempt any particular player from AAC entirely, you can use the /aac exempt <player> command. | |
# This command persists through reboots and even between servers, if they are connected to the same database. | |
# | |
# Localisation: | |
# By default, AAC never sends any messages to players. AAC's alerts include only the offending player's name and | |
# hence do not need to be localised either. However, you may wish to translate the output of /aac status <player> | |
# to make it easier for moderators to understand. | |
# The text used for these is available in the `features` section of this configuration file. | |
# | |
# In this configuration file, all length units are blocks and all time units are seconds | |
# If MySQL is not enabled, AAC will use an SQLite database at sqlite_target | |
sqlite_target: "plugins/AAC5/database.db" | |
# Alternatively, enable MySQL support here. AAC uses the table prefix "aac_" | |
mysql: | |
enabled: false | |
host: "localhost" | |
port: 3306 | |
database: "aac" # You may wish to use "dbname?useSSL=false" for local MySQL databases. | |
username: "" | |
password: "" | |
# AAC supports cross server alerts through BungeeCord. | |
# AAC must be installed on every server on the network, and all instances must be connected to the same database. | |
# Do NOT enable this option if you are not using BungeeCord, or detections will be sent directly to players. | |
bungeecord: false | |
# Configure the different checks in AAC - modular components that try to detect certain categories of cheating | |
checks: | |
# The delays check detects players that perform various actions faster than is normally possible | |
delays: | |
enabled: true | |
# delays.vl represents an estimate of the total time advantage that a player has gained by cheating | |
vl: | |
mitigate: true | |
threshold: 1.0 | |
max: 1.0 | |
decay: 0.01 | |
# Enable or disable delays checking for the following situations | |
fast_break: true | |
fast_place: true | |
fast_use: true | |
fast_bow: true | |
regen: true | |
fast_sneak: true | |
fast_release: true | |
break_delay: true | |
# The move check detects a wide range of modifications relating to movement, including timer, nofall and velocity. | |
move: | |
enabled: true | |
# move.vl represents an estimate of the total extra distance a player has travelled by cheating | |
vl: | |
mitigate: true | |
threshold: 1.0 | |
max: 1.0 | |
decay: 0.01 | |
# move.timer represents an estimate of the total time advantage a player has gained by cheating | |
timer: | |
mitigate: true | |
threshold: 1.0 | |
max: 1.0 | |
decay: 0.01 | |
# Phasing causes a player's vl to be increased more than normal violations | |
# This should be set to a value >= vl.threshold to always block phase attempts | |
phase_vl: 1.0 | |
# AAC can transparently block nofall by replacing ground calculations from the client with its own calculations | |
block_nofall: true | |
# AAC will wait at most this long for a player to respond to velocity sent by the server | |
max_vel_time: 1.0 | |
# This is how long AAC will remember piston extensions for | |
piston_wait_time: 1.0 | |
# Enable/disable checking for noslowdown (sneak). Minor performance penalty if disabled | |
check_sneak: true | |
# Enable/disable checking for noslowdown (item use). Minor performance penalty if disabled | |
check_item_use: true | |
# Enable/disable movement checking for players with allow flight enabled. | |
check_flying: false | |
# These are thresholds that AAC uses in special cases where precise checking isn't possible | |
flowing_speed: 0.2 | |
bubble_column_speed: 1.8 | |
bumping_speed: 0.1 | |
elytra_rocket_speed: 2.0 | |
riptide_speed: 4.2 | |
boat_hitbox_tolerance: 0.8 | |
shulker_hitbox_tolerance: 0.6 | |
elytra_landing_tolerance: 0.5 | |
# The aimbot check detects aim modifications used to gain an advantage in combat, including aimassists and killauras. | |
aimbot: | |
enabled: true | |
check_sensitivity: true | |
check_mouse_delta: true | |
check_head_snap: true | |
check_pitch_spread: true | |
check_zero_point: true | |
# The autoclicker check detects abnormal or irregular attack patterns characteristic of autoclickers and killauras. | |
autoclicker: | |
enabled: true | |
check_tick_delay: true | |
check_noswing: true | |
check_timing: true | |
sample_size: 20 | |
# The hitbox check verifies that players look at the entities they hit, and that those entities are in range. | |
hitbox: | |
enabled: true | |
# hitbox.vl represents an estimate of the total extra distance a player has reached by cheating | |
vl: | |
mitigate: true | |
threshold: 0.5 | |
max: 1.0 | |
decay: 0.01 | |
lag_compensation_ticks: 20 | |
hit_queue_size: 4 | |
check_blocks: true | |
# The interact check looks for players performing impossible or abnormal interactions with the world. | |
interact: | |
enabled: true | |
# AAC will accept interactions as long as the player is aiming close to their target block | |
# This is the max angle that AAC will accept (in radians) | |
max_angle_diff: 1.0 | |
# AAC will not check interactions with these materials | |
exempt: [] | |
# interact.vl increases by 1 for each invalid interaction that is detected | |
vl: | |
mitigate: true | |
threshold: 1.0 | |
max: 1.0 | |
decay: 0.01 | |
# The misc check looks for certain accurate indicators of cheating | |
misc: | |
enabled: true | |
invalid_pitch: true | |
player_abilities: true | |
rotation_rate: true | |
# Using the features above, AAC will periodically analyse players on the server and generate a risk score. | |
# Analysis results can be accessed for all players at once with '/aac status', or detailed reports can be generated | |
# for individual players with /aac status <player> [players...] | |
analysis: | |
# AAC analyses one player at a time, e.g. if your server has 50 players, they will each be analysed every 50 * period | |
# seconds. You can force AAC to analyse any particular player at any time with /aac check <player> [players...] | |
period: 1.0 | |
# How far back should AAC look when analysing a player? | |
history: 1 | |
history_time_unit: DAYS # https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html | |
# Should AAC automatically clear database entries older than 'history' when the server starts? | |
clear_stale_entries: true | |
# At what score should a player's username be coloured yellow in /aac status? | |
yellow_score: 100 | |
# At what score should a player's username be coloured red in /aac status? | |
red_score: 200 | |
# You can sort checks into your own categories here to automatically execute commands for them. | |
# Multiple features can be matched with * wildcards. The '-' prefix excludes matching patterns from the group. | |
# The command list for the highest entry with a key <= report score is executed in order. | |
# Without PlaceholderAPI, you can use the %player_name% placeholder. | |
# Otherwise, you can additionally use any PlaceholderAPI placeholder that you have installed. | |
actions: | |
global: | |
delay: 10.0 | |
features: | |
- aac_* | |
thresholds: | |
300: | |
- "aac status %player_name%" | |
- "aac reset %player_name%" | |
- "kick %player_name% actions.global" | |
combat: | |
delay: 5.0 | |
features: | |
- aac_aimbot_* | |
- aac_aimassist_* | |
- aac_clk_* | |
- aac_hitbox_* | |
thresholds: | |
200: | |
- "aac status %player_name%" | |
- "aac reset %player_name%" | |
- "kick %player_name% actions.combat" | |
misc: | |
delay: 5.0 | |
features: | |
- aac_misc_* | |
thresholds: | |
100: | |
- "aac status %player_name%" | |
- "aac reset %player_name%" | |
- "kick %player_name% actions.misc" | |
movement: | |
delay: 5.0 | |
features: | |
- aac_move_* | |
- aac_delays_sneak | |
- aac_delays_release | |
- -aac_move_timer | |
thresholds: | |
200: | |
- "aac status %player_name%" | |
- "aac reset %player_name%" | |
- "kick %player_name% actions.movement" | |
interact: | |
delay: 5.0 | |
features: | |
- aac_interact_* | |
thresholds: | |
200: | |
- "aac status %player_name%" | |
- "aac reset %player_name%" | |
- "kick %player_name% actions.interact" | |
delays: | |
delay: 5.0 | |
features: | |
- aac_delays_* | |
thresholds: | |
200: | |
- "aac status %player_name%" | |
- "aac reset %player_name%" | |
- "kick %player_name% actions.delays" | |
# AAC compiles data from all of its checks and uses it to generate a set of weighted features for each player | |
# Each feature accepts certain placeholders. A list of valid placeholders can be found by hovering over each feature's | |
# tooltip. You can set the weight of any feature to 0 to disable it. | |
features: | |
aac_delays_break: | |
weight: 1.0 | |
format: "Blocks are broken by the player faster than is normally possible" | |
aac_delays_place: | |
weight: 1.0 | |
format: "Blocks are placed by the player faster than is normally possible" | |
aac_delays_consume: | |
weight: 1.0 | |
format: "Items are consumed by the player faster than is normally possible" | |
aac_delays_bow: | |
weight: 1.0 | |
format: "The player is drawing their bow faster than is normally possible" | |
aac_delays_regen: | |
weight: 1.0 | |
format: "The player is regenerating health faster than is normally possible" | |
aac_delays_sneak: | |
weight: 1.0 | |
format: "The player is toggling sneak faster than is normally possible" | |
aac_delays_release: | |
weight: 1.0 | |
format: "The player is releasing their held item faster than is normally possible" | |
aac_delays_breakdelay: | |
weight: 1.0 | |
format: "The delay between the player's block break actions is shorter than is normally possible" | |
aac_move_nofall: | |
weight: 1.0 | |
format: "The player is trying to avoid fall damage" | |
aac_move_vel: | |
weight: 1.0 | |
format: "The player ignores velocity sent by the server" | |
aac_move_elytra: | |
weight: 1.0 | |
format: "The player has moved {rate} blocks/min incorrectly with the elytra" | |
aac_move_vehicle: | |
weight: 1.0 | |
format: "The player has frequently moved incorrectly in a vehicle" | |
aac_move_water: | |
weight: 1.0 | |
format: "The player has moved {rate} blocks/min incorrectly in water" | |
aac_move_lava: | |
weight: 1.0 | |
format: "The player has moved {rate} blocks/min incorrectly in lava" | |
aac_move_noslow: | |
weight: 1.0 | |
format: "The player has frequently ignored sneak/item slowdowns" | |
aac_move_generic: | |
weight: 1.0 | |
format: "The player has moved {rate} blocks/min incorrectly" | |
aac_move_timer: | |
weight: 1.0 | |
format: "The player is trying to speed up time" | |
aac_move_inf: | |
weight: 1.0 | |
format: "The player is sending invalid movement packets" | |
aac_aimbot_spread: | |
weight: 1.0 | |
format: "The player's pitch has varied in an unusual way during combat" | |
aac_aimbot_sync: | |
weight: 1.0 | |
format: "The player's horizontal and vertical aiming patterns are out of sync" | |
aac_aimbot_horz: | |
weight: 1.0 | |
format: "The player has exhibited yaw patterns characteristic of aimbot" | |
aac_aimbot_vert: | |
weight: 1.0 | |
format: "The player has exhibited pitch patterns characteristic of aimbot" | |
aac_aimbot_snap: | |
weight: 1.0 | |
format: "The player performs abnormal head snaps during combat" | |
aac_aimbot_zero: | |
weight: 1.0 | |
format: "The player's aiming patterns change when they enter combat" | |
aac_aimassist_horz: | |
weight: 1.0 | |
format: "The player has exhibited yaw patterns characteristic of aimassist" | |
aac_aimassist_vert: | |
weight: 1.0 | |
format: "The player has exhibited pitch patterns characteristic of aimassist" | |
aac_clk_noswing: | |
weight: 1.0 | |
format: "The player doesn't swing their arm while attacking" | |
aac_clk_tick_align: | |
weight: 1.0 | |
format: "The player's arm animations are aligned with tick boundaries" | |
aac_clk_timing: | |
weight: 1.0 | |
format: "The player's attack packet timings are characteristic of killaura" | |
aac_clk_cps: | |
weight: 1.0 | |
format: "The player clicks at an average of {mean} cps during combat" | |
aac_clk_var: | |
weight: 1.0 | |
format: "The player's delay between successive clicks has a variance of {mean}" | |
aac_hitbox_multi: | |
weight: 1.0 | |
format: "The player has attacked extra times in a single tick" | |
aac_hitbox_miss: | |
weight: 1.0 | |
format: "The player attacks entities without looking at them" | |
aac_hitbox_walls: | |
weight: 1.0 | |
format: "The player attacks entities through solid walls" | |
aac_hitbox_reach: | |
weight: 1.0 | |
format: "The player attacks {value} blocks further than normal" | |
aac_interact_generic: | |
weight: 1.0 | |
format: "The player interacts suspiciously with blocks" | |
aac_interact_break: | |
weight: 1.0 | |
format: "The player breaks blocks out of their line of sight" | |
aac_interact_place: | |
weight: 1.0 | |
format: "The player places blocks out of their line of sight" | |
aac_misc_abilities: | |
weight: 1.0 | |
format: "The player has sent invalid player ability packets" | |
aac_misc_pitch: | |
weight: 1.0 | |
format: "The player has sent invalid rotation pitch packets" | |
aac_misc_rotation: | |
weight: 1.0 | |
format: "The player is rotating too quickly" | |
aac_new_user: | |
weight: 1.0 | |
format: "The player recently joined for the first time" | |
aac_new_addr: | |
weight: 1.0 | |
format: "The player recently joined from a new ip address" | |
aac_info_move: | |
weight: 1.0 | |
format: "Insufficient data to analyse the player's movement" | |
aac_info_combat: | |
weight: 1.0 | |
format: "Insufficient data to analyse the player's combat" | |
aac_info_interact: | |
weight: 1.0 | |
format: "Insufficient data to analyse the player's interactions" | |
# AAC will run the following commands from the CONSOLE before teleporting a staff member to a player | |
pre_spectate: | |
# - "aac sudo %player_name% vanish on" # /aac sudo <player> <command> executes <command> as <player> | |
- "gamemode spectator %player_name%" | |
# AAC will run the following commands from the CONSOLE after teleporting a staff member back | |
post_spectate: | |
# - "aac sudo %player_name% vanish off" | |
- "gamemode survival %player_name%" | |
# Can be any valid minecraft colour code, e.g. a corresponds to green | |
aac_prefix_colour: a |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment