Skip to content

About

CS2 demo desktop tool: match stats, automatic highlight videos (HLAE + FFmpeg), 2D replay. Windows, portable, no game files touched.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

142 Commits

Folders and files

Repository files navigation

CS DemoDesk

English | 繁體中文 | 简体中文 | 日本語 | 한국어 | Русский

A Windows desktop tool for managing and analyzing Counter-Strike 2 demos. Explore player statistics, 2D replays and experimental match anomalies, and export highlights or suspicious moments as videos.

Download

  • Microsoft Store — Install and receive updates through Microsoft Store.
  • Portable EXE — Download the standalone .exe from GitHub Releases; no installation required.

Before you start

  • If export fails after a CS2 update, re-download HLAE from Settings; this usually fixes it.
  • You cannot play while recording. Exports run one at a time.
  • Choose H.264 for playback in chat apps and browsers; NVIDIA encoding requires an NVIDIA GPU.

Features

Match statistics

Review match results and player performance across combat, utility and round situations. Comparison charts, round trends and spray control plots help explore the match from different angles.

Spray control for AK-47, M4A4, and M4A1-S

Anomaly data (experimental)

Analyze aiming, shooting and movement across all players, including TTD and estimated smoke hit rate. Select, merge and export suspicious clips by player and behavior for closer review.

Statistics are for reference, not a cheating verdict. They cannot identify deliberately concealed cheats without statistical anomalies; no anomalies does not mean no cheating.

Anomaly data (experimental)

Highlight videos

  • Highlights (multi-kills, clutches, ninja defuses) are detected and scored automatically
  • Selected clips are recorded by CS2 in the background and encoded with FFmpeg
  • Resolution, FPS, H.264 / H.265, CPU or NVIDIA
  • Per-element HUD toggles, optional merge into one video
  • File size limit (10 / 20 / 50 MB) for sharing in chat apps

Highlight scoring details

2D replay

  • Player positions, view angles, health, armor, weapon, money
  • Grenades, smoke / fire / flash areas, C4 and defuse countdowns, kill feed, hearing range
  • Round navigation, playback speed, follow a player
  • Multi-level maps shown one level per panel; radar images extracted from the local game files

2D replay

Design

Read-only access to game files

Nothing is written into the game folder: no plugin, script, or cfg, and no game file is changed. Recording launches a separate CS2 process through HLAE with -insecure (the same as using HLAE manually), sends commands over the game's own netcon console, and keeps game settings in a separate USRLOCALCSGO folder so the player's settings are untouched. All third-party tools are downloaded into the app's own data folder:

Tool Purpose Source
HLAE Recording (mirv_streams) advancedfx/advancedfx
FFmpeg Encoding, merging, size limit BtbN/FFmpeg-Builds (GPL)
Source 2 Viewer CLI Radar image extraction from vpk ValveResourceFormat (MIT)
demoparser Demo parsing (vendored) LaihoE/demoparser (MIT)

File-based storage

No database is required. Settings, export jobs and analysis caches are stored as files in the user home directory (%USERPROFILE%\.noih\demodesk-data) by default; the data folder can be changed in Settings. Clearing that setting restores the default on restart. Existing files are not moved; to reuse an older portable data folder, select it in Settings. Demos stay at their original paths and can be added individually or discovered through scan folders.

Build

Requires Rust (stable) with Visual Studio Build Tools (Desktop development with C++), Node.js 24.20.0 (.nvmrc), and WebView2 (included in Windows).

npm install
npm run app:dev      # development: Vite + Tauri window
npm run app:build    # dist-portable\CS-DemoDesk-<version>.exe
npm run app:release  # portable EXE + unsigned Store MSIX (Windows SDK required)
npm run test:core    # Rust unit tests

Releases

Releases are built by GitHub Actions and include the portable EXE and its SHA256 checksum. The unsigned MSIX and its checksum are available in the workflow run as the store-msix-<tag> artifact, retained for 90 days for manual Microsoft Store submission. Both binaries receive build-provenance attestations. To verify that a download was built from this repository:

gh attestation verify CS-DemoDesk-<version>.exe --owner noih

License

Copyright (C) 2026 NOIH - https://github.com/noih

GNU AGPL-3.0. Third-party components keep their own licenses (see the table above; the vendored demoparser retains its MIT license in vendor/demoparser/LICENSE).

About

CS2 demo desktop tool: match stats, automatic highlight videos (HLAE + FFmpeg), 2D replay. Windows, portable, no game files touched.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages