Page 1 of 2

Out of sync?

Posted: Sun Sep 05, 2004 4:32 pm
by Apothem
What in the world is getting out of sync? How can I prevent it? And how can I re-sync once it is out of sync without quitting.

Re: Out of sync?

Posted: Mon Sep 06, 2004 1:48 am
by HotWax
Apothem wrote:What in the world is getting out of sync?
While you're playing a network game, you and your friends' computers are communicating with each other in much the same way Doom processes demos. Instead of recording the movement of every little thing in the game, it only records the keystrokes the player presses, and trusts that the game will execute in exactly the same manner as it did when the demo was recorded. The tiniest change to the way the game works can screw up an entire demo because of this. Likewise, if one of the computers in a game misses the keypress of another player, or does anything different in the gameworld from what the other computers are doing, the game is suddenly playing different for that user. ZDoom detects this and reports that the game is out of sync for one or more players.
How can I prevent it?
Unfortunately you can never guarantee that it's not going to happen. Due to the insecure and ever-changing nature of the Internet, packets get lost in transit all the time. Most games and applications which use the Internet are able to recover from a certain amount of loss, but nothing is perfect, and ZDoom in particular has more finicky netcode because of the way it was originally designed.

You can try a few command-line options to attempt to minimize the likelihood of a desync, but it's never foolproof. IIRC, adding -netmode 1 -extratic to the command line of all players will send more data, using up more bandwidth but helping to ensure that the data gets through. If that doesn't work, it's likely that you just have a bad connection to the other players. :(

You can always try SkullTag instead, which supports most of ZDoom's features and has far superior netcode that is not prone to this sort of sync failure.
And how can I re-sync once it is out of sync without quitting.
You can't. Once a single keypress has been missed, ZDoom has to assume that the entire game may be changed for all players. Alot of times, this isn't the case and you can actually continue playing, but there's no way for ZDoom to know whether you're in sync or not.

Posted: Mon Sep 06, 2004 10:21 am
by Cutmanmike
This should be added to the FAQ

Posted: Mon Sep 06, 2004 11:20 am
by MasterOFDeath
Or stickied

Posted: Sun Sep 26, 2004 5:32 pm
by Apothem
Indeed. It seems really messed up zdoom just assumes that's the way the entire game goes instead of running a check or something, there should be some way to re-calibrate or something so that message doesnt pop up all the time, because it gets REALLY annoying. But thanks a bunch for the info.

Posted: Tue Dec 28, 2004 11:44 pm
by Macil
Well, ZDaemon has a true server-client architecture, and out-of-sync, as far as i can tell, is virtually impossible.

Hopefully ZDaemon will soon be based off 2.0.96 soon...

Posted: Wed Dec 29, 2004 12:35 am
by wildweasel
I have a question, Agent - why'd you bump a three-month topic just to pimp some other port?

Posted: Wed Dec 29, 2004 12:54 am
by Bio Hazard
does it really matter?
i mean seriously, it was only a 2 thread bump... and its not like he posted to say "OMG ZDAEMON IZ BETTARZ! OMG UZE IT CUZ ITZ T3H 1337Z0RZ!" like some people do...

if old threads werent meant to be posted to, they would be deleted after a date cutoff

sheesh...

Posted: Wed Dec 29, 2004 7:40 am
by Cutmanmike
did someone say CUT?

Posted: Wed Dec 29, 2004 8:24 am
by TheDarkArchon
Bio Hazard wrote: if old threads werent meant to be posted to, they would be deleted after a date cutoff
That's not always a good idea. On WildWeasel's Doom Armory forums, I was browsing through the "moding help and recruitment" forum and in it I saw an old thread in which WildWeasel was asking how to make Immoral Conduct type friends. I replied to it and solved him by ripping part of the Immoral Conduct code and then adding comments to it explaining how it was done

Posted: Wed Dec 29, 2004 1:45 pm
by Macil
wildweasel wrote:I have a question, Agent - why'd you bump a three-month topic just to pimp some other port?
ooops.... I sometimes get bored, browse the other pages... and forget its an old topic...

Anyways, ZDaemon sucks compared to ZDooM.

Posted: Wed Dec 29, 2004 1:47 pm
by Cutmanmike
Agreed

Posted: Wed Dec 29, 2004 5:05 pm
by wildweasel
Bumping threads this old is just fine and dandy if the problem isn't already solved, and the bumper has some kind of seriously crucial information to contribute (like TDA's aforementioned incident on the Doom Armory). One of the inherent flaws of this kind of bumping, however, is the fact that whoever needed a question answered may not be present in the forums anymore. With a little bit of research on the bumper's part, this can be avoided.

This public service announcement brought to you by WildWeasel's Doom Armory.

Posted: Fri Jan 07, 2005 6:28 am
by QBasicer
ZDoom is able to tell which player is out of sync, right? So maybe there should be something, that when the player is not moving and is out of sync, it resyncs with all it's data, position, health, armour, and direction.

Hard to do, yes, but maybe a good idea.

Posted: Fri Jan 07, 2005 6:48 am
by Chris
charris, I've proposed that idea before. That when ZDoom detects a desync, the "host" (player 1, whatever) saves the game, sends the save game to all the other players who load it up and restart playing. Poeple have mentioned the problem of save games being so big, but the majority of the file size in save games is from the image data, which wouldn't be needed in a network game resync.