An utility for accessibility in Counter-Strike 2. It automatically reduces only CS2's per-app volume during loud in-game events (death, flashbang, bomb, spectating) and restores it afterward.
Homepage: https://jackblk.github.io/cs2-helper/
Download latest release here: CS2.Helper-x64.exe
Or choose another release from Releases Page.
- Anti-cheat safe: no memory reads, DLL injection, or game file changes.
- Event-driven: reduces volume in response to specific in-game events (configurable).
- Death
- Flashbang
- Bomb explosion
- Spectating
- Automatic restore: returns volume to normal once the loud event passes.
- Per-app volume control: reduces only CS2's volume, leaving other apps untouched.
- One-click setup: installs the CS2 GSI config for you.
- Configurable: tune volume targets and behavior.
Currently only supports Win 11.
A bomb defuse timer drawn over CS2. When the C4 is planted, a small overlay appears and counts down to detonation, color-coded so you can read it at a glance.
- Green / red: red means run (a defuse can no longer finish in time); green means a defuse might still finish (not a guarantee).
- Informational / approximate: CS2 adds a small random detonation delay and the exact plant time is not in GSI, so treat the timer as a guide, not an exact clock.
- Requires fullscreen-windowed / borderless: exclusive fullscreen hides any external overlay.
- Anti-cheat safe: a separate floating OS window driven only by official GSI events, with no injection or memory reads.
- On by default: configure it on the Main page (enable, size, bomb timer, and drag-to-position).
No. It uses official GSI (Game State Integration) provided by Valve, which is read-only and designed for third-party apps. It does not interact with the game in any way that would trigger anti-cheat systems.
Yes.
- You can read, modify, or build from the source code yourself.
- VirusTotal scan is attach to each release in Releases Page.
Not planned at the moment, as the audio backend is Windows-specific. I also don't play games on Linux, so I wouldn't be able to test it. Feel free to contribute if you want to see it on Linux, this app uses Tauri so cross-platform support is possible.
Yes why not, it's just a tool. I'm a dev myself, I came up with the architecture, decisions. Feel free to contribute if you want to add features or improve the codebase.
Feel free to create an issue or, better, a pull request. I can't promise I'll merge every contribution, but I'm open to new features and improvements.
flowchart LR
CS2["CS2"] -- "GSI HTTP POST" --> GSI
subgraph Helper["CS2-Helper"]
direction LR
GSI["GSI server"] --> Events["Event engine"]
Events --> Audio["Audio engine"]
end
Audio -- "reduce / restore" --> CoreAudio["Windows Core Audio"]
CoreAudio -- "set cs2.exe session volume" --> CS2
The app installs a CS2 GSI config automatically, CS2 will send GSI events to the local server, and the helper adjusts the cs2.exe audio session volume in response to game events.
- Tauri v2 (Rust backend) + React
- windows-rs for Core Audio
pnpm install
pnpm format # format with Biome
pnpm tauri dev # run the app with hot reload (Vite + Rust)
pnpm build # typecheck + build the frontend
pnpm tauri build # build the Tauri app (release mode)Typecheck Rust without launching:
cargo check --manifest-path src-tauri/Cargo.tomlWindows-only. The audio backend is gated behind
#![cfg(windows)].
