An Abysmal Failure

I shouldn’t need to explain this but your so called ‘fix’ is such an abysmal failure that it’s actually hard to quantify just how bad it is. Lockouts which trigger upon failed joining or name taken? Horrid. Queues that can take literal hours? Abhorrent failure. Somehow still managing to ignore community feedback and rectify the server stability issues? Yeah, you’ve managed to create Diablo II: Refunded in addition to Warcraft III: Refunded.

2 Likes

You think they’re ignoring us. They’re not, they’re simply choosing not to respond to feral complaints that have been repeated endlessly. It’s a smart move, because if they responded to all of you every time a complaint cropped up, there’d be no end to the same responses they’d give everyone.

Just sit back and enjoy the wait, because fixing this problem is no small task.

None of those are fixes. Those are temp measures to keep the whole game from falling over dead.

They decided to use the old code for the regional databases (USWest, USeast, Etc) and apply to to the Global level over all the world data centers and platforms for D2R. That is what gave us cross progression.

It can’t handle the load. It is not hardware. It is the old database coding architecture.

They are working on fixing it, but the issues you cite are not fixes. They are band-aids to keep it at least up.

I feel like this should have been though of BEFORE release.

Edit to add the tech post. I give them credit for actually saying what is wrong. Rare that Blizz does that. Diablo II: Resurrected Outages: An explanation, how we’ve been working on it, and how we’re moving forward

4 Likes

Hate to be the bearer of bad news but this is not purely a coding issue, it’s got Blizzard’s motus operandi written all over it. This is my job as well and the fact that the original servers are still running and with less issue shows that this is a combination of multiple issues but the central issue being the same one that they had with the launch of Diablo III and that is poor planning and execution. They underestimated volume like they always do and they also skimped on the quality assurance and control, opting for a few brief beta tests rather than a prolonged period with proper CSRs and bug testers. This is pure greed that lead to this, nothing less. Blizzard has servers capable of handling millions of concurrent players and regardless of the use of existing architecture they failed to spend even an iota of time on upgrading the physical server hardware as well as the baseline server coding thus leading to this abysmal failure.

You can defend them all you like but as someone who works as an electrical engineer/network & server technician, I can say with almost certainty that those excuses are just that, excuses. But i’ll go into detail and break it down further.

Per their post:
"[…]our global database, which exists as the single source of truth for all your character information and progress. As you can imagine, that’s a big task for one database, and wouldn’t cope on its own. So to alleviate load and latency on our global database, each region–NA, EU, and Asia–has individual databases that also store your character’s information and progress, and your region’s database will periodically write to the global one. "

This is unlikely as there is no realm selection outside of the Battle.net region select upon launcher login as well as character load rate switching region to region has little to no change (There should be at least a small load period while the data center establishes the upload/download of the data meaning your characters should not appear instantly). After testing connection to each different realm along with associated data transmission rates, there was little to no change, so either all databases are stored in a single location (which would defeat the purpose as usually server data centers are located regionally to minimize latency and packet loss while subdividing the workload from each individual area and preventing the servers from being overloaded with concurrent connections. These function as independent servers, or should, only communicating back to the central data hub to update the main databases.) or (and this is highly unlikely) they’ve such powerful hardware and architecture that these servers are somehow able to return nigh identical values and transmission rates down to the millisecond. Given the experiences we’ve all had, I’ll let you deduce which is more likely.

Onto their next claim.
"On Saturday morning Pacific time, we suffered a global outage due to a sudden, significant surge in traffic. This was a new threshold that our servers had not experienced at all, not even at launch. This was exacerbated by an update we had rolled out the previous day intended to enhance performance around game creation–these two factors combined overloaded our global database, causing it to time out. "

This again goes back to what I just stated, if this was purely an architecture issue then traffic would cause latency not a full on time-out. That’s generally a symptom of poor server hardware and connection, they hadn’t planned (as usual) to be able to support the sheer number of concurrent connections and it overloaded the system causing instability and eventual time-out.

Onto their later claim.
"In staying true to the original game, we kept a lot of legacy code. However, one legacy service in particular is struggling to keep up with modern player behavior.

This service, with some upgrades from the original, handles critical pieces of game functionality, namely game creation/joining, updating/reading/filtering game lists, verifying game server health, and reading characters from the database to ensure your character can participate in whatever it is you’re filtering for. Importantly, this service is a singleton, which means we can only run one instance of it in order to ensure all players are seeing the most up-to-date and correct game list at all times. We did optimize this service in many ways to conform to more modern technology, but as we previously mentioned, a lot of our issues stem from game creation."

Now lets just start by stating this is absolute bollocks. I’ve played Diablo II since it’s original launch, you were able to make hundreds of games in quick succession and even during it’s peak it rarely experienced issues. You’d have the occasional disconnect but that was usually personal connection related, not generally Battle.net and back then they definitely were using regional data centers, as was evident from the lack of cross region functionality. The fact they have instituted a one minute lockout after any ATTEMPT at game creation(even if the creation fails due to duplicate name, time-out, etc.) tells me that they fundamentally botched something in the coding, there is absolutely no reason in this day in age that an instance driven game such as this should have timed lockouts in this matter nor queues that last for hours.

In summation there is no way in Hell that you could convince me this is anything but poor planning, execution, and a lack of proper testing procedure that lead to the current state of affairs. None.

3 Likes

A few things here.

The databases for D2 are Regional only. They only have to handle the data for a single region. For a game that is 20 years old. There is no global play or console play in D2.

D2R is Global - as in all the data for all the regions and consoles all feeds into the one large database. While ok for an individual Region, it is not ok for Global.

They also have a timer on game creation in D2 (2000). And it gives you realm down or temp suspends you from the game.

Here are the server stability and anti bot measures in place right now for D2 (2000) . This tells me they KNEW these things were issues even at the Regional level. Much less the Global.

The Diablo II (2000) servers will automatically restrict connections when a game client is performing unauthorized behaviors. These restrictions exist to maintain server stability and prevent exploitative behavior such as botting and hacking.

If you are using an IP address which is shared with other users, any restriction will affect all users of the IP address. If you share your IP address with other players who have gotten a restriction, you will need to acquire a different IP address.

Connection restrictions in Diablo II (2000) can be applied for behaviors such as:

  • Attempting to use an invalid CD-key
  • Attempting to use a hacked or modified game client to log in to Battle.net
  • Using unauthorized third-party programs or addons
  • Connecting to Battle.net using a business network, cloud hosting service, VPN, or proxy
  • Rapidly connecting and disconnecting from Battle.net
  • Switching between accounts or characters too quickly
  • Leaving and joining games too quickly
  • Scrolling through skill selection too quickly using the mouse wheel
  • Repeatedly leaving an area and coming back to change shop or gambling items
  • Repeatedly using a spell with no cast delay such as Amplify Damage or Glacial Spike
  • Repeatedly using an incorrect password
  • Harassing other players
  • Advertising inappropriate website urls
  • Spamming text or chat commands such as /whisper or /whois
  • Connecting to Battle.net with more than 8 clients

Repeated login attempts after a restriction may extend the restriction.

What they failed to do was FIX the issues that already existed THEN they applied it at the Global level across all the PC regions and platforms.

No surprise it keeled over.

While I dislike the launch and current state and wish it had been better. I hope for much more but I haven’t crashed since last update. I’m finally playing a bit less like I could disconnect any second, so that’s comforting. Should it have been better, no doubt, but the qs for me have been minimal and no crashes in 2 days.

What they didn’t do is test the game. I’m sorry but you cannot tell me that essentially four weekends with PLAYERS, not actual bug testers and CSRs, is enough to adequately assess a game and server setup.

Do you know how many hours I’ve had to run tests for some of my deployments? And keep in mind the systems I work on a lot of times have less than a dozen concurrent connections. Weeks, not days or hours but weeks. We have to run prolonged testing on the control systems and servers for weeks to ensure that every eventuality is accounted for. And when we’re done running our tests we have others run tests to check that our tests didn’t miss anything. They’ve done nothing of the sort, they rushed into a release without testing their systems as Blizzard always does and they’re hoping that rather than having to fix it enough of the player base just gives up and quits. It’s what they’ve done every time with every release since Vivendi and Activision came into the picture.

2 Likes

I truly believe that the people “patching” the code knew this will happen but were not given the time to properly fix the code.

If that’s not the case and the fault is with the actual devs then, this game is doomed.

1 Like

This is the same exact issue that Cyberpunk had, it was Activision and Blizzard’s executives pushing the game out as quickly as possible while ignoring common sense and just hoping that things go smoothly.

2 Likes

Correct. It was not. I have posted a lot about this so I am sure you have not read all my posts.

The OFFLINE Alpha and two short weekend Beta tests were not enough. Agreed.

I am not “defending” this mess. This is their own fault and could have been avoided. I also think it was rushed, not tested enough, and that maybe suits cut their budget and did not let them re-design the database like they should have.

About the only thing I can do is ensure folks understand this is not just as simple as “throwing hardware” at it. They can’t buy more servers/access to fix this.

1 Like

That is the point, this isn’t about architecture, yes it played a part, but this is ineptitude pure and simple. In a rush to get a popular game out they tossed caution to the wind and it turned about and gnawed their face off.

1 Like

The worse part of this is not only the game is unplayable (no person with an actual life will sit in a queue for an hour to play) but also there is no ladder release because of that.
And as much as I am hopeful they will fix this, the only fix I can think of is completely rewriting the code from scratch which obviously won’t be a quick fix.

I was happy seeing the game released, but now I can’t say this game exist until they fix it and have ladder on, until then this game is not released for me.