[1.2.0] Airstrikes and Desyncs

Get community help for technical problems

Moderators: jelco, bert_the_turtle

User avatar
xander
level5
level5
Posts: 16869
Joined: Thu Oct 21, 2004 11:41 pm
Location: Highland, CA, USA
Contact:

[1.2.0] Airstrikes and Desyncs

Postby xander » Sat Oct 25, 2008 9:12 pm

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
User avatar
NeoThermic
Introversion Staff
Introversion Staff
Posts: 6256
Joined: Sat Mar 02, 2002 10:55 am
Location: ::1
Contact:

Postby NeoThermic » Sat Oct 25, 2008 11:11 pm

User avatar
xander
level5
level5
Posts: 16869
Joined: Thu Oct 21, 2004 11:41 pm
Location: Highland, CA, USA
Contact:

Postby xander » Sun Oct 26, 2008 4:42 pm

Another one with NeoThermic: http://yozh.org/sandbox/syncerror-1969- ... -team0.txt

Image

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.
User avatar
NeoThermic
Introversion Staff
Introversion Staff
Posts: 6256
Joined: Sat Mar 02, 2002 10:55 am
Location: ::1
Contact:

Postby NeoThermic » Sun Oct 26, 2008 4:45 pm

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:

Image

However, that should help us solve it!

NeoThermic
User avatar
bert_the_turtle
level5
level5
Posts: 4795
Joined: Fri Oct 13, 2006 6:11 pm
Location: Cologne
Contact:

Postby bert_the_turtle » Sun Oct 26, 2008 5:12 pm

That would also explain the old sync errors I got in BLITZ where it looked from my side as if the enemy had just planted a turret right inside mobs of my guys, and wouldn't tell me what they really did.
User avatar
frenchfrog
level5
level5
Posts: 2572
Joined: Sun Sep 22, 2002 7:11 pm
Location: Quebec

Postby frenchfrog » Mon Oct 27, 2008 6:59 pm

Wow, nice find guys :)
The Ultimate Uplink Guide (for any question on Uplink)
Latest Uplink Patch
User avatar
xander
level5
level5
Posts: 16869
Joined: Thu Oct 21, 2004 11:41 pm
Location: Highland, CA, USA
Contact:

Postby xander » Sun Nov 09, 2008 5:50 pm

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
ManE
level1
level1
Posts: 13
Joined: Fri Sep 08, 2006 12:09 am

Confirming

Postby ManE » Tue Nov 11, 2008 1:27 am

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!
User avatar
xander
level5
level5
Posts: 16869
Joined: Thu Oct 21, 2004 11:41 pm
Location: Highland, CA, USA
Contact:

Re: Confirming

Postby xander » Tue Nov 11, 2008 5:05 pm

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
User avatar
Phelanpt
level5
level5
Posts: 1837
Joined: Thu Aug 10, 2006 4:20 am
Location: Portugal

Postby Phelanpt » Wed Nov 12, 2008 12:27 am

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:

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.
User avatar
xander
level5
level5
Posts: 16869
Joined: Thu Oct 21, 2004 11:41 pm
Location: Highland, CA, USA
Contact:

Postby xander » Wed Nov 12, 2008 12:29 am

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
User avatar
bert_the_turtle
level5
level5
Posts: 4795
Joined: Fri Oct 13, 2006 6:11 pm
Location: Cologne
Contact:

Postby bert_the_turtle » Wed Nov 12, 2008 8:45 am

Phelanpt wrote:Edit: Hmm, just looked at the debug.txt, and apparently the sync was fixed:
No, it wasn't really. Dedwinia fakes this message just before a client quits so the game can continue when the single out of sync player leaves (which it still doesn't in 1vs1, I'll get to that).
User avatar
Phelanpt
level5
level5
Posts: 1837
Joined: Thu Aug 10, 2006 4:20 am
Location: Portugal

Postby Phelanpt » Wed Nov 12, 2008 4:48 pm

Ok, I wasn't sure if it was that. Thanks.
User avatar
NeatNit
level5
level5
Posts: 2929
Joined: Mon Jan 28, 2008 2:41 pm
Location: Israel
Contact:

Postby NeatNit » Fri Nov 14, 2008 11:41 pm

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*
User avatar
xander
level5
level5
Posts: 16869
Joined: Thu Oct 21, 2004 11:41 pm
Location: Highland, CA, USA
Contact:

Postby xander » Sat Nov 15, 2008 3:25 am

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

Return to “Windows Troubleshooting”

Who is online

Users browsing this forum: No registered users and 3 guests