<commit_before>configuration_file_version: 1

debug: true

# Default values might be a bit crazy.. They are intended for testing. Change them.

# kick_thresholds field ignores non-numerical characters and only reads three numbers separated, 
#   non-numericals are there only to make configuration file more readable.
#   Use 0 as an amount of seconds when you don't want to kick people.

kick_thresholds:
  - When 101 to 500  players online kick after 150 seconds
  - When 76 to 100  players online kick after 300 seconds
  - When 51 to 75  players online kick after 900 seconds
  - When 1  to 50  players online kick after 7200 seconds
  
bot_detector:
  # Aggressive TPS. Above this but below acceptable, applies a "progressive" relaxation on top of other factors.
  aggressive_TPS: 15
  # Max Relaxation Factor. This value is interpolated to 1 over the acceptable to aggressive TPS range.
  max_relaxation: 1.2
  # Once the TPS get below acceptable_TPS, the BotDetector starts culling potential lag causer.
  acceptable_TPS: 17.5
  # kicking_frequency is how often the bot detector runs in ticks
  kicking_frequency: 1800
  # Whether players get banned for a long time/ until the tick is high again
  enable_bans: false
  # Whether Players get warnings before bans if set to true
  enable_warnings: true
  # Completely disables banning for testing and debugging purposes
  observation_mode: false
  # Whether warnings to players should be given out, even if the tps is good
  always_warn: true
  # How often players should be warned if always_warn is enabled. Value of X here means players are warned every X runs of the BotDetector
  reminder_interval: 10
  # Length of "default" long ban
  ban_length: 5400000
  # Max locations per player to store while measuring movement patterns
  max_locations: 10
  # Max suspects to consider per Detector round
  max_suspects: 10
  # Maximum scan rounds to "ignore" a player who was previously cleared as a lag source
  max_reprieve: 10
  # Number of BotDetector rounds at good TPS before releasing lag offenders
  release_rounds: 30
  # Scan radius in chunks around location, to check for lag causes
  scan_radius: 3
  # Amount of players checked per run
  players_checked_per_run: 8
  # Max players kicked per run
  max_kicked_per_run: 4
  # percentage of online players that need to have been scanned before kicking/warning begins
  action_threshold: 0.8
  # Distance a player needs to move away from a lagsource to not get kicked if he is caught by the system again
  safe_distance: 128
  # The message to send to the player being banned.
  ban_message: §4You have been banned due to causing lag, in spite of a warning to leave the area.
  # The warning message to send to a player found near lag sources, while the tick is low
  warning_message: §4[WARNING] You are in a region with a high concentration of lag sources. Please immediately depart the area (leave render distance) or you will be temporarily banned.
  # The warning message to sent to a player found near a lag source, while the tick is high, if always_warn is enabled
  friendly_warning_message: §4[WARNING] You are in a region with a high concentration of lag sources. We would recommend to remove entities around you, you might get kicked when the tick drops.
  # The number of times to send a warning to a player who repeatedly logs off after a warning, before banning.
  warning_repeat: 3
  # The lenths of bans. As a player is banned more times, the ban length goes up. All is clear on server reset.
  ban_lengths:
    - 150000
    - 300000
    - 900000
    - 1800000
    - 3600000
  # Configure the threshold and individual contribution of bound types
  bounds:
    relaxation_factor: 0.1
    threshold: 2.5
    contained: 1.5
    contained_exclude_y: 1.5
    volume_similar: 1.0
    surface_similar: 1.0
    nearly_contained: 0.75
    nearly_contained_exclude_y: 0.75

lag_scanner:
  # Length of time to cache individual chunk results (in milliseconds)
  cache_timeout: 1800000
  # Summation threshold of entity and tile costs for lag flag
  lag_threshold: 700
  # Multiplier of the lag threshold that needs to be exceeded to be banned right away
  extreme_lag_threshold_multiplier: 4.5
  # Reduction Factor (threshold * unload should be < threshold) that must be exceeded to attempt to force unload chunks
  unload_threshold_factor: 0.10
  # Innocents Threshold. If not prior banned, offer a more "relaxed" threshold. Applied as a multiplier to Threshold.
  innocent_boundary: 1.15
  # Flag indicating if chunk force unloading on kick should be active
  perform_unload: true
  # Whether the lag scanner should keep scanning if it already determined someone is causing lag
  # to get an exact value how much lag the player is causing
  full_scan: true
  # If a chunk's lag count is below this value, it is considered "normal" and not taken into account for the
  # total lag count calculation
  normal_chunk_value: 120
  # Per tickable block cost 
  tick_block:
    PISTON_MOVING_PIECE: 16
    PISTON_EXTENSION: 8
    BANNER: 0
    BEACON: 3
    BREWING_STAND: 1
    MOB_SPAWNER: 5
    DROPPER: 4
    JUKEBOX: 1
    NOTE_BLOCK: 1
    SIGN: 0
    HOPPER: 8
    DISPENSER: 4
    FURNACE: 1
    BURNING_FURNACE: 3
    CHEST: 0
    TRAPPED_CHEST: 0
    ENDER_CHEST: 0
    ACTIVATOR_RAIL: 2
    DETECTOR_RAIL: 1
    DAYLIGHT_DETECTOR: 1
    DAYLIGHT_DETECTOR_INVERTED: 1
    DIODE: 1
    DIODE_BLOCK_OFF: 1
    DIODE_BLOCK_ON: 2
    PISTON_BASE: 8
    PISTON_STICKY_BASE: 8
    POWERED_RAIL: 2
    REDSTONE_COMPARATOR: 1
    REDSTONE_COMPARATOR_OFF: 1
    REDSTONE_COMPARATOR_ON: 2
    REDSTONE_LAMP_OFF: 1
    REDSTONE_LAMP_ON: 2
    REDSTONE_TORCH_OFF: 1
    REDSTONE_TORCH_ON: 2
    WALL_BANNER: 0
    WALL_SIGN: 0
    SIGN_POST: 0
    ITEM_FRAME: 0
  # Per tickable entity cost<commit_msg>Tweak of config, removing unused entries based on testing.<commit_after>configuration_file_version: 1

debug: true

# Default values might be a bit crazy.. They are intended for testing. Change them.

# kick_thresholds field ignores non-numerical characters and only reads three numbers separated, 
#   non-numericals are there only to make configuration file more readable.
#   Use 0 as an amount of seconds when you don't want to kick people.

kick_thresholds:
  - When 101 to 500  players online kick after 150 seconds
  - When 76 to 100  players online kick after 300 seconds
  - When 51 to 75  players online kick after 900 seconds
  - When 1  to 50  players online kick after 7200 seconds
  
bot_detector:
  # Once the TPS get below acceptable_TPS, the BotDetector starts culling potential lag causer.
  acceptable_TPS: 17.5
  # kicking_frequency is how often the bot detector runs in ticks
  kicking_frequency: 1800
  # Whether players get banned for a long time/ until the tick is high again
  enable_bans: true
  # Whether Players get warnings before bans if set to true
  enable_warnings: true
  # Completely disables banning for testing and debugging purposes
  observation_mode: false
  # Whether warnings to players should be given out, even if the tps is good
  always_warn: true
  # How often players should be warned if always_warn is enabled. Value of X here means players are warned every X runs of the BotDetector
  reminder_interval: 10
  # Length of "default" long ban
  ban_length: 5400000
  # Max locations per player to store while measuring movement patterns
  max_locations: 10
  # Max suspects to consider per Detector round
  max_suspects: 10
  # Maximum scan rounds to "ignore" a player who was previously cleared as a lag source
  max_reprieve: 10
  # Number of BotDetector rounds at good TPS before releasing lag offenders
  release_rounds: 30
  # Scan radius in chunks around location, to check for lag causes
  scan_radius: 3
  # Amount of players checked per run
  players_checked_per_run: 8
  # Max players kicked per run
  max_kicked_per_run: 4
  # percentage of online players that need to have been scanned before kicking/warning begins
  action_threshold: 0.8
  # Distance a player needs to move away from a lagsource to not get kicked if he is caught by the system again
  safe_distance: 128
  # The message to send to the player being banned.
  ban_message: §4You have been banned due to causing lag, in spite of a warning to leave the area.
  # The warning message to send to a player found near lag sources, while the tick is low
  warning_message: §4[WARNING] You are in a region with a high concentration of lag sources. Please immediately depart the area (leave render distance) or you will be temporarily banned.
  # The warning message to sent to a player found near a lag source, while the tick is high, if always_warn is enabled
  friendly_warning_message: §4[WARNING] You are in a region with a high concentration of lag sources. We would recommend to remove entities around you, you might get kicked when the tick drops.
  # The number of times to send a warning to a player who repeatedly logs off after a warning, before banning.
  warning_repeat: 3
  # The lenths of bans. As a player is banned more times, the ban length goes up. All is clear on server reset.
  ban_lengths:
    - 150000
    - 300000
    - 900000
    - 1800000
    - 3600000
  # Configure the threshold and individual contribution of bound types
  bounds:
    relaxation_factor: 0.1
    threshold: 2.5
    contained: 1.5
    contained_exclude_y: 1.5
    volume_similar: 1.0
    surface_similar: 1.0
    nearly_contained: 0.75
    nearly_contained_exclude_y: 0.75

lag_scanner:
  # Length of time to cache individual chunk results (in milliseconds)
  cache_timeout: 1800000
  # Summation threshold of entity and tile costs for lag flag
  lag_threshold: 700
  # Multiplier of the lag threshold that needs to be exceeded to be banned right away
  extreme_lag_threshold_multiplier: 4.5
  # Reduction Factor (threshold * unload should be < threshold) that must be exceeded to attempt to force unload chunks
  unload_threshold_factor: 0.10
  # Innocents Threshold. If not prior banned, offer a more "relaxed" threshold. Applied as a multiplier to Threshold.
  innocent_boundary: 1.15
  # Flag indicating if chunk force unloading on kick should be active
  perform_unload: true
  # Whether the lag scanner should keep scanning if it already determined someone is causing lag
  # to get an exact value how much lag the player is causing
  full_scan: true
  # If a chunk's lag count is below this value, it is considered "normal" and not taken into account for the
  # total lag count calculation
  normal_chunk_value: 120
  # Per tickable block cost 
  tick_block:
    PISTON_MOVING_PIECE: 16
    PISTON_EXTENSION: 8
    BANNER: 0
    BEACON: 3
    BREWING_STAND: 1
    MOB_SPAWNER: 5
    DROPPER: 3
    JUKEBOX: 0
    NOTE_BLOCK: 0
    SIGN: 0
    HOPPER: 8
    DISPENSER: 3
    FURNACE: 1
    BURNING_FURNACE: 3
    CHEST: 0
    TRAPPED_CHEST: 0
    ENDER_CHEST: 0
    DAYLIGHT_DETECTOR: 1
    DAYLIGHT_DETECTOR_INVERTED: 1
    REDSTONE_COMPARATOR_OFF: 0
    REDSTONE_COMPARATOR_ON: 0
    WALL_BANNER: 0
    WALL_SIGN: 0
    SIGN_POST: 0
    ITEM_FRAME: 0
  # Per tickable entity cost
{'fraction_non_alphanumeric': 0.03789037890378904, 'fraction_numerical': 0.03150031500315003, 'mean_word_length': 3.5822680412371133, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '440729', 'n_tokens_mistral': 3597, 'n_tokens_neox': 3217, 'n_words': 1537}