Trace CS2 demos into bot-executable route replays.
CS2 DemoTracer is an open-source Windows desktop application and matched server playback stack. It converts Counter-Strike 2 demo files into compact .dtr replays, then reproduces movement, view angles, command state, weapons, projectiles, optional voice, and selected presentation evidence through bots on a local CS2 server.
简体中文 · Documentation · Development · Latest release
![]() First-person route replay |
![]() Indoor route replay |
![]() Mirage multi-bot opening |
![]() Projectile-aligned Mirage smokes |
- Provides a bilingual Tauri and React workflow for opening demos, inspecting rounds, selecting players, converting replays, and maintaining a local replay library.
- Writes deterministic .dtr v8 files and ABI 17 manifests through the Rust converter linked directly into the desktop application. There is no separate converter CLI in the supported 1.x product.
- Replays movement, subtick input, view angles, weapons, projectiles, optional demo voice, and demo-backed presentation evidence through the matched CounterStrikeSharp and Metamod stack.
- Installs, verifies, repairs, updates, and rolls back signed playback bundles while preserving server-local configuration.
- Keeps cosmetic, sticker, charm, agent, and scoreboard alignment explicit, demo-backed, and default-off where appropriate.
DemoTracer is local replay tooling for research, content creation, analysis, and plugin development. It is not intended for matchmaking or cheating.
- Windows 10 or Windows 11 x64.
- Microsoft Edge WebView2 for the desktop application.
- For playback: a local Windows x64 CS2 server with Metamod:Source and CounterStrikeSharp.
The desktop installer does not require Python, Node.js, Rust, or a local build toolchain. See Dependencies and Compatibility.
Use the artifacts attached to the latest official release:
- cs2-demotracer-setup-vVERSION-windows-x64.exe: desktop installer.
- cs2-demotracer-playback-vVERSION-windows-x64.zip: matched playback bundle.
- Updater signatures and SHA-256 checksums for independent verification.
Only artifacts published by unicbm and signed by the official release keys are official DemoTracer builds. See Trademark and Official Build Policy.
The maintained source target is Windows x64. Install Rust stable, Node.js 22, pnpm 11.9, .NET 10, and the Tauri Windows prerequisites, then run:
cd desktop\converter
cargo test --locked
cd ..\gui
pnpm install --frozen-lockfile
pnpm run check
pnpm test
cargo test --manifest-path src-tauri\Cargo.toml --locked
cd ..\..
.\tooling\scripts\test-css.ps1
.\tooling\scripts\check-release-contract.ps1
Native BotController and BotHider builds additionally require the local CS2 Metamod and SDK toolchain. Detailed setup is documented in Development.
The release truth source is shared/contracts/playback-contract.v1.json.
| Contract | Supported value |
|---|---|
| .dtr writer | v8 |
| .dtr reader | v3-v8 |
| Manifest ABI | 17 |
| BotController ABI | 16, minor 33+ |
| BotHider API | 1 |
| DemoTracer companion API | 6 |
See .dtr Format Contract for the binary layout and limits.
- desktop/gui: Tauri and React application plus the Rust desktop backend.
- desktop/converter: Rust parsing, analysis, synthesis, .dtr writing, manifests, and validation.
- server/plugins: CounterStrikeSharp playback orchestration and companion API.
- server/runtime: maintained BotController and BotHider native runtimes.
- shared: versioned compatibility contracts and generated runtime metadata.
- third_party: vendored dependencies, provenance, and license notices.
- tooling: validation, packaging, signing, and release automation.
DemoTracer builds on CS2-Bot-Controller, CS2-Bot-Hider, demoparser, Metamod:Source, and CounterStrikeSharp.
First-party source is licensed under AGPL-3.0-only. Vendored components and datasets retain their recorded licenses and attribution. The code license does not grant rights to misrepresent modified builds as official releases.



