Opened 9 years ago
Last modified 4 months ago
#3348 reopened defect
OOS dump sometimes contains the simulation state of the wrong turn — at Initial Version
Reported by: | elexis | Owned by: | |
---|---|---|---|
Priority: | Must Have | Milestone: | Backlog |
Component: | Network | Keywords: | |
Cc: | Patch: |
Description
If the host detects an out of sync error, then it sends a CSyncErrorMessage
. If the client receives it, it will write the current simulation state to the oos_dump.txt
file.
However it seems that sometimes the message arrives late, i.e. when a client or host has already progressed one turn. This leads to the dumping of 'incompatible' oos_dump.txt files.
Since stem from the same game but are one turn off, they look very similar, have almost the same amount of entities, but are not comparable as many valid things changed in one turn.
Most notably the rng
value in the beginning of the dump is different. In general it should be the same value for all clients on the same turn. However this value changes like every turn, thus indicating that the oos dumps have been taken at different turns.
Example: attachment:oos_rejoin_pathfinder_r16876_different_rng_entitycount_waypoints_subdiv-items.7z:ticket:3292
Same has been noted by Philip on IRC February 25th:
(11:12:00) Philip`: If you're comparing two oos_dumps, you might need to verify that they were captured on the same turn (11:12:26) Philip`: (Sometimes they're not, in multiplayer games, because of the asynchronous nature of the networking)
Possible solutions:
- don't dump the state if the simulation state has a different turn number (update the oos error message in that case too)
- don't let any client progress one turn until the server sent a new message confirming that all players are in sync (might worsen lagging)