Sins of a Solar Empire : Real-Time Strategy. Unrivalled Scale.
© 2003-2013 Ironclad Games Corporation Vancouver, BC. All rights reserved.
© 2006-2013 Stardock Entertainment

Tool/Checksum to alert/notify "Desynchronisation"

By on May 5, 2012 7:29:57 AM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Hell

Join Date 09/2006
+1

Hello,

This is mostly adressed to Devs.
We know that sync issues that occur more than often in multiplayer games cannot be solved unless we (players, testers) provide you with some information.
In the meantime, it is definitally a game breaker. Some desync cause issues/crashes right away, so it is not really a problem to notice them. But most of the ones I have had were discovered after a long time playing, sometimes hours, and it is really annoying.

I read something on the forum that made me think of something which possibily could alert us players that a desync occured.
Indeed, if it could be possible to have a tool that keeps a checksum during the game, we could regulary compare it with our friends on the game, and find out if we have lost sync.

Two positive results :

- players can regulary check that their game is ok. If they see a sync issue, they can easily reload from a not too long ago past saved game.
- players can isolate the desync and provide information to devs.

For instance, in my last game, we had a desync after less than 9 minutes of game ! This is unreal.. We noticed only 40 minutes later, and discovered with endgame stats that my second capital that I built after 9 minutes of playing was never built in my friends game..

I hope this idea can lead to something, because sync issues truly are a game breaker..

17 Replies
Search this post
Subscription Options


Reason for Karma (Optional)
Successfully updated karma reason!
May 7, 2012 11:06:39 AM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Ok. The checksum would have to be performed on the block of memory not containing the models etc, otherwise it would be a huge cpu intensive affair. Now if I were to invest the time into figuring out how to read just that part of the memory, that would be it for me as far as the game is concerned. 

Alternate way of doing this, would be to use the game engine to perform much of the work for you. How? Simple... You take a save in middle of the game, then you run checksum on the save.  Everyone generates the save at the same time, so they should be identical. A tool like that wouldn't be too hard to make. Of course, if the devs want, they could put that functionality in game.  Have all clients send checksum in chat after every save, so it becomes obvious if there's a desync.

Reason for Karma (Optional)
Successfully updated karma reason!
May 7, 2012 11:36:30 AM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Autosave checksums would probably be a really good way to do this and should help in hunting down this bug.

Reason for Karma (Optional)
Successfully updated karma reason!
May 7, 2012 12:19:29 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

The Developer.exe can already detect desyncs, especially if you set up your settings as recommended by Yarlen. The thing is I'm not sure if everyone in the game has to be doing this, or if its something you can do on your own. Also its very memory intensive and causes lag, so typically its only worth doing this for testing autosaves after a desync has occured to identify roughly when the desync happened, and then try to recreate the game exactly as it happened until the desync occurs again.

Greetings players! We've been getting reports of multiplayer desyncs with the game and would like to try and pin this down. In order to do so, we need more data from those hitting the issue.  

It would help us a great deal if users could use the Sins of a Solar Empire Rebellion Dev.exe while testing this out and clear out your Checksum folder (mentioned below) after each test.

In order to send us useful data, you'll need to modify your rebellion.user.setting file located at:

C:\Users\[username]\Documents\My Games\Ironclad Games\Sins of a Solar Empire Rebellion\Setting

Modify the following values to what's below:

CalculateCheckSumTickFrequency 50
CalculateCheckSumDetail 2
SaveCheckSumSnapShotsInGameTickFrequency 0
SaveCheckSumSnapShotsOnSave FALSE
IsCheckSumLoggingOn TRUE

If you get a desync, please zip up your Checksum folder (it'll be a directory at the location above) shortly after the desync occurs, along with your most recent save game and email it to rebellionbeta@stardock.com with the Subject: Rebellion Desync. Ideally we need this for every player in your game.

Thanks in advance for your assistance.

 

Reason for Karma (Optional)
Successfully updated karma reason!
May 7, 2012 12:46:05 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Hey Goa I just saw this and am unfortunately on the run--why don't one of us who has time make a mod of this so anyone can run it.  If people were setting up an MP game and someone said, "Have you changed your settings?" It would be a lot easier to simply say, "Hey, run this mod before we play".

Reason for Karma (Optional)
Successfully updated karma reason!
May 7, 2012 12:48:11 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Quoting Sinperium,
Hey Goa I just saw this and am unfortunately on the run--why don't one of us who has time make a mod of this so anyone can run it. If people were setting up an MP game and someone said, "Have you changed your settings?" It would be a lot easier to simply say, "Hey, run this mod before we play".

But its not a mod... the settings file isn't located with the other game files.

Reason for Karma (Optional)
Successfully updated karma reason!
May 7, 2012 1:12:00 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Yeah--part of the "I'm in a hurry" thing.   Make a bat file then.

Reason for Karma (Optional)
Successfully updated karma reason!
May 7, 2012 3:25:27 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Quoting Sinperium,
Yeah--part of the "I'm in a hurry" thing.   Make a bat file then.

Are you suggesting trying to intercept packets or interpret an autosave file of unknown structure?

Reason for Karma (Optional)
Successfully updated karma reason!
May 7, 2012 4:02:35 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Quoting Volt_Cruelerz,
re you suggesting trying to intercept packets or interpret an autosave file of unknown structure?

I assure you Sinperium doesn't even understand what that means. He meant make a bat file to set up the settings file correctly then launch the dev.exe so people who don't understand Yarlen's instructions can still report desyncs.

Reason for Karma (Optional)
Successfully updated karma reason!
May 7, 2012 4:14:37 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

I do too know what a bat file is...it's how the Commissioner tells Batman when they need him.  

Intercepting of packets of unknown structure means taking those little packs out of electronics and stuff that say "do not eat" and seeing what's inside of them

I'm not a moron you know.

Reason for Karma (Optional)
Successfully updated karma reason!
May 7, 2012 4:18:05 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Quoting GoaFan77,

Quoting Volt_Cruelerz, reply 7re you suggesting trying to intercept packets or interpret an autosave file of unknown structure?

I assure you Sinperium doesn't even understand what that means. He meant make a bat file to set up the settings file correctly then launch the dev.exe so people who don't understand Yarlen's instructions can still report desyncs.

Alright, that makes more sense.

Reason for Karma (Optional)
Successfully updated karma reason!
May 8, 2012 12:24:38 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

I'm not an expert in coding, but I guess the idea of a checksum when we save that would allow us to easily control syncronisation status looks good.
And if it does not need modifications in user settings it may be even better.
Does any Dev have an opinion about this ?

Reason for Karma (Optional)
Successfully updated karma reason!
May 8, 2012 12:48:13 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Quoting Hell,
Does any Dev have an opinion about this ?

They already have a way to do this for themselves, I don't think they're going to redo the save system just to make it easier for the masses. And their system works by constantly checking the checksum in game so they see the moment a desync occurs, which is more useful to them than mere save checking.

Reason for Karma (Optional)
Successfully updated karma reason!
May 8, 2012 5:21:45 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Quoting GoaFan77,

They already have a way to do this for themselves, I don't think they're going to redo the save system just to make it easier for the masses. And their system works by constantly checking the checksum in game so they see the moment a desync occurs, which is more useful to them than mere save checking.

But if I get it right, is uses a lot of CPU ressource, making real games unplayable (I mean with large armies). Which means every game we will "play" will have to be dediccated to finding desync, instead of enjoying a game and being able at the same time to improve the game.
In the end, not many people will accept to sacrifice their game time in finding issues that Devs could have made a lot easier to find.

Am I correct ?

Reason for Karma (Optional)
Successfully updated karma reason!
May 13, 2012 7:16:15 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

I certainly would, because it benefits me in the end.

Reason for Karma (Optional)
Successfully updated karma reason!
May 18, 2012 2:13:46 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

im finding that im getting consistant desyncs with certain players. Is that a clue to the problem?

Reason for Karma (Optional)
Successfully updated karma reason!
May 18, 2012 2:37:49 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Quoting P5yy,
im finding that im getting consistant desyncs with certain players. Is that a clue to the problem?

Could be. Either means the desyncs are caused by certain PC configurations or somehow those players have a slightly different version of the game than you do, and its not getting detected by the checksum checker.

Reason for Karma (Optional)
Successfully updated karma reason!
June 10, 2012 5:51:26 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

I don't think the cost/time ratio is worth it for the devs as this issue has been going on since 2008. Otherwise it'd have been fixed. Most people playing sins play single player

Reason for Karma (Optional)
Successfully updated karma reason!
Stardock Forums v1.0.0.0    #108434  walnut1   Server Load Time: 00:00:00.0000656   Page Render Time: