CS2 Anti-Cheat Detection System - Automated teammate analysis for suspicious player identification.
- โจ Features
- ๐๏ธ Architecture
- ๐ Quick Start
- ๐ง Tech Stack
- ๐ Detection System
- ๐ Project Structure
- โ๏ธ Configuration
- ๐งช Development
- ๐ค Contributing
- ๐ License
โ ๏ธ Disclaimer- ๐ Documentation
- ๐ Support
- ๐ Steam OAuth Authentication - Secure login via Steam OpenID
- ๐ฏ Automated Match Analysis - Continuous monitoring of CS2 teammates
- ๐จ Suspicious Player Detection - Advanced scoring algorithm with multiple detection criteria
- ๐ Real-time Dashboard - Live updates and comprehensive analytics
- โก Background Processing - Celery-powered asynchronous job system
- ๐ Auto-Sync - Periodic match synchronization every 30 minutes
- ๐ฎ Demo Download Service - Integrated CS2 demo file download service via Steam GC
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ React SPA โ โ FastAPI โ โ PostgreSQL โ
โ (Frontend) โโโโโบโ (Backend) โโโโโบโ (Database) โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโดโโโโโโโโโโ
โ โ Celery โโโโโบโ Redis โ
โ โ (Background) โ โ (Cache) โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ โ
โโโโโโโโโโโโโโโบโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Demo Service โ
โ (Node.js) โ
โโโโโโโโโโโโโโโโโโโ
# Clone repository
git clone https://github.com/meinjens/cstatsentry.git
cd cstatsentry
# Start with Docker Compose
docker-compose up -d
# Or use the setup script
./scripts/start.shAccess Points:
- Frontend: http://localhost:3000
- API: http://localhost:8000
- API Docs: http://localhost:8000/docs
- Demo Service API: http://localhost:3001
The demo service requires Steam credentials to download CS2 demo files:
# Add to your .env file
DEMO_SERVICE_STEAM_USERNAME=your_steam_username
DEMO_SERVICE_STEAM_PASSWORD=your_steam_password
# Initialize demo service database
./scripts/init-demo-db.sh| Component | Technology | Purpose |
|---|---|---|
| Frontend | React 18 + TypeScript + Tailwind CSS + pnpm | Modern, responsive UI |
| Backend | FastAPI + SQLAlchemy + PostgreSQL | High-performance API |
| Demo Service | Node.js + Express + Prisma + Bull | CS2 demo downloads |
| Jobs | Celery + Redis | Background processing |
| Auth | Steam OpenID + JWT | Secure authentication |
| CI/CD | GitHub Actions | Automated testing & deployment |
StatSentry uses a sophisticated scoring algorithm to identify suspicious players:
- ๐ New Account Analysis - Recent account creation with high performance
- ๐ Private Profile Flags - Private profiles with suspicious stats
โ ๏ธ VAC History - Previous VAC bans in other games- ๐ฎ Playtime Anomalies - CS2-only accounts with limited game libraries
- ๐ Performance Spikes - Sudden improvement in gameplay metrics
- ๐ฏ Statistical Analysis - Unnatural consistency patterns
- 0-30: Unlikely to cheat
- 31-60: Suspicious patterns detected
- 61-80: Highly suspicious behavior
- 81-100: Almost certainly cheating
cstatsentry/
โโโ ๐ backend/ # FastAPI backend
โ โโโ app/
โ โ โโโ api/ # REST API endpoints
โ โ โโโ core/ # Configuration & security
โ โ โโโ models/ # SQLAlchemy models
โ โ โโโ schemas/ # Pydantic schemas
โ โ โโโ services/ # Business logic
โ โ โโโ tasks/ # Celery background tasks
โ โโโ alembic/ # Database migrations
โ โโโ tests/ # Backend tests
โโโ ๐จ frontend/ # React frontend
โ โโโ src/
โ โโโ components/ # Reusable UI components
โ โโโ pages/ # Application pages
โ โโโ services/ # API integration
โ โโโ types/ # TypeScript definitions
โโโ ๐ฎ demo-service/ # CS2 Demo Download Service
โ โโโ src/
โ โ โโโ steam/ # Steam GC integration
โ โ โโโ queue/ # Bull download queue
โ โ โโโ services/ # Demo & webhook services
โ โ โโโ routes/ # Express API routes
โ โโโ prisma/ # Database schema
โโโ ๐ docs/ # Documentation
โโโ ๐ ๏ธ scripts/ # Utility scripts
โโโ ๐ณ .github/ # GitHub Actions workflows
โโโ ๐ docker-compose*.yml # Docker configurations
# Steam API (get from https://steamcommunity.com/dev/apikey)
STEAM_API_KEY=your_steam_api_key_here
# Security
SECRET_KEY=your_super_secure_jwt_secret_key
# Database
DATABASE_URL=postgresql://user:pass@localhost:5432/statsentry
# Optional: Leetify API Integration
LEETIFY_API_KEY=your_leetify_api_key_hereSee SETUP.md for complete configuration guide.
# Backend tests
cd backend && pytest
# Frontend tests
cd frontend && pnpm test
# Integration tests
docker-compose -f docker-compose.test.yml up --abort-on-container-exitInteractive API documentation is available at:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
StatSentry is designed for educational and analytical purposes. It only accesses publicly available Steam profile data and does not interact with CS2 game files or memory. Always follow Steam's Terms of Service and use responsibly.
- ๐๏ธ Architecture Guide - Detailed system architecture and design patterns
- โ Features & TODO List - Complete feature overview and roadmap
- ๐งช TDD Guide - Test-driven development workflow
- ๐ Integration Testing - Testing with mock services
- โ๏ธ Setup Guide - Detailed configuration instructions
- ๐ API Documentation - REST API reference
- Replay Hunter - CS2 Demo Download Service (formerly part of this project)
- ๐ Report Issues
- ๐ฌ Discussions
Made with โค๏ธ for the CS2 community