Netgame Desynchronization

Do you need help? Ask here!

Bug reporting belongs here: http://developer.wz2100.net/newticket
Siber
Rookie
Rookie
Posts: 22
Joined: 06 Feb 2010, 09:32

Netgame Desynchronization

Post by Siber »

This might be a bug, but I'd like to know if anyone else has experinced this phenomenon.

I play semi-regular Warzone games with friends, us against an AI horde, with voice chat for coordination and general conversation. It's a lot of fun, but there have always been a few issues just below the radar of really thinking about. Last night those issues finally came to a head. Now, the invincible tanks were probably just a factor of a solid AI tech advantage against our admittedly somewhat schizophrenic weapons research. The invisible tanks on the other hand, are a bit of a different matter.

Several times in the night one player would begin spontaneously losing units or structures. To their screen, buildings would just explode for no reason. There was nothing there to kill them, and sensor coverage was aplenty. But other players, when looking at the troubled area, could see enemy units roaming the area, firing. This happened repeatedly. The game never dsynched, and we all got a consistent ending to any combat, but some people just couldn't see some units.

I have encountered possibly related issues where the game won't always end at the same time for all players, with a few straggler units sometimes being missed, and in fact being completely unfindable, by some players, requiring a full sweep of the map by everyone.

anyone else seen anything like this?

Game was on 2.3 B11a, played through hamachi
Michal
Trained
Trained
Posts: 126
Joined: 10 Jan 2010, 18:07

Re: Netgame Desynchronization

Post by Michal »

My friend (Mefi) while hosting a 2v2 game. He had a wall blocking a chokepoint, saw 10 enemy tanks coming, then 'invisible mode on' - enemy tanks appeared on the other side of the wall.

For his enemy this looked normal: he destroyed 1-2 wall pieces and went in. Lag was not an issue, as all players had ping below 100ms.
crux
Trained
Trained
Posts: 139
Joined: 16 Jan 2010, 03:21

Re: Netgame Desynchronization

Post by crux »

beta 10 was better than beta 11a in the sync department.
careful that you don't say that though, they will delete your post.
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
Posts: 3780
Joined: 03 Aug 2006, 19:39

Re: Netgame Desynchronization

Post by Per »

crux wrote:careful that you don't say that though, they will delete your post.
Shouldn't you be a bit more careful about throwing accusations around? Nobody has deleted any of your posts.
User avatar
Buginator
Professional
Professional
Posts: 3285
Joined: 04 Nov 2007, 02:20

Re: Netgame Desynchronization

Post by Buginator »

Siber wrote:This might be a bug, but I'd like to know if anyone else has experinced this phenomenon.

I play semi-regular Warzone games with friends, us against an AI horde, with voice chat for coordination and general conversation. It's a lot of fun, but there have always been a few issues just below the radar of really thinking about. Last night those issues finally came to a head. Now, the invincible tanks were probably just a factor of a solid AI tech advantage against our admittedly somewhat schizophrenic weapons research. The invisible tanks on the other hand, are a bit of a different matter.

Several times in the night one player would begin spontaneously losing units or structures. To their screen, buildings would just explode for no reason. There was nothing there to kill them, and sensor coverage was aplenty. But other players, when looking at the troubled area, could see enemy units roaming the area, firing. This happened repeatedly. The game never dsynched, and we all got a consistent ending to any combat, but some people just couldn't see some units.

I have encountered possibly related issues where the game won't always end at the same time for all players, with a few straggler units sometimes being missed, and in fact being completely unfindable, by some players, requiring a full sweep of the map by everyone.

anyone else seen anything like this?

Game was on 2.3 B11a, played through hamachi
This game always had some bad sync issues, ever since it was released. (Even original 1.1 had sync issues).
Having said that, we are trying to get it better, with mixed results.
If you look at your netplay logs, you will see something like this:
-Sync statistics -
-----------------------------------------------------------
sent/unsent DroidCheck 122130 / 63422
sent/unsent StructureCheck 23210 / 63422
sent/unsent PowerCheck 123540 / 63432
sent/unsent ScoreCheck 23230 / 12354
sent/unsent Ping 32456 / 24233
sent/unsent isMPDirtyBit 23234 / 231256
-----------------------------------------------------------
If unsent is a large value, that means we ran out of bandwidth...except for the last one, that is for something else, and we DO want unsent to be higher than sent.
and it ends here.
BunkerBlaster
Trained
Trained
Posts: 268
Joined: 21 Feb 2010, 09:56

Re: Netgame Desynchronization

Post by BunkerBlaster »

Buginator wrote:
If you look at your netplay logs, you will see something like this:
-Sync statistics -
-----------------------------------------------------------
sent/unsent DroidCheck 122130 / 63422
sent/unsent StructureCheck 23210 / 63422
sent/unsent PowerCheck 123540 / 63432
sent/unsent ScoreCheck 23230 / 12354
sent/unsent Ping 32456 / 24233
sent/unsent isMPDirtyBit 23234 / 231256
-----------------------------------------------------------

If unsent is a large value, that means we ran out of bandwidth...except for the last one, that is for something else, and we DO want unsent to bu higher than sent.

Are you sure? I use to play this game on mplayer with a 333 mhz computer and dial up modem. I now have 15mps internet.
-Sync statistics -
-----------------------------------------------------------
sent/unsent DroidCheck 826 / 290331
sent/unsent StructureCheck 825 / 290332
sent/unsent PowerCheck 825 / 290332
sent/unsent ScoreCheck 825 / 290332
sent/unsent Ping 825 / 290332
sent/unsent isMPDirtyBit 50928 / 240229
-----------------------------------------------------------

The above game was 2v2 and evenly matched that lasted about 1 hour 45 min. No issues with game it was a good game. I was thinking the sent/unsent values were maybe backwards. Anyway there is a huge difference between 2.2.4 and beta11a. 2.2.4 had about 600 resent packets in an hour per player (netmon). Beta11a has anywere between zero and ten resent packets an hour per player. Im very happy with with beta11a. (Netmons measures packets where the above statistics are bits I think.) I hope there is one more beta before it is declared stable.
User avatar
Buginator
Professional
Professional
Posts: 3285
Joined: 04 Nov 2007, 02:20

Re: Netgame Desynchronization

Post by Buginator »

BunkerBlaster wrote:
Buginator wrote:
If you look at your netplay logs, you will see something like this:
-Sync statistics -
-----------------------------------------------------------
sent/unsent DroidCheck 122130 / 63422
sent/unsent StructureCheck 23210 / 63422
sent/unsent PowerCheck 123540 / 63432
sent/unsent ScoreCheck 23230 / 12354
sent/unsent Ping 32456 / 24233
sent/unsent isMPDirtyBit 23234 / 231256
-----------------------------------------------------------

If unsent is a large value, that means we ran out of bandwidth...except for the last one, that is for something else, and we DO want unsent to bu higher than sent.

Are you sure? I use to play this game on mplayer with a 333 mhz computer and dial up modem. I now have 15mps internet.
-Sync statistics -
-----------------------------------------------------------
sent/unsent DroidCheck 826 / 290331
sent/unsent StructureCheck 825 / 290332
sent/unsent PowerCheck 825 / 290332
sent/unsent ScoreCheck 825 / 290332
sent/unsent Ping 825 / 290332
sent/unsent isMPDirtyBit 50928 / 240229
-----------------------------------------------------------

The above game was 2v2 and evenly matched that lasted about 1 hour 45 min. No issues with game it was a good game. I was thinking the sent/unsent values were maybe backwards. Anyway there is a huge difference between 2.2.4 and beta11a. 2.2.4 had about 600 resent packets in an hour per player (netmon). Beta11a has anywere between zero and ten resent packets an hour per player. Im very happy with with beta11a. (Netmons measures packets where the above statistics are bits I think.) I hope there is one more beta before it is declared stable.
:hmm:
Yes, I am sure.
Sent is only incremented when we are below our buffer threshold of MAX_BYTESPERSEC, which is set for 14336.
If we blow past the buffer, then unsent is incremented.

Do you recall how many units you had in that game?

The netcode has changed alot between 2.2.4 and the 2.3 series.
and it ends here.
User avatar
Rider
Trained
Trained
Posts: 106
Joined: 31 May 2007, 16:06

Re: Netgame Desynchronization

Post by Rider »

So there's a hard cap on the amount of bytes sent by Warzone in multiplayer? Can one override this value for, say, LAN play?
User avatar
Saberuneko
Regular
Regular
Posts: 558
Joined: 15 Jan 2010, 18:20
Contact:

Re: Netgame Desynchronization

Post by Saberuneko »

Rider wrote:So there's a hard cap on the amount of bytes sent by Warzone in multiplayer? Can one override this value for, say, LAN play?
I override that values on LAN plays in near the 60% of cases...
BunkerBlaster
Trained
Trained
Posts: 268
Joined: 21 Feb 2010, 09:56

Re: Netgame Desynchronization

Post by BunkerBlaster »

Buginator wrote:Sent is only incremented when we are below our buffer threshold of MAX_BYTESPERSEC, which is set for 14336.
If we blow past the buffer, then unsent is incremented.

Do you recall how many units you had in that game?
Not exactly. It was on max power and we had 40 oil each. We would have maxed several times. I could take a snapshot for another game to show total units if this helps?

My network card shows less than 1 percent of the bandwidth used when I play Warzone and host 8 player game. The average is around .6 percent with peaks to 1 percent. This is per Networking in Windows task manager. (Windows XP SP3). My 15 mps internet gives me 10 to 12 mps on download and 2.5 to 3 mps on upload when I check speed. I have both Rx Tx flow control on.
User avatar
Rider
Trained
Trained
Posts: 106
Joined: 31 May 2007, 16:06

Re: Netgame Desynchronization

Post by Rider »

Saberuneko wrote:
Rider wrote:So there's a hard cap on the amount of bytes sent by Warzone in multiplayer? Can one override this value for, say, LAN play?
I override that values on LAN plays in near the 60% of cases...
Is that a simple command-line parameter? If so, where can I find that?
User avatar
Buginator
Professional
Professional
Posts: 3285
Joined: 04 Nov 2007, 02:20

Re: Netgame Desynchronization

Post by Buginator »

Rider wrote:So there's a hard cap on the amount of bytes sent by Warzone in multiplayer? Can one override this value for, say, LAN play?
Yes, there is a hard cap, and no, you can't override this yet--though, it is planned.

The problem is, we need to keep the buffer low, so 56k users can still play the game.
Trying to find a good balance, but I can't really test with a dial-up modem. Heck, I don't even know if the 14K buffer is already too big.
and it ends here.
User avatar
Crymson
Trained
Trained
Posts: 289
Joined: 18 Mar 2010, 21:08

Re: Netgame Desynchronization

Post by Crymson »

Is it a 14K input buffer, and a 14K output buffer, or is it 7K in and 7k out?
I guess it is time to check the source code.
User avatar
Rider
Trained
Trained
Posts: 106
Joined: 31 May 2007, 16:06

Re: Netgame Desynchronization

Post by Rider »

Yes, there is a hard cap, and no, you can't override this yet--though, it is planned.
That's good. Especially on LAN there's no real need for a cap this low. Is there any estimate on the time-window of when this'll be implemented? Personally I can't have this functionality soon enough. De-syncing has been a major burden for our games here, which are all over LAN.
User avatar
Crymson
Trained
Trained
Posts: 289
Joined: 18 Mar 2010, 21:08

Re: Netgame Desynchronization

Post by Crymson »

Crymson wrote:Is it a 14K input buffer, and a 14K output buffer, or is it 7K in and 7k out?
I guess it is time to check the source code.
It is only one 14K buffer.
Post Reply