Author Topic: Desync  (Read 2342 times)

Offline NiGhT^^StAlKeR

  • Safelist Administator
  • MonsterKill Member
  • *
  • Topic Author
  • Posts: 4705
  • Country: mon
  • Karma: +266/-247
  • Geh.TT. / Rockasaurus / Nox.Interfector
  • Awards Winner of 1 Photoshop Challenge Contest [COMMON] Warlock Tour Winner [RARE] Rubick Tournament Winner Morphling Tour Winner Award [RARE] Mirana 1v1 Tournament Winner [RARE] Invoker 1v1 Tournament Winner [RARE] Admiral Tournament Winner [RARE] 1v1 Windrunner Tour Winner [RARE] 1v1 Earthshaker Tournament Winner [RARE] LA Ladder #11-25 [EPIC] Shadow Raze Tour Award [RARE] Path of the King Tour 1. Place Award [LEGENDARY] 3v3 SHOM Tournament Winner [RARE] 2v2 SHOM Tournament Winner [RARE] 1v1 AR Tour Winner [RARE] IHRL Member [RARE] IHRL Champion [EPIC] IHRL Legend [LEGENDARY] 5v5 Night Cup Winner [EPIC] Tiny Tournament Winner [RARE]
    • View Profile
    • Awards
Desync
« on: March 06, 2011, 14:38 »
Sway    37:23      Warning! Desync detected!    37:23      Sway
Sway    37:23      Players in game state #1: NiGhT^^StAlKeR    37:23      Sway
Sway    37:23      Players in game state #2: ShmeKERasta, Sway, Dejan_Bodiroga, HurjaHarri, hapukurk, vortez, El_Patron, pRovoKater    37:23      Sway
Sway    37:23      NiGhT^^StAlKeR was dropped due to desync.    37:23      Sway


It happens sometimes . What is it?  ???
Dota - Pick me 0:51  SF :)
Dota - Symphony of skills 4:23 SF :D
Dota - Light the torch 2:12  SF :D
Dota - Keep ownage 0:25-1:25 Naix :D
WoDotA 8)

Offline deadinformator

  • Pro Member
  • *
  • Posts: 271
  • Karma: +12/-10
    • View Profile
    • Awards
Re: Desync
« Reply #1 on: March 06, 2011, 15:21 »
some people say mh - but to be honest i made many ban requests for mh and no player banned dropped out due to desync

it is more related to corruptd register - try to install w3 once again

Offline sw33t_girl

  • Retired Moderator
  • WickedSick Member
  • *
  • Posts: 1014
  • Karma: +130/-27
  • Live Your Dreams!
    • View Profile
    • Awards
Re: Desync
« Reply #2 on: March 06, 2011, 15:40 »
de-sync is a warcraft3 bug, usually caused by JASS code errors in a warcraft3 map.
It happens when 2 different game states are present.

A simple example; for A,B,C people Naix is at fountain, for D person Naix is at forest. A,B,C people are in game state 1 and D person is in game state 2. People in the state containing less people gets kicked out of game. D person gets desync disconnect from game in such case.
It happens in way more short durations than this though
« Last Edit: March 06, 2011, 15:42 by sw33t_girl »

I quit dota :<

Offline NEGERTIVS

  • Retired Moderator
  • WickedSick Member
  • *
  • Posts: 1146
  • Karma: +91/-67
  • podlac lukavi
    • View Profile
    • Awards
Re: Desync
« Reply #3 on: March 06, 2011, 15:42 »
It's got something to do with packet loss and routing I think. When packets are lost, your client will have different information on the game than the server and the other clients, like sw33t explained.

Offline NiGhT^^StAlKeR

  • Safelist Administator
  • MonsterKill Member
  • *
  • Topic Author
  • Posts: 4705
  • Country: mon
  • Karma: +266/-247
  • Geh.TT. / Rockasaurus / Nox.Interfector
  • Awards Winner of 1 Photoshop Challenge Contest [COMMON] Warlock Tour Winner [RARE] Rubick Tournament Winner Morphling Tour Winner Award [RARE] Mirana 1v1 Tournament Winner [RARE] Invoker 1v1 Tournament Winner [RARE] Admiral Tournament Winner [RARE] 1v1 Windrunner Tour Winner [RARE] 1v1 Earthshaker Tournament Winner [RARE] LA Ladder #11-25 [EPIC] Shadow Raze Tour Award [RARE] Path of the King Tour 1. Place Award [LEGENDARY] 3v3 SHOM Tournament Winner [RARE] 2v2 SHOM Tournament Winner [RARE] 1v1 AR Tour Winner [RARE] IHRL Member [RARE] IHRL Champion [EPIC] IHRL Legend [LEGENDARY] 5v5 Night Cup Winner [EPIC] Tiny Tournament Winner [RARE]
    • View Profile
    • Awards
Re: Desync
« Reply #4 on: March 06, 2011, 15:48 »
So is there anything i can do there when it happens in game?
« Last Edit: March 06, 2011, 15:51 by night^^stalker »
Dota - Pick me 0:51  SF :)
Dota - Symphony of skills 4:23 SF :D
Dota - Light the torch 2:12  SF :D
Dota - Keep ownage 0:25-1:25 Naix :D
WoDotA 8)

Offline sw33t_girl

  • Retired Moderator
  • WickedSick Member
  • *
  • Posts: 1014
  • Karma: +130/-27
  • Live Your Dreams!
    • View Profile
    • Awards
Re: Desync
« Reply #5 on: March 06, 2011, 15:51 »
It's got something to do with packet loss and routing I think. When packets are lost, your client will have different information on the game than the server and the other clients, like sw33t explained.
It is actually a bug with a JASS code where you pick a player individually and apply a code only for his PC. If some variables exceed the string limit. It confuses Client - Server relationships with host, confused Client starts to request different info from host than everyone else.
It is like host says Luna went from X place to Y to your PC. But for you luna is at Z position so your client reports error to host. In that case host checks for clients who has that Luna at Z position. Than players are split into 2 groups, people having luna at X position and people having luna at Z position.

In normal conditions; Game continues for both groups. Players in group 1 see that all players from Group 2 are disconnected. Same for Player Group 2, they see all players from group 1 disconnected, so game spits into 2 games (assuming both groups have at least 1 player with ability to host games, else whole group gets disconnected)

In pd.eu the group got apart from host bot are completely disconnected and bot stays with group containing most players.

I quit dota :<

Offline sw33t_girl

  • Retired Moderator
  • WickedSick Member
  • *
  • Posts: 1014
  • Karma: +130/-27
  • Live Your Dreams!
    • View Profile
    • Awards
Re: Desync
« Reply #6 on: March 06, 2011, 15:52 »
So is there anything i can do there when it happens in game?
nope it is not owners, or any other players' fault. Anyone getting dropped by desync shoud not be banned and it can be considered ban abuse if they ban.

I quit dota :<

Offline NiGhT^^StAlKeR

  • Safelist Administator
  • MonsterKill Member
  • *
  • Topic Author
  • Posts: 4705
  • Country: mon
  • Karma: +266/-247
  • Geh.TT. / Rockasaurus / Nox.Interfector
  • Awards Winner of 1 Photoshop Challenge Contest [COMMON] Warlock Tour Winner [RARE] Rubick Tournament Winner Morphling Tour Winner Award [RARE] Mirana 1v1 Tournament Winner [RARE] Invoker 1v1 Tournament Winner [RARE] Admiral Tournament Winner [RARE] 1v1 Windrunner Tour Winner [RARE] 1v1 Earthshaker Tournament Winner [RARE] LA Ladder #11-25 [EPIC] Shadow Raze Tour Award [RARE] Path of the King Tour 1. Place Award [LEGENDARY] 3v3 SHOM Tournament Winner [RARE] 2v2 SHOM Tournament Winner [RARE] 1v1 AR Tour Winner [RARE] IHRL Member [RARE] IHRL Champion [EPIC] IHRL Legend [LEGENDARY] 5v5 Night Cup Winner [EPIC] Tiny Tournament Winner [RARE]
    • View Profile
    • Awards
Re: Desync
« Reply #7 on: March 06, 2011, 15:53 »
Ok thanks for explanation . U can close this topic now
Dota - Pick me 0:51  SF :)
Dota - Symphony of skills 4:23 SF :D
Dota - Light the torch 2:12  SF :D
Dota - Keep ownage 0:25-1:25 Naix :D
WoDotA 8)

Offline sw33t_girl

  • Retired Moderator
  • WickedSick Member
  • *
  • Posts: 1014
  • Karma: +130/-27
  • Live Your Dreams!
    • View Profile
    • Awards
Re: Desync
« Reply #8 on: March 06, 2011, 16:22 »
For thoose tech nerds who may look into this topic in future, I will give more info on desync.

Quote from: BlizzardEntertainment
This function is dangerous and useful. Use it with care for it can desyncronize a multiplayer game very easily.

The map triggers runs on every machine in the game. GetLocalPlayer() refers to a different player for each machine, namely the player playing at that machine.
For example, it might return Player 1 on Joe's computer and Player 2 on Jimmy's computer.

Code: [Select]
if (GetLocalPlayer() == Player(0)) then
    // Select triggering unit, but only for player 1
    call SelectUnit(GetTriggerUnit(), true)
endif

On Joe's computer (Player 1) the if-statement will evaluate to true and the unit will be selected. On Jimmy's computer (Player 2) it will become false and nothing happens.

If I had created something, like a unit, the game would desyncronize because Player 1 thinks that he has a unit, and Player 2 doesn't know that it is there.


In an 10 player co-op game;
A code says ignore following trigger if you are not computer of player 1 or 2.
The following trigger says create 2 creeps at x location.

Player 1 orders his units to attack newly created creeps, player 2's computer understands the command received but other computers returns error about unit not existing
Result: Game Desyncs
Group 1: player 1,2
Group 2: player 3,4,5,6,7,8,9,10

In a dota game;
Enemy Warlock in Scourge team is escaping with 0,5% HP!!! The Sniper of Sentinel team aims with his gun and casts ulti.

The code takes player numbers of everyone playing in Sentinel team and tells other computers to ignore the following trigger.
Following trigger tells computer to create an aim model overhead of escaping Warlock.

After that people in sentinel team can see an ulti is coming but computers of scourge players did not see the code about creating aim model overhead of Warlock.

After the spell finishes or gets canceled once again the code takes player numbers of everyone playing in Sentinel team and tells other computers to ignore the following trigger.
The following trigger says remove the aim model from overhead of Warlock.

If that remove model code was sent to all players. All computers of scourge players would say "What model???" and it would cause desync because only computers of sentinel players has the info about that model.
Result: Game does not desync.

For novice mapmakers;
this is the variable(more like a constant for each computer) which represents the players' own PC and allows running commands individually to computers of players.
http://www.wc3jass.com/viewtopic.php?t=1561


Any questions about desync are welcome here



I quit dota :<

Offline kingW3

  • Partimanijak
  • Retired Moderator
  • MonsterKill Member
  • *
  • Posts: 2773
  • Country: cs
  • Karma: +219/-196
  • Awards GFX staff member [RARE]
    • View Profile
    • Awards
Re: Desync
« Reply #9 on: March 06, 2011, 16:51 »
i hacked maps like vampirsim and other but lot of players got desync except me

Offline Natura Sonoris

  • Honored member
  • HolyShit Member
  • *
  • Posts: 6551
  • Karma: +489/-602
  • Alternating Current
  • Awards Forum staff member [RARE] GFX staff member [RARE] Pudge Wars Tournament Winner [RARE]
    • View Profile
    • Awards
Re: Desync
« Reply #10 on: March 06, 2011, 17:01 »
i hacked maps like vampirsim and other but lot of players got desync except me

Unfortunetly i stoped playing vamps because of 2 things : my vamp crew and Mhers

Offline sw33t_girl

  • Retired Moderator
  • WickedSick Member
  • *
  • Posts: 1014
  • Karma: +130/-27
  • Live Your Dreams!
    • View Profile
    • Awards
Re: Desync
« Reply #11 on: March 06, 2011, 17:27 »
i hacked maps like vampirsim and other but lot of players got desync except me
lol you were desynced too but you can't see it.
for games without hosting bots. no one gets disconnected as long as there is a player with ability to host in group, the game splits into 2 games and it looks like disconnection. you whisper to your friend who was in game with you and fell in other group after a desync. You tell him "You are disconnected :(" he answers; "We are playing, it is you who was disconnected" This is how game splits at a desync.

I quit dota :<

Offline ¶ÑÇƦ€Ƿ¦ßŁΞ

  • Pro Member
  • *
  • Posts: 265
  • Karma: +37/-40
  • good evening ladies and gentlemen
    • View Profile
    • Awards
Re: Desync
« Reply #12 on: March 07, 2011, 23:09 »
I didn't know JASS is so powerful, some things blew my mind reading this article. Thanks for share Sw33t.
In short, if I traded you for shit, I would lose the container I brought you
in. Otherwise, have a good day and keep enjoying your pitiful PD world.