• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Map desyncs

Status
Not open for further replies.
Level 5
Joined
Apr 13, 2008
Messages
184
Ive been working on this desync problem for a long while now, i removed alot of leaks from my map and the game doesnt seem to lag and does not desync on older versions of warcraft.

The desync seems to be random/maybe when someone cast a spell.
Is it the damage detection system from the game? or something else entirely? I cant isolate the problem
 

Attachments

  • AoTL_0.65c.w3x
    4.2 MB · Views: 24
Last edited:
Level 38
Joined
Feb 27, 2007
Messages
4,951
We literally cannot suggest anything on this topic unless you upload the map or post triggers.
The desync seems to be random
It's most definitely not random, you just haven't noticed what's causing it yet.
does not desync on older versions of warcraft
If you aren't sure what's causing the desync how can you be sure it doens't happen in older game versions?
 
Level 5
Joined
Apr 13, 2008
Messages
184
We literally cannot suggest anything on this topic unless you upload the map or post triggers.

It's most definitely not random, you just haven't noticed what's causing it yet.

If you aren't sure what's causing the desync how can you be sure it doens't happen in older game versions?

It runs fine on warcraft 1.24,1.26 I think runs fine too I hosted it online using a platform where everyone was using warcraft 1.24 no desyncs at all.

So the issue is with the new warcraft patch not working with some trigger in the map. Some of the code I imported online were unit indexer,gui damage detection.
When I disabled all the spawns in my game and the damage detection, and unit indexer the game didn't desync. But when I disabled the spawns only the game still desynced. It might be the damage detection or smth, I haven't tried playing the game with the damage detection and unit indexer disabled but still have the spawns

oh yeah just realised i forgot to attach the file, so sorry
 
Last edited:
Level 38
Joined
Feb 27, 2007
Messages
4,951
Disable enough that there's no desync, then literally just keep enabling triggers until the desync starts happening again. The last trigger (or group of triggers) you enabled is directly responsible for the desync. Keep narrowing it down. Post the triggers that you find.
 
Level 5
Joined
May 12, 2014
Messages
133
Sounds like battle.net problems. Some games seem to always desync online. I dont know the details (I bet someone does, just not me) but battle.net had a massive desync issue, though I dont know how relevant that is now.

It does exist still though! I can't finish a single kodo tag extreme game without everyone desyncing. T_T

That might explain how it works on older versions, since I'm assuming you can't host online with an older warcraft version.
 
Level 5
Joined
Apr 13, 2008
Messages
184
Screenshot (53).png
Screenshot (54).png
Screenshot (55).png


Does this item drop system cause any problems in the map?
 
Level 38
Joined
Feb 27, 2007
Messages
4,951
It doesn't look particularly well-written but no, nothing specifically in those triggers is likely. How To Post Your Trigger

Save your map, open it with an mpq editor, extract war3map.j, then upload that here. You can search through it for instances of GetLocalPlayer() or other GUI functions that are known to cause problems (pan camera as necessary, for example).
 
Level 38
Joined
Feb 27, 2007
Messages
4,951
I'm simply saying that "random" is entirely the wrong word; there is always a specific bit of code that is responsible for the desync. The game doesn't at some point go "ahhhh... fuck it--DESYNC NOW HAHAHA". Let me give you an example of how something could 'seem' random:

Say you create an item locally on accident instead of creating the item globally and hiding/showing it locally. At this point anything that uses the handle ID of an object created after the item could cause a desync. Anything that uses "last created item" could cause a desync. A unit being ordered to pick up or attack the item on the ground could cause a desync. An inventory system that manipulates or moves items could cause a desync. That's a lot of different possibilities (and it's not anywhere near all of them)... but it's not random. In every one of those situations the game has an instance where object A has handle id X on one computer and has handle id Y on another computer.
 
Level 5
Joined
Apr 13, 2008
Messages
184
I think I've gotten closer to finding out the reason, yesterday I tested the map with the damage detection and unit indexer taken out and the game didn't desync. I think it might have been something going on with the damage detection. But I'm not too sure whether it's the system itself or the way I'm using it. Probably the latter ? Still need to do more testing before I know for sure.
 
Level 5
Joined
Apr 13, 2008
Messages
184
I'm simply saying that "random" is entirely the wrong word; there is always a specific bit of code that is responsible for the desync. The game doesn't at some point go "ahhhh... fuck it--DESYNC NOW HAHAHA". Let me give you an example of how something could 'seem' random:

Say you create an item locally on accident instead of creating the item globally and hiding/showing it locally. At this point anything that uses the handle ID of an object created after the item could cause a desync. Anything that uses "last created item" could cause a desync. A unit being ordered to pick up or attack the item on the ground could cause a desync. An inventory system that manipulates or moves items could cause a desync. That's a lot of different possibilities (and it's not anywhere near all of them)... but it's not random. In every one of those situations the game has an instance where object A has handle id X on one computer and has handle id Y on another computer.

Well actually that makes alot of sense. It's just I was thinking like why would it only happen in multiplayer I mean yeah desync is a multiplayer issue.
 
Level 38
Joined
Feb 27, 2007
Messages
4,951
Okay cool, you have some direction to keep searching in. Now enable the damage detection and indexer triggers but keep everything that uses them disabled. If the desync doesn't occur then it's probably some other trigger that uses those systems, and if you still get a desync then something in the systems is likely at fault.
 
Level 5
Joined
Apr 13, 2008
Messages
184
Actually what I did was I disabled the system then I searched online for another one, there's another one by Bribe then now I'm reworking every single one of the spells and items. Like maybe if both of the item/spells uses the damage detection they would clash or something. But the problem is when I didn't disable the damage detection and I don't use any of the spells/items that is uses that system the game still desyncs. Maybe I need to do more testing with the damage detection disabled but try playing around with different heroes see if there's any other reason. Not too sure
 
Level 38
Joined
Feb 27, 2007
Messages
4,951
It's a safe bet that anything in the resources section here that's from a well-known member (like Bribe) or from like 2013-onward (just a guess for reference) is probably bug/desync-free. Did you search your war3map.j for GetLocalPlayer() instances?
 
Level 5
Joined
Apr 13, 2008
Messages
184
ive managed to go home and quickly get an extracted file from my map
how do i open it and check?

I think i found one in the easy stack and split item system and a new missile system thing i added previously
 

Attachments

  • war3map.j
    2.7 MB · Views: 25
Last edited:
Status
Not open for further replies.
Top