• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

[Trigger] Desynchronization

Status
Not open for further replies.
Level 2
Joined
Apr 18, 2012
Messages
16
Hi :]

My map Hammer VS Turtle was made with very poor GUI-Skills :'D
Anyways, there happens a desynchronization
- every game with 5+ players
- often with 4 players
- rarely with 3 players
- never with 2
(so far).

Could anybody look through the triggers and maybe help me find the problem?
Could you tell me what can cause Desynchronizations?
Can people disconnect simply because of tons of simple memory leaks?
(if yes, would i have lags before that?)

Link for downloading the map:
http://www.file-upload.net/download-8530117/HvT-071c.w3x.html

:c


PS: //Ragemode: ON -- WHY IS HERE NO GODDAMN SEARCH FUNCTION??? -.-

]] EDIT [[ pastebin link, for downloading my map: http://www.hiveworkshop.com/forums/pastebin.php?id=h1rh41
 
Last edited:
Level 28
Joined
Sep 26, 2009
Messages
2,520
leaks usually lead to lags, which, in the end, may freeze the game (or make it so laggy it's unplayable). So no, it should not be anything like that.

Do you use GetLocalPlayer() function?
Are you perhaps trying to destroy nulled lightning?


When does the game desynchronize? What happens around that time?
Another way to find out what causes the problem is by switching off part of your triggers and if it won't desynchronize, the problem lies in switched off triggers.
 
Level 2
Joined
Apr 18, 2012
Messages
16
i guess fixed the major memories leaks then, since mostly i dont have freezes/massive lags there ( might happen tho if mass units are spammed w/e )

I dont think so, but i dont know. ( as i already mentioned i miss the Search function here, so i might have not found all Threads describing my problem )
Whats a nulled Lightning? I'm using GUI, im sure I havent set anything null manually through custom script or how else you may do it.

Random Times, thats why i also havent figured the problem out. Sometimes after 10-15 minutes. Sometimes after 20-30 minutes.

Yeah I've already read about that method of finding problems and tryed it some times. Yet I was too lazy to do that about this problem *shameonme*.
The thing about switching triggers off is, that so many are simply relevant for the gamemechanics to work, otherwise the game makes no sense ( and i have no real fanbase to test the game like that so much )
 
Level 28
Joined
Sep 26, 2009
Messages
2,520
Whats a nulled Lightning? I'm using GUI, im sure I havent set anything null manually through custom script or how else you may do it.
Well for example if you destroy lightning and then you try to destroy it again or move it, etc.

Random Times, thats why i also havent figured the problem out. Sometimes after 10-15 minutes. Sometimes after 20-30 minutes.
Time is not relevant. What is important is what is happening around the time when game crashes. E.g. 3 people cast the same spell and second after it the game crashes... or something like that, etc.
 
Level 2
Joined
Apr 18, 2012
Messages
16
Well for example if you destroy lightning and then you try to destroy it again or move it, etc.

No, i [believe that i] have no trigger/function doing that

Time is not relevant. What is important is what is happening around the time when game crashes. E.g. 3 people cast the same spell and second after it the game crashes... or something like that, etc.

Thats the problem, I've asked a few people what they did before they desync'd or if somebody else have noticed something or did something they've remembered, but no, nothing rememberable.
I ofc also have been in many games where desync's happened but i also havent noticed any special events or anything similar that happened right before or after. ( ur somewhat busy ingame, maybe because of that nobody noticed something :D)
 
Level 2
Joined
Apr 18, 2012
Messages
16
There's way too many triggers in your map to find it easily. Maybe upload a replay of a game that desync's?


The most triggers are extremely simple (and uneffective xD) so going through that might not be that complicated or time consuming.
Ill try to get some replays! :'D
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,258
Is everyone you are playing with using the same OS at same visual settings? It is common for a desynchronization to occur as a result of terrain mesh deformations because Mac and lower visual settings compute them differently and cause GetLocationZ to produce different results.
 
Level 2
Joined
Apr 18, 2012
Messages
16
Is everyone you are playing with using the same OS at same visual settings? It is common for a desynchronization to occur as a result of terrain mesh deformations because Mac and lower visual settings compute them differently and cause GetLocationZ to produce different results.

its usually 2 to 4 core players (including me) and some randoms ( different, already had 5vs5 games on b.net trololololo)

So with randoms there are for sure different OSs, ill ask my mates (im using windows 7)
terrain mesh deformations? is that e.g. Shockwave? Should replace shockwave based spells and look if Desyncs stop happening? (i got one shockwave in the map if i remember right, shouldnt be too hard to replace that, but also one Stomp(that also counts as mesh bla deformation ,right?)

/edit: played a game today with 4 players ( ca. 50 mins long ) and no desync happened (havent changed anything yet)
One person that once desync'd with me while playing Hammer VS Turtle used Windows 7 while i also used Windows 7. o=
 
Last edited:

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,258
The exact Windows OS does not mater as they all execute the identical version of the game. Mac however has a parallel version due to the differences in the OS. Again which version of Mac OS does not mater, it is purely which version of the game they are running, Windows or Mac.

The visual settings the game is played at also makes a difference since it can alter model geometry and deformation results.

Shockwave is well known as a problem spell due to the deformations and was responsible for splits in SWAT Aftermath for years before it was discovered as the cause and fixed. Replace Shockwave with a Carrion Swarm based spell as they should be able to interchange operation. Stomp or thunderclap or whatever makes deformations also is known as a problem spell. Trigger deformations are especially problematic. Basically you need to avoid all deformations when possible.
 
Level 2
Joined
Apr 18, 2012
Messages
16
The exact Windows OS does not mater as they all execute the identical version of the game. Mac however has a parallel version due to the differences in the OS. Again which version of Mac OS does not mater, it is purely which version of the game they are running, Windows or Mac.

The visual settings the game is played at also makes a difference since it can alter model geometry and deformation results.

Shockwave is well known as a problem spell due to the deformations and was responsible for splits in SWAT Aftermath for years before it was discovered as the cause and fixed. Replace Shockwave with a Carrion Swarm based spell as they should be able to interchange operation. Stomp or thunderclap or whatever makes deformations also is known as a problem spell. Trigger deformations are especially problematic. Basically you need to avoid all deformations when possible.

Allright, thanks.
Both spells in my map that are based on stomp and shockwave are only simple spells( not made with triggers ), so i will replace them (with e.g. carrion swarm).
 
Level 7
Joined
Mar 6, 2006
Messages
282
Dota Replay Manager says that the desync'd player was dropped when he clicked "For Whom the Gods Detest" NILE! lol, I love all your metal references in the map.

Anyway, maybe he clicked it and tried to send a unit that caused a desync? That's all I can really gather from that. If you get any more replays with a desync in them, they would help a lot in narrowing it down.
 
Level 2
Joined
Apr 18, 2012
Messages
16
Dota Replay Manager says that the desync'd player was dropped when he clicked "For Whom the Gods Detest" NILE!

Anyway, maybe he clicked it and tried to send a unit that caused a desync? That's all I can really gather from that. If you get any more replays with a desync in them, they would help a lot in narrowing it down.


It might be something that happened in the last few seconds. Desynchronizations are not picked up instantly, only when the game performs a synchronization check.

Yeah, i will check the replay around that time carefully and think about which triggers have been evolved and what could have caused the desync.
I might need some more specific information about how desyncs happen.
I know the PanCameraAsNeeded and some other thing that i dont use my cause it, but perhaps there's more? I'm just a noob, using practically only GUI, custom script just for memory leaks etc.

I guess i could look through all the trigger when they're translated into text(jass) and look for getlocalplayer() or however that function was called, but maybe there are some more senseful/easier methods :c


lol, I love all your metal references in the map.

That's funny, because pretty much every metal related name came from the practically biggest fan(who loves that kind of metal) of my map, who constantly plays/tests it with me. He suggested those names and since they were fitting, WHY NOT? ;D
 
Level 7
Joined
Mar 6, 2006
Messages
282
I know the PanCameraAsNeeded and some other thing that i dont use my cause it, but perhaps there's more? I'm just a noob, using practically only GUI, custom script just for memory leaks etc.

I guess i could look through all the trigger when they're translated into text(jass) and look for getlocalplayer() or however that function was called, but maybe there are some more senseful/easier methods :c

I actually already did that for your map script, and checked (I think) almost all of the BJ's that use GetLocalPlayer(). Found nothing.

I have an idea, but it's pretty rough. Looking at another replay would be better than this but:

Put a "Display message to player " at the start of every trigger, and send the message to one of the computer slots, so no one will see it in game. Make each message as the name of the trigger, respectively. Then, when watching a replay of a desync, view the replay from that computer slot and you get debug messages for when each trigger is run.
 
Level 2
Joined
Apr 18, 2012
Messages
16
I forgot that when i actually began to make this map, I chosed warstomp as the basic spell for my Teleport to Base spell, so that might have caused the desync, ill remake this spell with a harmless basic spell and i will reply here again if i still get desyncs! O:
 
Status
Not open for further replies.
Top