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)

Change History (0)

Note: See TracTickets for help on using tickets.