akiver / cs-demo-manager

Companion application for your Counter-Strike demos.
https://cs-demo-manager.com
MIT License
1.42k stars 194 forks source link

Wrong team in analysis results #740

Closed milkywayfarer closed 8 months ago

milkywayfarer commented 8 months ago

Describe the bug

When we record a demo from a local match, CS:DM chooses player's team according to the side picked in warmup, not in match.

Demo links

No response

Steps to reproduce

  1. Start a local server, choose T side
  2. Just before everyone is ready, pick CT side and play the match starting as CT
  3. Analyze the resulting SourceTV demo
  4. You're recorded as T for the match in analysis results

Expected behavior

I believe CS:DM decides the team according to first team chosen in warmup stage. We often change teams on warmup while waiting for teammates to connect, and results can show 3v7 competitive match. The team should be decided just after the first pistol round starts. Yes, local demos are not officially supported, but this is the only bug I've encountered so far.

How often does this bug happen?

None

Log file

No response

Environment information

Version: 3.2.0 OS: darwin x64 23.2.0 Electron: 28.1.1 Chrome: 120.0.6099.109 Last database migrations: v1 - 2023-12-27T07:44:27.131Z

Additional context

No response

akiver commented 8 months ago

Demos from private servers are not supported for this kind of reason - it's impossible to support all use cases. That's why using the CS built-in match system or the eBot is recommended.

The Valve analyzer could work if you use the same CS built-in recording pattern. Keep the warmup period enabled until the match really starts and don't restart the round during the warmup. Players and teams are detected when a round starts for Valve demos as there is no round restart during the warmup.

You could also start recording just before the first round when all players are ready.