lex- wrote:I didn't quit game but It shown disconnected.
Astros wrote:I've seen this shit happen before. Not sure what the issue is but it seems to be random and rare.
Warcraft III disconnects the local player from the bot voluntarily whenever it receives a network action it considers to be invalid, forged or a cheating attempt.
Let me give an example. At some point, I developed an experimental bot feature: To make disconnected players walk back to their fountain, like in LoL. There was no lag screen in the community I developed it for, so disconnected players were left still in the battlefield while everyone else kept playing, and they would usually die. So I made the hostbot send an action to everyone, on behalf of the disconnected player, that they clicked to walk back to their fountain.
This actually worked, and you'd see disconnected players and leavers neatly returning to their base... Except for when they reconnected, they would also receive the action done on their behalf, and their local Warcraft would disconnect them voluntarily from the game.
Likewise, Warcraft III will disconnect you from any game it considers to be sending you bad data from the other side of the wire. It even sends an official game exit request to the bot before closing the connection, marking you as a voluntary leaver.
iambackk wrote:I don't know where you see a game desync, they just left thinking they ff
EdteOfChaos2 wrote:No there IS something strange here. I think it's unlikely 3 people left at the exact same second
Astros wrote:I don't think anything malicious happened here. Just unfortunate it happened if you care about the ELO I guess.
Astros wrote:My inclination is it has something to do with the bot disconnecting and then not recording the game results.
The bot disconnecting may be the usual case, yes, but it usually prints something more. For a player to show as a voluntary leaver, it means their Warcraft III sent a game exit request to the bot. Since
@lex- claims that he was shown the disconnect message without quitting the game, but the bot marked him as a leaver, then it's a case worth investigating further. There's definitely something going wrong here.
Warcraft III 1.30 seems to have removed some sort of map boundary enforcement. That was the reason of PL crashing.
Let's see the flow:
- Warcraft III receives a network packet.
- It tries to open the packet. [PL would crash here]
- It validates what the packet contains. [lex- was disconnected here]
- It executes the contents of the packet and sends back a checksum of the game state after all actions were applied.
- The bot receives the checksums of all players and compares them. They must always match. [desyncs happen here]
In PL's case WC3 wouldn't make it past opening and decoding the network packet, cause it required more memory space to decode the coordinates than it had reserved. Think of it as having it an extra digit, one digit too many to fit in the available slots.
But we can't rule out the possibility that there are packets that are just outside the map boundaries, that can still fit in memory without causing a crash, and that can make it to the validation stage. While PL's Dopperganger immediately "jumps" to places outside the map boundaries, walking there slowly with Spectre without collision could allow such small marginal cases to exist.
So lex-'s theory of Spectre being able to cause a mass disconnect by using an out-of-bounds Spectral Dagger is plausible.
I can't watch the replay at the moment, but can anyone confirm what actions Spectre and Anti-Mage took right before the mass disconnect? Was any of them near the edges of the map, using Spectral Dagger or Blink?