Spooky__ Spooky__

Critical Game State

Critical Game State

So it seems when a desync happens now, the game ends automatically. I hope v1.2 brings some actual fixes for possible desynchronisation causes.

106,709 views 50 replies
Reply #26 Top

no you don't. you now exactly when it happend. the game already detects this moment on the fly. that's plain wrong. that's why the game comes up with a desync message box. you know that the desync has been caused by an leaving player. the popup comes just a second afterwards. so short is the timedifference between the last synced status and the desynced one.
The game detects a desync because the result of a calculation of some command of some player was not the same as the result reported by another player. Of course you know when a desync happens, but the important thing is to know the game state, that was still in sync.

Reply #27 Top

you don't need to go through the whole data to find the last synced point. you can track this on the fly. this is nothing difficult. believe it or not.

 

anyway, it's the developers duty to do this or not. just a suggestion of a very simple thing to do.

Reply #28 Top

CelMare - imo game don't compare all in-game values one by one. It's not like game is sending hp, mana, coordinates, every single tower hp, citadel hp, position of all minions, their hp, state etc every 3 seconds. I believe on your computer game takes all this data and makes from it just 1 single control value (eg sum all values divided by something to make it smaller), and compare just 1 single string of data between computers (if it's different, something is wrong and desync popup). So it's not that easy, game just "see" someones eg. HP is different. When you change this HP on your PC, sum of all values will be different, so others will see desync, but their computer CAN'T tell which exactely value is wrong. It's just impossible (bandwith usage) and stupid to send WHOLE data between all players every 3 seconds to compare their game state. Just think how many things you would have to check "in fly".

About synchronizing the game. Sure it's possible. But you will have to send whole data to person who has desync. So they have to write new functions to compare every object 1 by 1 from eg host. That's possible to make, but for sure it's not easy. Resynching can easly fail, because there's no guarantee your computer will behave as it should after change your game state (towers which was destroyed are fine now, DG/minion positions are moved and so on - basically whole game state will suddenly change). So what eg. moved minions should do now, if they are in the "middle of fight" on the other comp ? Maybe game should send too, that some specific minotaur is 2/5 way to throw his hammer on the other team archer's head ? It would be really hard to coordinate all those little things. And, of course, if they don't coordinate those details, 3 seconds later game will desync again ! Because archer which suppose to die, on your computer just didn't (or died 0.2 sec later than it should, which changes whole game state again) !

Reply #29 Top

Resyncing can be done its just a lot of work. First pause the game then do a majority poll on all gamestate variables to filter out which client messed up then resync it with the other players. Ongoing changes like a half executed attack are simply reset and everything put back into the solid state position and the game continues from there on. Basically it would seem like a hiccup and maybe a tower would respawn or a unit position reset/warp. But it would be way better then ending the game.

But i would already be happy if they would just kick the desynced player and let the others finish the game to avoid desyncs that are done on purpose by a ragequitting cheater that just wants to screw you out of your victory.

And gamestate data surely isnt that huge. I mean lets assume every unit/tower/building has 1 kilobyte state data wich is huge and in reality is probably much less than that then even a thousand units would just be 1 Megabyte.

Reply #31 Top

Lost two games to this now.

Strangely enough, it may just be coincidence, but I was playing against the same guy on the losing team. He had whinged the game before that we were a premade, although not, in both games once the game was beyond recovery, it desync'd.

 

I wonder if this can be abused? Possibly ALT-TAB out and change something in use?

Reply #32 Top

Couldn't it be someone turning on hacks to cause it?

Reply #33 Top

Just had a game on the brothers.  The host was purgespam.  We got the desync message and it closed.  Stats are crazy though.  http://pantheon.demigodthegame.com/game/851048/player/28414/

PlayerTeamEntityFavor PointsResult
Shade Forces of Light Lord Erebus 0 Lost *
pacov Forces of Light Unclean Beast 0 Lost *
TrouserSnake69 Forces of Light Unclean Beast 0 Lost *
Purgespam Forces of Light Regulus 0 Lost *
KALELsmX Forces of Light Torch Bearer 0 Lost *
BlackWidowSPDR Forces of Darkness Regulus 90 Won
lawless2142 Forces of Darkness Rook 0 Lost *
willb7878 Forces of Darkness Regulus 0 Lost *
Binarylust Forces of Darkness Torch Bearer 0 Lost *
General Skillet Forces of Darkness Lord Erebus 0 Lost *

BlackWindowSPDR somehow gets a win... wonder if we can get any clarification on how the desync coding is supposed to work... in that game, it acted like the host disconnect exploit, but widow wasn't the host.  In the only other game I have had desync, no results were reported at all... I'm wondering if the fix to the host disconnect exploit was to assign 1 other player the same stat reporting rights of the host... then if both the host and this other person drop, then perhaps the desync message appears?  No idea, but am trying to makes some sense of a nonhost reporting like they pulled the host disconnect exploit. 

Reply #34 Top

hmm two games in a row i had this shiat. Both games did no register. I also had several occasions where the game would split up into seperate versions. Giving some people losses, some wins.

 

 

Reply #35 Top

Pacov i had a similar game where i was hosting and two guys started arguing with a teammate and rage quit, the game went on for another 5 mins before the last guy quit by concede... I did not have a critical game state message, although one did happen the next match.

Heres the game: http://pantheon.demigodthegame.com/game/871912/player/62759/

PlayerTeamEntityFavor PointsResult
badbitty Forces of Light Lord Erebus 0 Lost *
-Pod- Forces of Light Torch Bearer 0 Lost *
isnotchicago Forces of Light Oak 0 Lost *
13warrior Forces of Darkness Unclean Beast 120 Won
Stuntpickle Forces of Darkness Oak 0 Lost *
Leningradcowboy Forces of Darkness Lord Erebus 0 Lost *

 

Reply #36 Top

Belier and Apika may have found a way to force desyncs... saw in another post, but haven't checked stats yet. 

Reply #38 Top

Quoting UncleanXuch, reply 37
hmm forcing one is not that hard, just yank your internet cable out.

You sure you don't just get disconnected from the match with no desynchs for the remaining players?

Reply #40 Top

Critical game state

 

in a Pantheon  3 vs AI   and also at this point i often faight against Rooks in Panthe  but im on the light side!!??

 

Every time when the first info comes that one side (in this way my light side) controlls the map!

This is a step back. Stradock / GPG pls fix it. Need more infos?

 

Rest of the game becomes better and better.

Reply #41 Top

hmpf once again by a 4 vs 4 Error happend as light side controls the map

 thats fucking! 

 

I seek for logs in my folder.

 

Greetings

Shalom_Don

Reply #42 Top

Quoting pacov, reply 36
Belier and Apika may have found a way to force desyncs... saw in another post, but haven't checked stats yet. 

Yes, it seems they have, I played them yesterday and they threatened us to do it if the game goes wrong for them. I have screenshots of the chat proving it. But for some reason they didn't do it, as we managed to end their 142 killstreak.

Reply #43 Top

It was 4 minutes into the game, I just got the first kill on a 3k+ hp UB and then... I lost internet connection (ISP's fault). Later on I checked the stats and the game was not recorded, so I suspect a desync. I am not 100% sure that I triggered it because I did not see the 'Invalid gamestate' message, so it could have happened later. I was playing Dark in a 3v3 Cataract game vs Frogboy and Tukulis. If you see this, can you confirm that this is what happened?

If it was me, it would suggest that desyncs can be triggered by removing the network cable from the socket or turning off the wireless network adapter. This is not linked to you being the host or on the Light team (I saw some Dark non-host players repeatedly do this before). I hope that this will help the developers find a solution to this problem.

Can you tell me where do I find the log of this game (it was my last one so it will still be there)?

Reply #44 Top

It seems like more and more people are abusing the invalid game state.

I used to have it happen to me on occassion, but I have seen it like 5 times in the last couple of days!  And I don't play that often.

 

Does anyone know the progress on a solution?

 

Do we simply have to wait for 1.2?

 

Thanks

 

Reply #45 Top

I have expierienced this "Invalid gamestate" error a fustrating number of times as well. Almost always as I'm about to win (making it particularly frustrating). I think it's notable that here as well as other threads, it has been mentioned that it happes just as one side is "controlling the map." While this may not be universal, and I am not ruling out an intentional cause (ie someone desynching to avoid a loss), is it possible that there is something wrong in the communication between players at the "**** side is controlling the map" message? It would explain why it happens so often at a near victory. It is also possible that other issues can cause a desync thus creating other variant times and causes for an error, not matching all the above criteria. While it may not be possible to completely eliminate such a problem, at least the major causes need to be addressed ASAP. I tend to agree that a hot fix is in order...

Reply #46 Top

Well. Stardock has said that any hack-attempt results in a desynch due to invalid gamestate.

Which, in my experience leads to the match not even being recorded.

So as has already been mentioned, when someone who hates to lose is about to, what do you think he'll do if he knows how?

I would put 100$ on this being the most common reason for "desynchs" happening when one team is clearly ahead, and hotfixes rather than a rethinking of how desynchs are handled are unlikely to fix that.

Reply #47 Top

Quoting Rydier, reply 46
Well. Stardock has said that any hack-attempt results in a desynch due to invalid gamestate.

Which, in my experience leads to the match not even being recorded.

So as has already been mentioned, when someone who hates to lose is about to, what do you think he'll do if he knows how?

I would put 100$ on this being the most common reason for "desynchs" happening when one team is clearly ahead, and hotfixes rather than a rethinking of how desynchs are handled are unlikely to fix that.

true. but it does need to be addressed, preferably swiftly.

Reply #48 Top

true. but it does need to be addressed, preferably swiftly.

GPG is already working on it. Not much more to be said.

Reply #50 Top

Quoting kryo, reply 48

GPG is already working on it. Not much more to be said.

 

lol.  not much more to be said eh?  They sure have worked a very long time on it with no results!  Does GPG even exist or are they just a scapegoat?