HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Tutorial: Server Split

05-20-2003, 06:50 PM#1
Earth-Fury
here is why server split hapens, and how to avoid it.

Battle.net dosent actually host games, it acts as a conector, chaneling signals between the hosting player, and the playing players. now if those signals get messed up, someone, or many people may disconect from the game.

server split is not lag, but buggy triggers that cause the signals to get messed up and cause instent disconecting.

resons why it happens:
  • Get Local Plyer causes server split. This is not able to be purposly selected in GUI, so to avoid it, if you are sending a message to just one player, use player group([player 1])
  • Massive HP, damage, damage dice, mana, ext. values cause it. i dont know why, but they do.
  • Changing the game speed mid game may also cause server split.

i will update this as often as i get new information.
05-20-2003, 06:54 PM#2
Starcraftfreak
Quote:
Massive HP, damage, damage dice, mana, ext. values cause it. i dont know why, but they do.
In some way obvious as the normal game is not "used" to such high values. The code is obviously not programmed to handle such high numbers correctly.
05-20-2003, 06:59 PM#3
Earth-Fury
the code is programed to handel them, just not well, like then the hp value disapers when it is too high.
05-20-2003, 07:07 PM#4
Starcraftfreak
This is not what I meant (if the value is too high, it's too long to be displayed). This also happens in Single Player (I created some LVL 10000 heroes, where the HP wern't displayed anymore). But if this causes a server split it must be that they are not handled correcly. Otherwise it should not cause a server split.
05-20-2003, 08:46 PM#5
Earth-Fury
it may be that they cause desycronisation, like if you have 16 1000000 didget numbers, constantly updating, itel eventualy cause desycronization.
05-21-2003, 01:06 PM#6
draconx
Well UMSWE has a trigger add-in designed for sending messages to single players without desync, called Game-Text Message to Single Player (no desync), so perhaps you can just use that when sending messages to one player.
05-21-2003, 05:59 PM#7
ChrydGod
I have divided all HP & dmg of towers/monster/heros by 10 again, and now there seem to be no split at all, eventually some rare disconnections that have no explainaion (tried it with friends).

Then it definitely seems that warcraft 3 can't handle large integers properly on a battlenet custom game without desync issues.

I would still like to understand what are the reasonable limits as we have no idea of what they are.

Regards
05-22-2003, 12:27 AM#8
Earth-Fury
you should stay withing 100, 000 didgets. this is an estimate, and i wil l be doing testing.
05-23-2003, 11:35 AM#9
ChrydGod
is that i managed to get all hp & dmh below 4 digits.

^^

Regards
05-23-2003, 11:56 AM#10
kharma
To me, the issue with high hp values and server splits are a little confusing. I'm on a 56k and live in Austrlia. To me it would seem that I been on the blunt end of a server split, yet that rarely happens. There are numerous other maps that have units with high hp values, the irregularity associated with it doesn't make sense to me.

~kharma
05-24-2003, 10:39 PM#11
Earth-Fury
mid game speed changes also cause this.
05-25-2003, 12:28 AM#12
Guest
This isnt really a tutorial. Tutorials teach you how to do something, this just teaches you what not to do.
05-25-2003, 04:37 AM#13
Panto
Au contrair. While your idea of a tutorial has merit, in this case it does not apply. This is a set of recommendations about avoiding server split, which by its nature can be nothing but a list of what not to do. If this were polished and put in a clear list format with explanations, I would recommend that it be added to the tutorials officially, because it's a very useful bit of knowledge to avoid a frequent problem.
05-25-2003, 02:53 PM#14
draconx
About Get Local Player - well AI Andy said that you can use it with music, since music is not synced.

Does this mean I could do this safely - pick every unit in (group) and do if owner of (picked unit) is equal to (local player) selection - select (picked unit) ??
05-25-2003, 06:11 PM#15
AIAndy
Yes, that should work. It will make everyone select his own units in this group.