LagAbuse.com
General Section => General Discussions => Topic started by: NiGhT^^StAlKeR 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? ???
-
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
-
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
-
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.
-
So is there anything i can do there when it happens in game?
-
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.
-
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.
-
Ok thanks for explanation . U can close this topic now
-
For thoose tech nerds who may look into this topic in future, I will give more info on desync.
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.
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 (http://www.wc3jass.com/viewtopic.php?t=1561)
Any questions about desync are welcome here
-
i hacked maps like vampirsim and other but lot of players got desync except me
-
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
-
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 didn't know JASS is so powerful, some things blew my mind reading this article. Thanks for share Sw33t.