Demo playback
Player voices filtering
CS:DM adds convenient console aliases for CS2 (not CS:GO) that you can use in the game's console or bind to a key, allowing you to listen to specific teams or players' voices while watching an analyzed demo.
Available aliases:
voice_all
: Listen to all playersvoice_ct
: Listen to players who started as Counter-Terroristsvoice_t
: Listen to players who started as Terroristsvoice_STEAMID64
: Listen to a specific player (replaceSTEAMID64
with the player's actual SteamID64, e.g.,voice_76561198000697560
)
Team-based aliases (voice_ct
and voice_t
) always refer to the starting side of each player, not their current side in the demo.
CS2 demo playback doesn't start or crashes
- Steam must be running without admin rights.
- The demo's path must contain only Basic Latin characters. Counter-Strike can't play demos whose path contains non–Basic Latin characters. Move your demos into a folder whose path uses only Basic Latin characters.
- Close third-party anti-cheat clients (FACEIT, ESEA, etc.).
- If the Counter-Strike official servers are down, playback may fail on the first attempt. Click "Play" again. See #992.
- There may be an incompatibility between your CS2 version and the internal CS:DM plugin. See CS2 plugin compatibility for more information.
CS2 plugin compatibility
CS:DM uses a plugin to communicate with CS2 and control demo playback. This plugin is closely tied to the game build, so if CS2 is updated or your installed CS2 version is incompatible with the plugin, playback may not start, or the game may crash.
CS:DM bundles several versions of the plugin to ensure compatibility with different CS2 builds. You can select the plugin version in the Playback settings.
Use this option only when you want to watch old demos that are not compatible with the latest CS2 version. If you do so, you must also ensure that the CS2 version you have installed is compatible with the selected plugin version. See Downloading old CS2 versions for more information.
If you encounter issues with demo playback such as a game crash or playback not starting, please follow these troubleshooting steps:
-
Make sure the demo you are trying to play is compatible with your current setup. Specifically check:
- CS2 version: either the custom CS2 location configured in the Playback settings, or the version selected under CS2 > Properties > Betas in your Steam library.
- CS:DM plugin version: set in the Playback settings in CS:DM. When you select a version other than Latest, CS:DM shows the supported demo date ranges.
- Windows only (for video generation): ensure your HLAE version is compatible with your CS2 version. You can download older HLAE versions from GitHub and select it in the Video settings in CS:DM.
-
As a last resort, determine whether it's a CS2 or CS:DM issue: try to play the demo directly from the game instead of CS:DM and verify that playback starts and the game doesn't crash during playback. CS:DM launches the currently installed CS2 version, so if it doesn't work in-game, it won't work from CS:DM either. If the issue occurs only when playing the demo from CS:DM, please create a new issue.
Watching CS:GO demos
To watch CS:GO demos, select the csgo_legacy branch in your Steam library. To do so, follow these steps:
- Right-click CS2 in your Steam library and click Properties.
- Go to the Betas tab.
- Select csgo_legacy from the dropdown menu.
- Close the window and wait for the game to be updated.
- You can now watch CS:GO and CS2 demos from CS:DM.
You can watch both CSGO and CS2 demos from CS:DM when the csgo_legacy beta is selected while keeping CS2 up to date.
Watching old CS2 demos
To watch demos that are compatible only with an older version of the game, you must install a compatible older game version and select the plugin version in the Playback settings in CS:DM that matches that game version. You can do this in two ways:
-
Use a Steam beta branch to install an older version of the game.
- Right-click CS2 in your Steam library and go to Properties.
- Go to the Betas tab.
- Select the appropriate beta branch from the dropdown menu.
- Close the window and wait for the game to be updated.
-
Download an older version of the game and select it in the Playback settings in CS:DM.
See Downloading old CS2 versions for more information.
Downloading old CS2 versions
We'll use the official Steam command download_depot
from the Steam console to download an older version of CS2.
This command expects 3 parameters: the app ID, the depot ID, and the manifest ID. Usage:
download_depot <app ID> <depot ID> <manifest ID>
- The app ID is the unique identifier for the game, which is
730
for CS2/CS:GO. - A depot is a collection of files. You will need to download files from 2 depots: the main depot and the OS-specific depot for your operating system. The 2 depots you will need are:
- A manifest is a snapshot of a depot’s contents at a specific time.
You can find a list of available manifests for a depot on SteamDB — for example, here are the manifests of the main depot (2347770) (you must be logged in to see more than the 10 most recent manifests).
The most important thing is to download a manifest that is compatible with the demo you want to watch. This means the manifest must have been created before the demo was recorded.
For example, if you want to watch a demo created before the CS2 "Animation Graph" update released on July 28, 2025, the latest manifests before the release are 5023020258185551340
for the main depot (as seen in the screenshot above), 366892905078765270
for the Windows depot, and 6261982168194353241
for the Linux depot.
Once you have the manifest IDs, you can use the Steam console to download the game files.
The following example downloads the manifests of the last CS2 version before the "Animation Graph" update released on July 28, 2025. Make sure to replace the manifest IDs with the ones you want to download.
- Open the Steam console.
You can also press
Win + R
and typesteam://open/console
on Windows, or runsteam://open/console
in your terminal on Linux. This opens theConsole
tab in the Steam client, where you can submit commands. - Download the main depot files by typing the following command:
download_depot 730 2347770 5023020258185551340
- Download the OS-specific depot files by typing the following command:
- For Windows:
download_depot 730 2347771 366892905078765270
- For Linux:
download_depot 730 2347773 6261982168194353241
- For Windows:
- Note where the files were downloaded. The Steam console shows the path when the download is complete. By default, they will be in the
steamapps\content\app_730
folder inside your Steam installation directory. You will have 2 folders:<Steam install folder>\steamapps\content\app_730\depot_2347770
and<Steam install folder>\steamapps\content\app_730\depot_2347771
(ordepot_2347773
for Linux). - Move the contents of the OS-specific depot folder (
depot_2347771
for Windows ordepot_2347773
for Linux) into the main depot folder (merge into thegame
folder). - In your CS:DM settings, go to the Playback tab, enable the CS2 location option and select the
cs2.exe
file located in<Steam install folder>\steamapps\content\app_730\depot_2347770\game\bin\win64\cs2.exe
on Windows, or thecs2.sh
file located in<Steam install folder>/steamapps/content/app_730/depot_2347770/game/cs2.sh
on Linux. - In your CS:DM settings, select the Playback tab and choose the appropriate CS2 plugin version that is compatible with the older game version you just downloaded. See CS2 plugin compatibility for more information.
Counter-Strike executable not found
It can happen if you have multiple drives on Steam (where games are installed) and CS installed or partially installed on different drives. It has been reported here.
- Right-click on CS2 in your Steam library, go to Manage and click on Browse local files.
- Note the path where CS is installed (example:
D:\games\steamapps\common\Counter-Strike Global Offensive
). - Open the Steam settings and go to the Storage tab.
- For each drive except the one where CS is installed, check if a folder
steamapps\common\Counter-Strike Global Offensive
exists and delete it.
Example:
- You have 4 Steam drives
D:\
,E:\
,F:\
andG:\
- CS is installed on
D:\games\steamapps\common\Counter-Strike Global Offensive
- The
G:\
drive contains aG:\steamapps\common\Counter-Strike Global Offensive
folder - You have to delete the
G:\steamapps\common\Counter-Strike Global Offensive
folder
On Linux this can happen if Steam has been installed using Flatpak.
It's not supported yet, so please install Steam using the native installer.
Player voice indicators are not displayed in the HUD
This is a known CS2 issue present since early October 2024.
What are JSON files next to my demo?
JSON files are generated by CS:DM when starting a demo playback to control the playback (camera focus, fast forward, etc.).
Those files should be deleted automatically when the game is closed and can also be safely deleted manually.
You can find more details about it in this documentation.