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..
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.
Autosave checksums would probably be a really good way to do this and should help in hunting down this bug.
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 50CalculateCheckSumDetail 2SaveCheckSumSnapShotsInGameTickFrequency 0SaveCheckSumSnapShotsOnSave FALSEIsCheckSumLoggingOn 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.
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.
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?
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.
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.
Alright, that makes more sense.
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 ?
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 ?
I certainly would, because it benefits me in the end.
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.
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
There are many great features available to you once you register, including:
Sign in or Create Account