Demos analysis
CS Demo Manager extracts data from Counter-Strike demos (.dem
files) and generates matches.
A match results from a demo analysis and contains all the information about the game (players, teams, positions, etc.).
What are the supported demo sources?
Source | CSGO | CS2 | Comment |
---|---|---|---|
5EPlay | ✅ | ✅ | |
CEVO | ❌ | ❌ | Dead platform but demos are still detected in the app |
Challengermode | ✅ | ✅ | |
eBot | ✅ | ✅ | |
ESL | ✅ | ✅ | ESL is now FACEIT, newer demos from ESL events should use the FACEIT analyzer. |
ESEA | ✅ | ❌ | ESEA is now FACEIT, their platform is almost dead and I didn't find any CS2 demos recorded with their plugin |
Esportal | ✅ | ✅ | |
FACEIT | ✅ | ✅ | |
FASTCUP | ✅ | ✅ | |
Gamers Club | ❌ | ❌ | |
Perfect World | ✅ | ✅ | |
PopFlash | ⚠️ | ❌ | Demo analysis is enabled for CSGO demos but it may not work. Need some recent demos to update it. |
Private server | ❌ | ❌ | Demos recorded without the built-in match system or a server plugin, i.e. running commands such as tv_record manually |
Valve (MM) | ✅ | ✅ |
Demos from private server are not supported however you can change the demo's source from the application and analyze it but you may have incorrect data.
Where to get demos
- From the Downloads page in CS:DM. You can download your last 8 Valve Matchmaking or FACEIT demos.
- From the Watch page of CS2 client (Matchmaking only).
- From the platform website you are playing on (FACEIT, PopFlash, etc.).
- From HLTV for professional matches.
HLTV and some platforms compress demos in archives. You have to decompress it otherwise the application will not see them.
Demos links usually expire after around one month.
Analysing demos
- Go to the Demos page.
- Select the correct folder where your demos are located (you can add folders from the application settings).
- Select one or more demos.
- Click on Analyze and wait for the analysis to finish. You can see the progress from the Analyses page.
- Go to the Matches page to see the generated matches.
Analysis errors
The following list describes analysis error codes that can occur during the analysis of a demo.
They help understanding why a demo analysis failed.
INSERT_MATCH_DUPLICATED_CHECKSUM
The INSERT_MATCH_DUPLICATED_CHECKSUM
error code means you tried inserting an already known match in the database.
While this should not be possible, some users have reported the problem on GitHub.
Any help to reproduce the issue is welcome.
INSERT_ROUNDS_ERROR
The INSERT_ROUNDS_ERROR
error code means one or more demo rounds have missing mandatory data and as such can't
be inserted into the database.
It usually means the demo stopped during the middle of a round, and the cause may be because of a corrupted demo.
A demo must end after the last round of the match to preserve data integrity - for example, a round without a winner is
not valid.
To confirm this, you should watch the demo in-game and:
- Ensure the playback doesn't stop in the middle of a round
- Open the demo player UI (
SHIFT + F2
) and check the information.
A non-corrupted demo should look like this:
A corrupted demo look like this:
As you can see, when a demo is corrupted, the total duration is0:00
and usually the round indicators are missing.
If the demo doesn't stop in the middle of a round and is not corrupted, please open an issue on GitHub that includes the analysis logs and a link to download the demo.
UNKNOWN
The UNKNOWN
error code means the demo analysis failed for an unknown reason not documented yet.
Please open an issue on GitHub that includes the analysis logs and a link to download the demo.
The demo source is not supported
This message is displayed when:
- The demo's source has not been detected automatically.
In this case, the Source column in the list shows a?
icon.
You have to update the demo's source to the correct one and analyze it again. - The application does not support the demo's source.
See this table for the list of supported sources.
You can change the demo's source to a supported source and analyze it, but it may not work correctly if the demos come from a non-supported source.
To change a demo's source, right-click on it in the demos list and click on Change source.
Players names are "Player 1", "Player 2", etc. and avatars are missing
When you go to the demo's details page of a demo from Valve with a .dem
and a .info
file, the application reads the
.info
file to generate a minimal scoreboard similar to the game shows.
The .info
file contains only players' Steam IDs - we retrieve players' names and avatars from the Steam WEB API.
In the case of matches (i.e., analyzed demos), we only need to retrieve players avatars as names are available when parsing the .dem
file.
If you see "Player 1", "Player 2"… on a demo's scoreboard or avatars are missing on both demos or matches scoreboard,
it means the Steam API key used by the application has reached its rate limit, and we can't retrieve players' names and
avatars.
You should use your own Steam API key to avoid this issue.
Demos date are wrong
The date corresponds to the creation date of the demo file.
The only exception is for Valve demos that have their .info
file next to the demo file.
If it's the case, a more accurate date will be retrieved from this file.
HLTV rating 2.0 accuracy
The HLTV 2.0 rating is calculated using the formula from this post.
Please note that it's an estimated value and may not be 100% accurate as the official HLTV formula is private.
HLTV rating 2.1 support
The official HLTV formula is private and there is no plan to reverse-engineer it.
Like for the HLTV 2.0 rating, if someone finds an accurate formula and make it public, it will be added to the application.
Demos stats are wrong or missing
- Some application updates may require re-analyzing demos to have updated stats.
- If it's a CS2 demo, please ensure it's not related to a CS2 limitation.
- Ensure the demo comes from a supported platform.
- Make sure the source is correct in the application. For example, if it says Valve when the demo comes from FACEIT, this may be the problem. You can update the source from the demos list (right-click on the demo).
Why are team names always "Team 1" and "Team 2"?
Team names are available only if all players of a team have the same clan tag or when the team names have been set in the server configuration.
The rank displayed is not my current rank
The application displays the rank detected in the most recent demo analyzed (based on the date).
If the displayed rank differs from your current one, it's probably because you still need to analyze your last demo.
Ranks are all unknown on the scoreboard
- Ranks are available only with demos coming from Valve Matchmaking.
- If the Steam Game Coordinator was down when ranks are revealed, they may be missing from the demo.
Damages stats are missing
- For CSGO demos, damages are available only for demos created after the 30/06/2015 CSGO update.
- For CS2 demos, damages may be missing in early demos created from the CS2 Limited Test.