Just to add more support / info to the use case, here's a detailed sequence of what happens:
- Game loads up fine, login works fine, hero select works fine, AH works fine, chat works fine (?), etc. (all *before* entering a game)
- Once entering a game, the game plays smoothly and appropriately for at least 1-5 minutes. Although not confirmed, lack of the normal jibber on general chat room is suspicious. Also during this time, whispering or other messages silently failed to deliver
- Framerate drops, game becomes sluggish, removed from game
- Kicked back to the hero / quest select screen. AH button is grayed out, with tooltip saying it is temporarily unavailable. Trying to hit 'Resume Game' results in error 316704, as does trying to join anybody else's game.
- Here's the annoying part: Hitting the log-out OR exit game button causes the game to hang indefinitely, and require force kill (since it's wine under linux, i have to 'kill `pidof Diablo\ III.exe`'). Despite the game 'hanging', the music keeps playing though, so at least some threads are still going and it's not a full lock up. It does respond nicely to the kill command, i.e. a TERM signal, by exiting promptly and ?cleanly? (as compared to having to kill -9 to *really* make for a 'forced' kill)
- Restarting the game, this whole process starts over again.
Bumping / replying / requoting, to highlight the updates to the use-case checklist I posted before but couldn't finish the first time around.
It *is* suspiciously correlated with linux / wine usage, though at least it's good to know there are a few windows cases as well.
- It definitely seems to be a network related issue.
- Considering it's widespread effects, we can hopefully rule out individual cases of ISP related problems.
- The fact that we have plenty of people saying (including the 100+ hours myself) that the game worked perfectly fine up until 24-48 hours ago, and no (known) changes were made client-side, means it was either a server-side patch, or a silent client-side hot-patch.
- It's peculiar how performance steadily declines over the course of a few minutes before being booted. Worth noting however, is that despite the game becoming pretty much a slide-show right before disconnect, it seems like everything done in game (including gold and item pick-up / sales) is retained.
- A (native) windows client on the same network has similar performance drops and symptoms, but never completely drops or gets booted, and chat / messages becomes intermittent but continues to function.
- In all cases, windows, mac, and linux + wine, EU servers operate flawlessly still, if not better than than the americas server ever has.
- No firewall setting changes have proven effective, including putting affected client / machines in front of DMZ, disabling local firewalls, and even explicitly routing blizzard ports.
It seems odd that if it was a server-side change, that EU servers would continue to work. A previous poster with similar issues has also investigated the matter and noted that UDP traffic from the servers drops off right as the issues start to happen. Having done some game programming myself and known how most real-time online games function, the case of the UDP/unreliable stream going dark, and temporarily compensating over TCP/reliable stream would cause a scenario quite like what we're experiencing. As more packets have to be funneled from UDP to the TCP stream, the TCP stream tends to slow down and come in intermittent bursts as it wont hand over data until its reassembled properly. This whole problem then gets compounded by the client side reacting to intermittent bursts with it's own intermittent bursts, and the problem snowballs until a threshold of latency is crossed and the game considers us MIA. The TCP connections are still there though (thus why we can still see our friends list, any why our game data like gold pick-ups and monster kills DOES get recorded all the way up until the boot), however the avalanches of snowballing latency processing has left the client in a bad, instable state. Thus why the game is pretty much borked at this point, and trying to do nearly anything either gives an error, or leaves the game hanging.
I'm starting to think that possibly some networking tweaks at the OS / hardware level were made on the blizzard servers that are affecting traffic between linux hosts and the servers differently. Specifically maybe some UDP packet handling rules that only take effect in high stress / traffic scenarios that are handled slightly differently by wine/linux than windows/mac that result in different behaviors on the two systems. This could possibly explain why EU servers still work OK.
All this is just a theory, I'm not saying that this IS what's happening or that it's the ONLY explanation, I have no evidence beyond my own inferences from my own experiences and what's been posted here by others. I however will most likely do some more testing when I get the chance to verify / validate the probability of the scenario I've hypothesized.
Still though -- to blizzard -- we know you don't 'support' linux / wine targets, but that doesn't mean you can't help us help ourselves by throwing a little information our way, so that we can make fixes ourselves on our own time and dollar.