nickbabcock / rrrocket

Rocket League Replay parser to JSON -- CLI app
MIT License
60 stars 7 forks source link

Incomplete Replay Data Question #254

Closed davechurchill closed 1 year ago

davechurchill commented 1 year ago

Hello! Thank you so much for your parser, it has saved me a ton of time and effort. I have a question for you with regards to some replays that I have which appear to have incomplete data in them. Here's some stats from a set of around 1200 replay files I obtained online:

Total Replays: 1200
With PlayerStats: 1032
Complete PlayerStats: 715

'With PlayerStats' means that replay['properties'] contains a 'PlayerStats' array containing an overview of that player's name, team, performance in the match, etc. 'Complete PlayerStats' means that the PlayerStats array size is actually equal to the number of players in the game after looking at all the network frames. In this example, nearly 30% of the replays with a PlayerStats array do not actually contain information about all the players, for example the PlayerStats array may be of size 3 for a 2v2 game.

My questions are the following:

Thank you again for the software

nickbabcock commented 1 year ago

Welcome! I'm unsure why some stats are incomplete (bots, players leaving / joining are first guesses), and as you've seen, missing PlayerStats isn't uncommon. You may be able to reach out to others (like the ballchasing community) who know more about the ins and out of interpreting Replay data.

Trust is a tough topic. If the CRC validates, then you can trust that the save isn't corrupted, but you can't trust that the replay hasn't been tampered. I'm not aware of incorrect data being written to replays, so you can trust that any data present was purposely written

davechurchill commented 1 year ago

Thank you for the reply. When I mentioned "trust" I didn't mean that there was a malicious attacker, moreso that the data was accurately representing what happened in the game. Players leaving or joining, disconnections, etc, I'm not sure how those events are handled. What I have resorted to is just throwing out replays that have undesirable properties or strange player movements (seemingly teleporting in the replay, etc) and only keeping the replays that meet some arbitrary standard