Possible cause for desyncs when buying units

Zwiebelchen

You can change this now in User CP.
Reaction score
60
This thread is not about hostbots nor a discussion about modifications for warcraft III! Please do not post links here or give unwanted information or advice on people who want to use 3rd party tools, etc. ... all posts related to such things will get reported. The topic is about JASS and which situations might cause desyncs in combination with common 3rd party tools.

Well, many people playing Gaias Retaliation ORPG reported desyncs when interacting with npcs in the map. It all boils down to one possible reason:
The process of buying units from a shop-unit.


The process itself works fine 100% of the time. The problem is: It seems to cause desyncs randomly in combination with 3rd party tools like hostbots, etc. (but also on Garena) and I want to find out why.
This is a serious matter, as LOTS of people were reporting it. I, personally, never experienced this issue and could never reproduce it, as I do not use 3rd party programs and always host my games on bnet, not garena or something. The problem still matters, as hostbots ARE frequently used in hosting.


I always code my npc interactions in the following way:
- I dummy the interaction buttons with a locust unit that is "bought" at the npc using the ordinary object data way of doing it.
- After buying, the unit instantly gets removed and some code is run (determining the triggering player by getting the owner of the sold unit). Most of the code is global, but there are parts of local code in it (like displaying text messages, etc.). However, those parts have proven working 100% of the time in my ordinary B.net hosted games.
The problems seem to arise only with altered clients or 3rd party tools and then, this is also totally random.

Someone has suggestions why this could happen? Remember: It works fine with "ordinary" Battlenet hosting (or, at least, it doesn't cause desyncs there)!
 

Narks

Vastly intelligent whale-like being from the stars
Reaction score
90
If you find out exactly what causes it, tell us.

I hate ghost bots.
 

Lyerae

I keep popping up on this site from time to time.
Reaction score
105
> I hate ghost bots.

What did they ever do to you?
 

sLsIDK

New Member
Reaction score
13
GHost bots are one of the things keeping Warcraft 3 hosting alive. Putting that aside, I think that no desyncs were noted by Bsw_Hunter in Parasite Resurrection until I started hosting it with my bot, in which I would get a desync every other game (until he fixed it).
 

Jesus4Lyf

Good Idea™
Reaction score
397
Report it to the GHost developers, it is not your bug if it is a fault in the 3rd party software.
On the other hand, if you are displaying strings locally, that may be allocating a stringid which is different on different computers. Generate the strings outside of the local block, and display them inside the local block.
 

Zwiebelchen

You can change this now in User CP.
Reaction score
60
Report it to the GHost developers, it is not your bug if it is a fault in the 3rd party software.
On the other hand, if you are displaying strings locally, that may be allocating a stringid which is different on different computers. Generate the strings outside of the local block, and display them inside the local block.
Hmm ... interesting thought. I'll try that ... though I don't see why this should only cause desyncs in combination with hostbots, but not when hosting on the bnet.
 

Rushhour

New Member
Reaction score
46
I think something similar happens at Legion TD, sometimes a desync happens and about half of the people leave at the same second. I only saw this when I joined other games, but I'm not completly sure if these games were hosted by bots :/
To the strings:
Do they really desync immediately ?
I mean how often do you something like
JASS:

if GetLocalPlayer() == GetOwningPlayer(GetTriggerUnit()) then
    call DisplayTextToPlayer(GetLocalPlayer(),0,0,"You gain "+I2S(somevalue) +gold")
endif

The string is displayed locally, initialized locally (and not only once but many times),.. , should we worry about this too? By now I didn't realize any problems with this.
 

SayNoToWar

Member
Reaction score
3
ghost is not the one to blame

As far as I know if a ghost displays the message "desync detected" its basically the same as if one or more players get a disconnect with "connection to host interrupted" or s.th. like that.

I also have a desync problem in Battleships Crossfire (bs cf) but at last I could get it back to about 10-40% of the games and mostly its only one player who is desynced...
All combinings or ships you buy in BS-CF are triggerd over "sells a unit"...

But the ghost does -according to its developers- only display that it's a desync. Without a ghost a desync would look as if one player has left the game or as if more players have left the game at once. Before the ghosts I think this was called "disconnect" or "gamesplit" because without the ghost (in current version) the games could continue seperated if more then one player got desynced at once (e.g. 2 players, one from team 1 and one from team 2 get desynced and placed in their own game where they both are sync with each other and can continue to play).
Eventually any jass-pro could make a system which gives mapmakers any hinds which scritps maybe caused such a desync in general? Or maybe someone could help with bs cf... At last in about 1/3 if the players of the 15 000 monthly games of bs cf would be very happy if someone would help fixing the desync problem...

bs cf seeks for a jass coder or anyone who can help to fix the desync problem... :banghead:
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Monovertex Monovertex:
    How are you all? :D
    +1
  • Ghan Ghan:
    Howdy
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top