Successfully reproduced! (... the BUG...)
A friend and I set out tonight to try to reproduce this bug, and I believe we've succeeded. She plays an Outlander, and I play an Embermage - and this bug has happened to us in every play session since release that's lasted more than an hour or so (and sometimes even in very short games). It has been driving us CRAZY! I don't think we've ever put so much time into solving a single problem with any one game.
Forgot to post what we ruled out before beginning our in-game testing:
- Port blocking (direct to modem with no routers; ISP--Comcast--not blocking any necessary IPs or ports)
- Windows Firewall (disabled completely)
- Other software firewall (bare bones processes only; used a fresh install of Win7 on dedicated partition, on both computers; only Steam, TL2 and system fundamentals installed)
- Mods (no mods used)
- Fragmentation/corruption (Steam, TL2 install and save folders all have 0 fragments; checked with Defraggler, Auslogics, and default Disk Defragmenter; fresh download/install via Steam)
- Page file (disabled)
- System memory (reverted o/c to default 1600 Mhz; 0 errors with 10-hour overnight tests using both OCCT--which also tested CPU--and memtest)
To clarify, these are the full list of symptoms that we have observed:
(The following *always* occur with the bug):
- Embermage player name is seen as generic "Embermage" by other players in-game.
- Embermage stats (as seen when inspected by another player) are reduced to their level 1 equivalents, plus any bonuses from gear.
- Embermage level (as seen when inspected by another player) is usually reduced to 1 once the bug appears, and then remains that way - but occasionally will fluctuate between level 1 and actual level (unknown why, but does not affect the stats portion of the bug).
- Embermage Ice Prison spell will become "solid" to other players, trapping them or prevent passage.
(The following *usually* occur with the bug, but not always):
- Embermage death messages will stop appearing for other players completely, and often stop appearing for the Embermage player as well (not a range issue).
- The other players' death messages will stop appearing for the Embermage, and often stop appearing to the other player(s) as well (not a range issue).
- One player or the other will appear to inexplicably and accidentally kill the other while in an unsafe area. No monsters need to be present, nor does combat need to be actively taking place, but this does seem to only occur shortly *after* periods of particularly drawn-out combat with many mobs on screen at one time. Usually occurs 10-30 seconds after the last mob is killed. (Untested theory: possibly due to desync issue with monsters who reflect damage?)
(The following *seldom* occur with the bug):
- The Embermage will sometimes get stuck in an arbitrary state of animation, most commonly idle (doing nothing) or a corpse (after dying), but sometimes will appear to the other player to be stuck mid-cast/attack, mid-stride, etc. This is only visible to the other players.
- Both players' clients will indicate that the other player has disconnected, but each player will actually remain in the game alone, in their own identical instance of the original session. Each player's game appears to function normally and bug-free at this point, much like a single player game. Either player can quit and re-join the other's game at this point. (Upon re-joining, the bug will have been temporarily resolved).
What causes it?:
- In an online game, note the "Messages Sent" and "Messages received" values shown when mousing over the white dot in the other player's portrait (top left of the UI); I'm not a network technician by any means, but if this is a network stat, my best guess is that it roughly translates to packet/instruction loss/desynch. (This is, of course, assuming that the "ideal" ratio would be 1:1. If not, well... my theory is probably wrong - but at least the results are a start). If this IS true, it seems reasonable to me to conclude that at at some point, enough "important" instructions will be lost enough times in succession to cause a significant and potentially unrecoverable desynchronization (assuming certain data must be streamed without interruption to maintain a functional session).
- Regardless of the specific numeric values of Sent/Received, the bug appeared like clockwork once the ratio of Sent:Received reached approximately 1.0 : 0.75 or 1.333_ . For us, this happened between 1 to 3 hours into our gaming sessions, but much more quickly when we deliberately increased our internet traffic. We were able to reproduce this three times in a row, while sitting in town doing absolutely nothing.
- As for what specifically is causing this discrepancy to occur, I have no idea.
- We have observed that, regardless of the classes present in a game session, these Sent/Received values will generally start out very similar to each other (as we expect they should), and *very gradually* grow further apart over time. Presumably, even after many hours of playing, the differences in these two values will normally not be significant enough to cause problems. However, with an Embermage present, this divergent behavior is drastically magnified:
- We observed that, in every game session we played, the Embermage's "sent" value was always immediately dissimilar (higher) than the "received" value as soon as the game session began (as seen when mousing over the non-Embermage player's portrait, on the Embermage's client). If we switched characters, the trend held true; no matter whose Embermage was being played, it was always the one with the higher "sent" value as viewed from the Embermage's client, and there was always a discrepancy between the two values.
- If we played two Outlanders instead, these values generally stayed similar for the duration of the session. Likewise with Engineers, and Berserkers.
- (We have heard that others are experiencing the same issues with non-Embermage characters; I can only presume that whatever makes our Embermages "special" is not strictly isolated to the Embermage class - which, I suppose, makes sense. As for why it seems to occur *most often* with Embermages... I have no idea whatsoever).
- Over time, the difference between these two values increases, and eventually reaches a threshold which, we believe, is what causes the bug(s) to appear.
- While attempting to reproduce the bug, this threshold first occurred very near 120,000 Messages Sent/90,000 Messages Received, or an approximate ratio of 1.0(Sent) : 0.75(Received).
- Further tests concluded that, regardless of the specific numeric values of Sent/Received, the bug appeared like clockwork once the ratio of sent:received reached approximately 1.0/0.75 or 1.333_ . For us, this happened between 1 to 3 hours into our gaming session.
- (We deliberately increased our network traffic significantly after the first test, in an attempt to "encourage" more packet loss and hopefully make the bug appear sooner, and were successful. The final test resulted in the bug appearing at approximate sent/received values of 68,500/51,400 respectively).
CONCLUSION: Eventually, enough essential information from the Embermage's client is lost that the other client(s) "forget" its essential details, at which point it is assumed to be replaced by a template of some kind (level 1 non-hostile npc? - based on the Ice Prison weirdness).
What fixes it?:
- Making a new game. Either player can host; it appears to make no difference. (The bug can still re-occur).
- The Embermage joins a different game. Upon entering the new game, the bug will be resolved. (But can re-occur).
- The Embermage leaves and re-joins the existing game. Upon re-entering the original game, the bug will be resolved. (But can re-occur).
CONCLUSION: To truly solve the problem, find out why Embermages/characters are leaking!