Server  Pak/Pure Validation System

The pure validation system has been improved to be more flexible and community-friendly, with broader support for official and community paks. Enable with sv_pure 1.

  • A new HUD element shows the pure status of all connected players — displayed as N/M (pure / total) in the bottom-right corner
  • A colored dot indicates your own status: green = pure, red = impure

Server  sv_autokick

Automatically kick clients that fail pure pak validation after a configurable grace period.

sv_autokick = 0 | Seconds to wait before kicking unpure clients. 0 = disabled.
  • Set to 0 (default): disabled — unpure clients stay connected but are marked as impure
  • Set to a positive integer (e.g. 5): clients failing pure validation are kicked after that many seconds
  • The kick timer starts when the client enters the game (CS_ACTIVE state), not during loading — so they have time to see the kick message
  • If a client fails validation after a map restart (already in-game), the timer starts immediately
  • Setting sv_autokick to 0 at runtime cancels all pending kicks
  • Enabling sv_autokick at runtime starts kick timers for any already-connected unpure clients
  • Kick message: Unpure client detected. Invalid or missing pk3 files.

Game  g_spectatefix

Control the spectator follow-camera behavior with a toggle between modern and original MoHAA modes.

g_spectatefix = 1 | Toggle between fixed (1) and original MoHAA (0) spectator camera.
  • g_spectatefix 1 (default): Uses the player's eye position for the spectator camera — cleaner, more predictable follow behavior
  • g_spectatefix 0: Reverts to the original MoHAA spectator camera — 56 units behind the player, 24 units above, with lean angle interpolation

Game  g_roundstartdelay

Freeze players in place at the start of each round in round-based game modes, with a countdown printed to chat.

g_roundstartdelay = 5 | Seconds to freeze players at round start. 0 = disabled.
  • Only applies to round-based game modes (Round, TOW, Objective, Liberation)
  • Set to 0: disabled — round starts immediately with no freeze
  • Set to a positive integer (e.g. 5): players are frozen for that many seconds; a countdown is printed to chat each second
  • When the countdown reaches zero, a Go, GLHF! message is broadcast and movement is unlocked
  • Any active freeze is cancelled automatically when a round ends

Game  g_preventghostwalk

Prevent the "ghost walking" exploit where players switch weapons mid-stride to reset footstep sounds and move more quietly.

g_preventghostwalk = 0 | Preserve leg animation timing across weapon switches to prevent ghost walking. 0 = disabled.
  • g_preventghostwalk 0 (default): original behavior — weapon switches restart the leg animation from the beginning, allowing ghost walking
  • g_preventghostwalk 1: when a player switches weapons while in the same leg state (e.g. walking), the animation clock is preserved — footstep timing continues uninterrupted