(svn r19620) -Fix: desync when a command is received and in the queue while a client starts joining, i.e. save the game state. This can happen in two ways: with frame_freq > 1 a command received in a previous frame might not be executed yet or when a command is received in the same frame as the join but before the savegame is made. In both cases the joining client would not get all commands to get in-sync with the server (and the other clients).
This commit is contained in:
@@ -353,6 +353,7 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_MAP)
|
||||
|
||||
sent_packets = 4; // We start with trying 4 packets
|
||||
|
||||
NetworkSyncCommandQueue(cs);
|
||||
cs->status = STATUS_MAP;
|
||||
/* Mark the start of download */
|
||||
cs->last_frame = _frame_counter;
|
||||
|
Reference in New Issue
Block a user