> For the complete documentation index, see [llms.txt](https://sbscripts.gitbook.io/sb-scripts/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sbscripts.gitbook.io/sb-scripts/sb-anticheat/punishments.md).

# Punishments

Each detection has its own punishment setting. You can have one detection log quietly while another bans straight away.

```lua
"ban"   -- ban the player
"kick"  -- kick the player
"log"   -- log to Discord and the panel, do nothing else
true    -- use the global action in SB.punishment.action
false   -- detection off
```

### The value on the detection wins

If a detection is set to `"log"` but `SB.punishment.action` is `"ban"`, it only logs. The global action is only used when the detection is set to `true`.

```lua
SB.punishment.action = "ban"
SB.clientChecks.teleporting = "log"    -- logs only
SB.clientChecks.godMode = true         -- uses "ban" from the global setting
```

### 🔨 Ban

```lua
SB.clientChecks.someDetection = "ban"
```

Use this for detections you have tested and trust.

### 👢 Kick

```lua
SB.clientChecks.someDetection = "kick"
```

Stops the activity without creating a permanent ban.

### 📝 Log only

```lua
SB.clientChecks.someDetection = "log"
```

Useful while testing a new detection or watching for false positives.

### 🚫 Disable

```lua
SB.clientChecks.someDetection = false
```

Only disable a detection when you understand why it conflicts with your server.

### Recommended process

When you introduce SB AntiCheat to a new server, start uncertain detections on `"log"`. Check the logs for false positives, then move them to `"kick"` or `"ban"`.
