CS2 cheat detection guide
What server-side anti-cheat can actually see on Counter-Strike 2 — and how to read ImpactGuard cases without fooling yourself.
This guide is for people who run a CS2 server and are tired of two failure modes: cheaters who never get touched, and riflers who get kicked because one heuristic had a bad day.
1. The server is not omniscient
A dedicated CS2 server authoritative-simulates the match. It knows positions, buttons, and attack events. It does not know whether the player’s monitor has a glow overlay. Any honest CS2 cheat detection product is inferring from gameplay, not scanning a disk.
That is why ImpactGuard ships 52 CS2 modules instead of one “isCheating” boolean. Different cheats leak in different channels. A rage snap and a subtle trigger are not the same evidence.
2. Confidence gating is how you stay employable as an admin
Shipped policy keeps weak signals as logs. Punitive paths need:
- more than one detection in the window,
- more than one module family,
- threat score at least 25,
- confidence at least 0.72 to kick and 0.86 to ban.
You can change those numbers. You should not change them on day one. Watch a weekend of logs. If your false-positive rate is already visible in appeals, lowering floors will make it worse.
3. Visibility vs detection
Players will say “anticheat is fake, I still see people through walls.” Sometimes they mean the client still received the entity. That is a VisionGate health problem — meta list, igvg_status, map data present. Sometimes they mean a player is tracking without information. That is a detection/appeal problem. Mixing the two in Discord will waste a night.
4. Demos and XGuardian
A demo is a story you can rewatch. It is not automatically a ban. XGuardian uses labeled demos to train later models. Label carefully. If you mark every lucky ace as a cheat, you will teach the pipeline the wrong sport.
5. A sane first week
- Install from the CS2 plugin page.
- Leave log-first on.
- Confirm VisionGate separately.
- Read panel cases with module diversity in mind.
- Use appeals instead of silent permanent bans on edge cases.
Config reference: docs/config. Product surface: CS2 cheat detection.
Questions operators ask
Can server anti-cheat see a client overlay?
No. It sees game-state the server already has: movement, shots, angles, timing. Overlays stay on the client.
Should I ban on one module?
Not with shipped defaults. ImpactGuard waits for multiple detections, unique modules, threat score, and confidence floors.