[1.2.0] Airstrikes and Desyncs
Moderators: jelco, bert_the_turtle
[1.2.0] Airstrikes and Desyncs
I have had several Blitz games end due to sync errors recently. Most of these have been on dedicated servers, but I am not sure that all of them have been. The problem seems to occur when an airstrike is launched. I have had this happen on Confrontation Point and Bleak Mountains. I don't have much other information to offer -- sorry. An example sync log can be found at http://yozh.org/sandbox/syncerror-2008- ... -team1.txt . I will upload more when/if I experience more sync outs, and I will try again to get the other player to post theirs, as well. I assume that NeoThermic has a recording of the game.
xander
xander
- NeoThermic
- Introversion Staff
- Posts: 6256
- Joined: Sat Mar 02, 2002 10:55 am
- Location: ::1
- Contact:
Another one with NeoThermic: http://yozh.org/sandbox/syncerror-1969- ... -team0.txt
I think I may know what is going on -- when playing against the AI, I have noticed that, after a while, I start getting airstrikes for reinforcements rather than turrets. I don't know if this is intentional or not, but it seems to happen when I have my full complement of turrets (either placed or not). If I have as many turrets as possible, I start getting airstrikes, instead. In this particular game, I had placed a turret (which NeoThermic destroyed), then placed a second turret. This was fine. However, when I placed a third turret, the game desynced. NeoThermic says that, rather than placing a turret, I dropped an airstrike (I am sure that his screenshot will show this).
xander
I think I may know what is going on -- when playing against the AI, I have noticed that, after a while, I start getting airstrikes for reinforcements rather than turrets. I don't know if this is intentional or not, but it seems to happen when I have my full complement of turrets (either placed or not). If I have as many turrets as possible, I start getting airstrikes, instead. In this particular game, I had placed a turret (which NeoThermic destroyed), then placed a second turret. This was fine. However, when I placed a third turret, the game desynced. NeoThermic says that, rather than placing a turret, I dropped an airstrike (I am sure that his screenshot will show this).
xander
Last edited by xander on Sun Oct 26, 2008 4:52 pm, edited 1 time in total.
- NeoThermic
- Introversion Staff
- Posts: 6256
- Joined: Sat Mar 02, 2002 10:55 am
- Location: ::1
- Contact:
Yep. The following will help:
Recording of game
Event log of game
Sync log of game (note the weird date)
Most confusingly, the screenshot I asked xander for, but taken with my client:
However, that should help us solve it!
NeoThermic
Recording of game
Event log of game
Sync log of game (note the weird date)
Most confusingly, the screenshot I asked xander for, but taken with my client:
However, that should help us solve it!
NeoThermic
- bert_the_turtle
- level5
- Posts: 4795
- Joined: Fri Oct 13, 2006 6:11 pm
- Location: Cologne
- Contact:
- frenchfrog
- level5
- Posts: 2572
- Joined: Sun Sep 22, 2002 7:11 pm
- Location: Quebec
This is still happening in 1.2.1 (it wasn't reported as fixed, so I wasn't expecting anything, so I didn't re-report it until now). To the best of my knowledge, the problem is something like this: on most blitz maps, when you capture the center flag, you start getting airstrikes instead of turrets as reinforcements. However, if you capture the center flag very quickly (before you get your full compliment of turrets, I think -- though I have had trouble getting people to experiment with this with me), you will be given the wrong upgrade (you will think you have a turret when everyone else -- i.e. other clients -- think you have an airstrike). When you try to place the turret, your client tries to place a turret, but everyone else sees an airstrike, causing desync.
I think it might have something to do with not first getting a full compliment of turrets because it is much harder to reproduce this bug if all settings are default (i.e. you get one turret every other round of reinforcements, and a maximum of two turrets), as opposed to the settings found on most of the Dedwinias (i.e. you get one turret every other round of reinforcements, and a maximum of three turrets).
xander
I think it might have something to do with not first getting a full compliment of turrets because it is much harder to reproduce this bug if all settings are default (i.e. you get one turret every other round of reinforcements, and a maximum of two turrets), as opposed to the settings found on most of the Dedwinias (i.e. you get one turret every other round of reinforcements, and a maximum of three turrets).
xander
Confirming
Hi there, just to confirm a desynch happened on blitzkK "Eye of the world" ?!? ,
think that's the name, have log on local machine if someone needs to take a peak...
It happened on launching airstrike as well!
think that's the name, have log on local machine if someone needs to take a peak...
It happened on launching airstrike as well!
Re: Confirming
ManE wrote:Hi there, just to confirm a desynch happened on blitzkK "Eye of the world" ?!? ,
think that's the name, have log on local machine if someone needs to take a peak...
It happened on launching airstrike as well!
As pointed out above, the desync happens when a player tries to play a reinforcement granted power-up -- either a turret or an airstrike. It occurs on all maps where a player might get either turrets or airstrikes as reinforcements -- thus Confrontation Point, Eye of the World, and The Bleak Mountains.
As to the above post of mine, perhaps it is better ignored. I thought I had it tracked down a bit, but, in the end, I can't reliably reproduce the bug. I have no idea how to replicate. :(
xander
Played against xander and got a syncerror just a little after blowing up one of his turrets with my armor.
The UI showed us both as out of sync.
At the time I had two unused turrets on the powerup list.
syncerror log
Edit: Hmm, just looked at the debug.txt, and apparently the sync was fixed:
The UI showed us both as out of sync.
At the time I had two unused turrets on the powerup list.
syncerror log
Edit: Hmm, just looked at the debug.txt, and apparently the sync was fixed:
Code: Select all
sound thread blocked for 0.006309 seconds
sound thread blocked for 0.006130 seconds
sound thread blocked for 0.005902 seconds
Network update Terminate : team 0 program 4
sound thread blocked for 0.005748 seconds
sound thread blocked for 0.006209 seconds
Request terminate entity : team 1 entity 40
sound thread blocked for 0.006156 seconds
Network update Terminate : team 1 entity 40
Entity found
Network update Terminate : team 1 entity -1
ObstructionGrid took 45ms to generate
sound thread blocked for 0.011042 seconds
sound thread blocked for 0.018253 seconds
sound thread blocked for 0.015108 seconds
CLIENT: Server informed us that client 7 is out of sync at seq id 1859
CLIENT: Server informed us that client 8 is out of sync at seq id 1859
sound thread blocked for 0.005325 seconds
CLIENT: Sending chat messageAvailable Memory: 225 MB Physical, 1488 MB Virtual. Sample Cache = 57 MB (33% in use)
Requesting send viral achievement mask
Viral achievement mask is 0
Update has player achievement mask
Achievement mask is 0
Setting achievement mask to 0 for team id 1
ClientToServer received bogus message, discarded (11)
CLIENT: Sending chat messageCLIENT: Sending chat messageUpdate has player achievement mask
Achievement mask is 1
Setting achievement mask to 1 for team id 0
ClientToServer received bogus message, discarded (11)
CLIENT: Sending chat messageCLIENT: Sending chat messageCLIENT: Sending chat messageNetwork update Terminate : team 0 entity -1
Available Memory: 222 MB Physical, 1487 MB Virtual. Sample Cache = 59 MB (21% in use)
Requesting send viral achievement mask
Viral achievement mask is 0
Update has player achievement mask
Achievement mask is 0
Setting achievement mask to 0 for team id 1
ClientToServer received bogus message, discarded (11)
CLIENT: Sending chat messageUpdate has player achievement mask
Achievement mask is 1
Setting achievement mask to 1 for team id 0
ClientToServer received bogus message, discarded (11)
Team name set to xander at 689.3924
CLIENT: Sending chat messageSYNCFIXED Server informed us that Client 7 has repaired his Sync Error
CLIENT : Client 7 left the game
Team 0 replaced with CPU player
AI Node graph rebuilt in 0ms
Capture frame buffer 0ms
Returning false from saving profile
CLIENT : Sending disconnect...
CLIENT : Disconnected
Last edited by Phelanpt on Wed Nov 12, 2008 12:32 am, edited 1 time in total.
This may be related. I was playing blitz against Phenalpt on Eye of the World. I had captured the center of the map, and had turrets placed in the center, and near one of the peripheral spawn points. Phenalpt destroyed the gun turret near the spawn point, and the game promptly went out of sync.
http://yozh.org/sandbox/syncerror-2008- ... enalpt.txt
xander
http://yozh.org/sandbox/syncerror-2008- ... enalpt.txt
xander
- bert_the_turtle
- level5
- Posts: 4795
- Joined: Fri Oct 13, 2006 6:11 pm
- Location: Cologne
- Contact:
NeatNit wrote:There's something I never understood about desyncs - why doesn't the server try to resync the game? And if it does, why doesn't it SAY it does?
No need to answer me, just needed to get that nooby question out of my system.
*sits and waits for answer*
All of the clients run separate simulations. Let us say that there are two people playing a game. Each of their clients is running a simulation, and sending back packets to the server which give it information about what buttons a player has pushed, where he is sending units, &c., as well as sync packets with give a general overview of the game. However, it is up to the clients to actually carry out the actions. The game can stay in sync because there is nothing truly random about it -- both clients are generating 'random' events with a pseudo-random number generator, which has been given the same seed for both clients. Unfortunately, it seems that it is possible for one client to get off somewhere along the line. This can cause problems, in that a 'random' event on one client might not be reflected in the simulation of the other. This is when the sync error occurs -- one client states that unit x is in position y, while the other client states it is position z (or something along those lines).
How, then, can the server sort out which client is correct? Both clients have been running the simulation, and both should have done exactly the same thing. A sync error means that one client or the other is broken in some way. If you were to try and fix the error, how would you do it? Which client would you trust? What if someone was cheating and sending bad packets?
xander
Who is online
Users browsing this forum: No registered users and 3 guests