Printable Version of Topic

Click here to view this topic in its original format

SWR Productions Forum _ ShockWave Support _ A Game Mismatch Was Detected

Posted by: ChiEkku 23 Sep 2010, 4:41

tl;dr - Shockwave will randomly cause a game mismatch in a LAN game, no pattern. And now for the details....

For the record, my friends and I all use legit copies, without NoCD hacks. I use a disk image (that I made from my own disk) in Daemon Tools, but that's irrelevant.

I've been playing Shockwave since 0.95, and have heartily enjoyed it. I'll usually duel a friend, or have the occasional 4 person FFA with three of my friends. We use Hamachi, like everyone else, and have had no problems for the...two something years SW has been around. However, for reasons that now escape me, LAN play is now volatile and unstable, crashing with the "serious errors" or mismatches at random times midway through a match. It never used to be like this...

So the other day a friend and I sat down to our first game of the semester; we had played over summer while we both worked at our summer internships, but not very often. So, we began the match on Tournament Desert like we always do (starting units on). About half an hour in, just as I was about to send in a wave of laser paladins and comanches, the game mismatches. You know, that big black box that says "A mismatch has been detected", even tho things seem to be running great. Well, it had happened before, but only rarely. So, naturally we started a new one. Eight (8) mismatches later, we realized something was wrong.

We began hypothesising why this might be happening. Game data corruption? Maybe. Nothing had changed in the past few months: no new mods, no 3rd party patches, nothing. We had hardly touched the game since Spring. Anyway, we both uninstalled the mod, then ZH, then Generals, cleared the Game Data folders in Documents, etc. Then we reinstalled everything (including the ZH 1.04 patch before SW). Once it was all good to go, we crossed our fingers and tried a match. To our joy, we made it thru an hour and half of gameplay without any mismatch (we have large epic battles, so it takes a while). So, naturally, we figured it had been fixed. Hooray! We started a new game. Mismatch; we hadn't even built up our bases yet. So we started another one. Mismatch. We tried a third time. Mismatch. Apparently it *wasn't* fixed after all.

What else could it be. Our connection? My friend was in a new apartment, and his new internet sucked; maybe that was it. So, when he went home for the weekend (his parents have high speed cable), we tried again. Mismatches all over the place. Okay, so it's not the connection, maybe it was his hardware; his computer's old-ish (single core athlon, geforce 6800) but we never had a problem before.

I had heard that playing across different operating systems might cause problems (I use 7, my friend uses XP), but it was never an issue. Still, I wasn't about to throw out the possibility. So, I tried playing with a different friend who also uses 7, and who I also play SW frequently with. We mismatched within about 10 minutes.

At that point, the only thing that made any sense was it could be the mod. So this other friend and I tried playing vanilla ZH without SW. We played three full matches without any problems.

My conclusion? It can't be the connection, hardware, OS, or files for Generals/ZH; something's up with SW specifically, and I can't figure it out. What's even stranger is after reinstalling the mod I got in one good, long match before it all went to hell. Is there some...file that get's corrupted after playing too long? And why now? It's *so* weird it's only happened in the past few weeks. Any help would be appreciated.

~chiekku

Posted by: Aaron 23 Sep 2010, 6:02

its entirely random dude , i know its weird and i haven't bein able to answer it eaither , there is no way to fix it , Mod codes are not really "Stable" and can easily cause mismatches that no one can really figure out , sometimes it mismatches 5 mins into the game or 40 mins into the game, or not at all , i don't understand why but its just like that with any mod other then vZH its self

Posted by: Casojin 24 Sep 2010, 5:51

Contra mod has released a netfix patch to the mod, which reduces mismatch in the game. Creator (the creator of contra) edited the network config part inside GameData.ini (which would be in Data\INI folder). Maybe Shockwave might be able to implement the same thing.


Here is what he said on Contra forum.

QUOTE (Creator)
We have started multiplayer testing in order to improve net code and reduce mismatches. We found the following in gamedata.ini:

NetworkFPSHistoryLength = 30 ; The number of fps history entries.
NetworkLatencyHistoryLength = 200; The number of ping history entries.
NetworkRunAheadMetricsTime = 5000; The number of miliseconds between run ahead metrics things
NetworkCushionHistoryLength = 10 ; The number of cushion values to keep.
NetworkRunAheadSlack = 10 ; The amount of slack in the run ahead value. This is the percentage of the calculated run ahead that is added.

NetworkKeepAliveDelay = 20 ; The number of seconds between when the connections to each player send a keep-alive packet.
NetworkDisconnectTime = 5000 ; The number of milliseconds between when the game gets stuck on a frame for a network stall and when the disconnect dialog comes up.
NetworkPlayerTimeoutTime = 60000 ; The number of milliseconds between when a player's last keep alive command was recieved and when they are considered disconnected from the game.
NetworkDisconnectScreenNotifyTime = 15000; The number of milliseconds between when the disconnect screen comes up and when the disconnect notification is sent to the other players.

Exact meaning of the first 5 parameters is not clear yet. The last 4 parameters are clear and effect almost nothing.

We suppose that mismatch appears this way. The game checks some kind of metrics once per 5 seconds (NetworkRunAheadMetricsTime). When you give an orde to your units, the game transfers their coordinates and orders to another player. But if you have many of them, 5 seconds is not enough to transfer all data. The game starts to check data integrity too early and detects a mismatch. We suppose, that NetworkRunAheadMetricsTime, NetworkCushionHistoryLength and NetworkRunAheadSlack can be responsible for this. And their values can effect mismatch probability.

Maybe you can download the Contra Netfix and see what values are set for these parameters in the netfix patch and then do the same with Shockwave.

Posted by: ChiEkku 24 Sep 2010, 7:53

QUOTE
Maybe you can download the Contra Netfix


Thanks, bro; we'll give that a shot and post results.

Posted by: mcbag 9 Oct 2010, 21:01

I have the exact same issue.
Would be nice, if you could fix it.
€: It could also be the bots (non human players)
Because, when we added bots/ too many users, but we only used bots, it went out of sync.
If we played one on one (human beings) it went fine.
And the more bots (data) the earlier the error was.

Posted by: ChiEkku 10 Oct 2010, 0:31

QUOTE (mcbag @ 9 Oct 2010, 10:01) *
€: It could also be the bots (non human players)


I did notice that 4v4 is generally unplayable, period, in both vanilla ZH and SW. In my case, though, I'm just dueling one other human player (1v1).

Posted by: Casojin 11 Oct 2010, 8:47

4v4 is definitely unplayable (or in fact unfinishable due to mismatch or disconnection).

Posted by: R3ven 25 Oct 2010, 6:24

I've had a few online 4v4/7-8P FFAs and we never had any problems. This was with Zhaos Room and Nem's Inner Circle btw.

Posted by: woxenrud 28 Oct 2010, 1:28

Did the Contra Netfix make any difference?

Posted by: ChiEkku 2 Dec 2010, 16:01

QUOTE
Did the Contra Netfix make any difference?


Actually I couldn't find it :/ If one of you could link it to me, we would REALLY appreciate it.

UPDATE: So after installing V1.0, I played half a dozen matches with my three buddies (2v2) with no problems.

When we picked it up two days later, mismatches happened in every game after about 15 minutes. We gave up and migrated to C&C3.

We determined (kind of easily) that reinstalling everything fixes the problem for an unknown amount of time. As you can imagine though, it's far too troublesome to do on a regular basis (Generals -> ZH -> 1.04 -> SW takes, like, half an hour). Again, if someone could link me the Contra netfix (maybe make it a sticky or something), the four of us would greatly appreciate it.

We'll try some more in depth troubleshooting; maybe it's one computer causing it.

Posted by: ChiEkku 4 Nov 2011, 8:52

[one year later...]

After I did my yearly reformat, I decided to give Shockwave another chance. It didn't end well.

We did more in-depth testing. Playing SW 1.0 on LAN without Hamachi (good ol' LAN) was flawless. Being in the same room on the same LAN clearly helps here, since we played a dozen or so long matches without any problems. We didn't try any matches with AI.

After getting home and trying to play over Hamachi, we got through three very long duels. After these three duels, we set up a 2v2 against AI. It de-synced in a matter of minutes. Every game afterwards de-synced very early on in the game, even without AI players. Clearly, initializing the AI killed the mod permanently.

At this point we tried the Contra fix, which updates AI scripts and network packet management files in the install directory. De-syncs happened much, much faster, and every time. So, since it overwrote essential game files, we had to cleanly uninstalled/reinstalled everything. This time, we did SW 1.1 instead. No change; it still de-syncs each time.

None of this makes sense. Anything we did to break the game would easily be fixed by a clean re-install, yet the game retains its broken nature after doing so. So, I can't play Shockwave any more. Between the beta and final versions of Shockwave, everything got a lot more unstable, and it appears the only way it will work is by being in the same room as my opponents. I already play my games with Windows Firewall disabled and DMZ on; there's nothing standing in the way of the game making a connection, and we've been able to play many games on previous versions of the mod.

Whatever happened to the screen that tries to re-sync players? With the countdown from 59000 to 0 that waited for players to reconnect? That would solve everything. I can't remember the last time I saw that screen.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)