How driw0x/cs2guard works
CS2Guard is an experimental offline behavioral-cheat analysis toolkit for Counter-Strike 2 demos and external datasets. Its documented workflow parses match telemetry, derives aim behavior, builds normalized and labeled datasets, then evaluates anomaly or supervised detectors to produce event/player suspicion scores. The tree also includes aim visualization and player inspection tools. The README describes real-time server-side detection as a future goal, not a current runtime subsystem. Some wiring is based on documented capabilities and module names because the relevant scripts and implementation details were not sampled.
Main entry points: builder.py Dataset Builder · demo_parser.py Demo Parser · models.py Classifiers · demo.py Demo Adapter
Components 22
Telemetry Ingestion
- Demo Parser
demo_analyzer/src/cs2guard_demo/parser/demo_parser.py - Match Models
demo_analyzer/src/cs2guard_demo/models/match.py - Aim Features
demo_analyzer/src/cs2guard_demo/features/aim.py
Dataset Preparation
- Demo Adapter
demo_analyzer/src/cs2guard_demo/dataset/adapters/demo.py - CS2CD Adapter
demo_analyzer/src/cs2guard_demo/dataset/adapters/cs2cd.py - Dataset Builder
demo_analyzer/src/cs2guard_demo/dataset/builder.py - Canonical Schema
demo_analyzer/src/cs2guard_demo/dataset/schema.py - Labels
demo_analyzer/src/cs2guard_demo/dataset/labels.py - Normalization
demo_analyzer/src/cs2guard_demo/dataset/normalization.py - Data Splits
demo_analyzer/src/cs2guard_demo/dataset/splitting.py
Detection Models
- Anomaly Detection
demo_analyzer/src/cs2guard_demo/detection/anomaly.py - Supervised Dataset
demo_analyzer/src/cs2guard_demo/supervised/dataset.py - Classifiers
demo_analyzer/src/cs2guard_demo/supervised/models.py - Model Tuning
demo_analyzer/src/cs2guard_demo/supervised/tuning.py - Model Evaluation
demo_analyzer/src/cs2guard_demo/supervised/evaluation.py - Model Persistence
demo_analyzer/src/cs2guard_demo/supervised/persistence.py
Analysis Outputs
- Suspicion Analysis
demo_analyzer/scripts/generate_suspicion_scores.py - Aim Visualization
demo_analyzer/src/cs2guard_demo/visualization/aim.py - Player Inspection
demo_analyzer/scripts/inspect_player.py
Other components
- Analyst
- CS2 Demo
- CS2CD Data
Connections 27
- Analyst → CS2 Demo: supplies
- CS2 Demo → Demo Parser: parses
- Demo Parser → Match Models: structures data
- Demo Parser → Aim Features: provides telemetry
- CS2 Demo → Demo Adapter: adapts source
- Demo Parser → Demo Adapter: reads match data
- CS2CD Data → CS2CD Adapter: adapts source
- Demo Adapter → Canonical Schema: validates rows
- CS2CD Adapter → Canonical Schema: validates rows
- Demo Adapter → Dataset Builder: provides samples
- CS2CD Adapter → Dataset Builder: provides samples
- Aim Features → Dataset Builder: engineers features
- Dataset Builder → Labels: adds labels
- Dataset Builder → Normalization: prepares features
- Dataset Builder → Data Splits: creates splits
- Dataset Builder → Anomaly Detection: supplies features
- Data Splits → Supervised Dataset: supplies partitions
- Supervised Dataset → Classifiers: supplies training data
- Classifiers → Model Tuning: tunes classifiers
- Classifiers → Model Evaluation: evaluates predictions
- Classifiers → Model Persistence: saves models
- Anomaly Detection → Suspicion Analysis: provides anomaly scores
- Model Evaluation → Suspicion Analysis: provides model metrics
- Demo Parser → Aim Visualization: provides aim sequences
- Suspicion Analysis → Player Inspection: supports review
- Aim Visualization → Analyst: displays trajectories
- Player Inspection → Analyst: presents findings