Skip to content

Punishments

AoElite edited this page Dec 17, 2024 · 1 revision

punishments.yml

Grim's config system is a bit different from other anticheats. Within the punishments.yml config file you can categorize checks by placing them under a category. For example, you can set it up so that Timer & NoFall both alert every 5 violations by placing them under the same category. If you want to disable a check, then simply remove it from all categories.

Examples

Punishments:
  Simulation:
    remove-violations-after: 300 # removes violations after 300 seconds just for checks within category
    checks:
      - "Timer"
      - "NoFall"
    commands:
      - "5:5 [alert]"

These categories can be named anything & you can create as many as you like. You can run multiple commands based on different violations.

Punishments:
  BlockCheck1:
    checks:
      - "FarPlace"
    commands:
      - "1:1 [alert]" #Alert every time someone flags FarPlace
  BlockCheck2:
    checks:
      - "PositionPlace" #Alert every time someone flags PositionPlace & kick them after 10 violations
    commands:
      - "1:1 [alert]"
      - "10:10 kick %player% &cStop cheating!"

You can also prevent checks from being added to the category with similar names using !. For example this will alert whenever someone flags any check that has the name "BadPacket" in it EXCEPT for BadPacketsA & BadPacketsB.

Punishments:
  BadPackets:
    remove-violations-after: 300
    checks:
      - "BadPackets"
      - "!BadPacketsA"
      - "!BadPacketsB"
    commands:
      - "20:20 [alert]"

Thresholds

Commands will run when the threshold is met.

  • The first number is the threshold, the command will only execute when the number of non-expired violations match or exceed this number.
  • The second number is the interval. The command will only flag once for every X times the user flags.

Removing violations

remove-checks-after gives the amount of seconds that it will take for grim to remove a user's flags from this group. By default, flags will expire after 5 minutes.

Commands

  • [alert] is a special command that will send an in-game alert.
  • [webhook] is a special command that will send a discord webhook.
  • You may put any other text here as the command, make sure not to include braces.

Placeholders

  • %check_name% - Name of the check flagging, such as BadPacketsA
  • %vl% - Total number of violations
  • %verbose% - Extra information about the flag, if available
  • %player% - The name of the player