# Thresholds

Intave allows you to customize actions executed at certain violation levels.

thresholds:
  <number>: <command>
  <number>:
    - <command>
    - <command>

Here's an example threshold section:

thresholds:
  1: "tell {player} You are cheating!"
  2: "tell {player} You are cheating!"
  # ...
  99: "tell {player} You are cheating!"
  100:
    - "tell {player} I told you to stop cheating! Now deal with the consequences."
    - "ban {player} Intave is always watching."

Once a player has reached a threshold, the given commands are executed in given order.
The {player} placeholder will be replaced with the detected player's name.
You can assign multiple commands to a single threshold with the YAML list notation (opens new window). More placeholders are available here.

# Multiple thresholds

A check can have multiple thresholds, too.

thresholds:
  a:
    50: "tell {player} you are a cheater"
    100:
      - "tell {player} you are a bad cheater"
      - "kick {player}"
  b:
    25: "tell {player} you are a cheater"
    100:
      - "tell {player} you are a very bad cheater"
      - "ban {player}"

NOTE

Additional thresholds are pre-defined, you can not add more or remove existing ones. In our example, you could not add a threshold c, or remove threshold a.

# Confidence thresholds

The Heuristic's confidence thresholds makes use of this feature.
It allows you to define separate thresholds for the confidences ?, ! and !!.

confidence-thresholds:
  "!!":
    25: "ban {player} You have been banned by Intave (Automatic Cheat Detection)."
  "!":
    25: "ban {player} You have been banned by Intave (Automatic Cheat Detection)."
  "?!":
    25: "tell {player} INTAVE IS ALWAYS WATCHING. 42 players have been banned in the last 5 minutes."
    50: "ban {player} You have been banned by Intave (Automatic Cheat Detection)."

# AttackRaytrace thresholds

Same goes for the AttackRaytrace thresholds.
Here we want to differentiate between attacking others from too far away and not even looking at the attacked.

applicable-thresholds:
  reach:
    50: "tell {player} INTAVE IS ALWAYS WATCHING. 42 players have been banned in the last 5 minutes."
    100:
      - "alert {player} was banned for reach"
      - "ban {player} You have been banned by Intave (Automatic Cheat Detection)."
  hitbox:
    50: "tell {player} INTAVE IS ALWAYS WATCHING. 42 players have been banned in the last 5 minutes."
    100: 
      - "alert {player} was kicked for hitbox"
      - "kick {player} Cheating detected (hitbox)"