ChatWarden Escalation System

Progressive

The ChatWarden escalation system progressively increases punishment severity for repeat offenders while maintaining fairness and predictability.

System Overview

Score Calculation

Base violation scores are multiplied by escalation factors.

History Tracking

Recent violations contribute to escalation multipliers.

Time Decay

Violations expire after 24 hours, allowing player reform.

Configurable

All escalation parameters can be customized per server.

Escalation Formula

Mathematical Formula

How escalation multipliers are calculated

Final Score = Base Score × Escalation Multiplier

Where:
- Base Score = Violation Severity × Violation Weight × Special Modifiers
- Escalation Multiplier = Base Multiplier + (Severity Factor × Sum of Recent Severities)

Configuration

Escalation Settings

Core escalation system configuration

escalation:
  # Method: "count" or "severity"
  calculation_method: "severity"
  
  # Base values
  base_multiplier: 1.0
  severity_factor: 0.1
  max_multiplier: 3.0
  
  # Time decay
  time_decay:
    enabled: true
    violation_expiry_hours: 24

How It Works

Base Score Calculation

Step 1: AI Analysis

AI determines violation severity (1-5)

Step 2: Apply Weights

Severity is multiplied by violation weight

Step 3: Special Modifiers

Additional modifiers applied (e.g., 1.5× for spam)

Example:

Spam violation (severity 3): 3 × 0.5 (spam weight) × 1.5 (spam modifier) = 2.25 base score

Time Decay System

Violation Expiry

Violations expire after 24 hours by default, providing several benefits:

• Keeps escalation relevant to recent behavior

• Allows players to "reform" over time

• Prevents permanent escalation

• Encourages positive behavior change

Configurable Expiry

time_decay:
  enabled: true
  violation_expiry_hours: 24
  
# Alternative configurations:
# violation_expiry_hours: 12  # Faster decay
# violation_expiry_hours: 48  # Slower decay

Punishment Duration Escalation

Mute Escalation

punishment_escalation:
  mute:
    - "10m"  # 1st offense
    - "30m"  # 2nd offense
    - "1h"   # 3rd offense
    - "3h"   # 4th offense
    - "6h"   # 5th+ offense

Tempban Escalation

punishment_escalation:
  tempban:
    - "1h"   # 1st offense
    - "6h"   # 2nd offense
    - "12h"  # 3rd offense
    - "1d"   # 4th offense
    - "3d"   # 5th offense
    - "7d"   # 6th+ offense

Checking Escalation Status

Administrative Command

Check a player's current escalation status

/voxelai escalation [info|reset] <player>

Usage:

/voxelai escalation info <player> - Show escalation status

/voxelai escalation reset <player> - Reset player's escalation

Info command shows:

• Current escalation multiplier

• Recent violations and their severities

• Violation severity sum

• Time until violations expire

• Next escalation threshold

Example Scenarios

First-time Spam

Base: severity 2 × 0.5 weight × 1.5 modifier = 1.5
Escalation: 1.0 (no history)
Final: 1.5 × 1.0 = 1.5
Result: Warning

Repeated Toxicity

Base: severity 4 × 1.0 weight = 4.0
Escalation: 1.0 + (0.1 × 12 previous severity) = 2.2
Final: 4.0 × 2.2 = 8.8
Result: Tempban

Severe Violation

Base: severity 5 × 2.0 weight = 10.0
Escalation: 1.0 + (0.1 × 15 previous severity) = 2.5
Final: 10.0 × 2.5 = 25.0
Result: Permanent Ban

Best Practices

Monitor Escalation

• Regularly check escalation levels

• Look for patterns of abuse

• Adjust thresholds if needed

• Review repeat offenders

Fine-tuning

• Adjust severity_factor for faster/slower escalation

• Modify violation_expiry_hours for longer/shorter memory

• Balance weights for different violation types

• Test changes with historical data

Exemptions

• Use voxelai.chatwarden.exempt for staff

• Add trusted players to exempt list

• Consider context for false positives

• Review exemptions regularly