David Brevik on Server Issues

Too amazing for words. >.<

Burnt.

2 Likes

“quote the entire thing not just what suits you, you are a liar and a disgrace”

First of all - i stated “There is no bots” - Which, u wrote - how does that make me a liar, for not to mention disgrace?

And to do you the honor

So, pindlebots etc is not a meaningful thing? It’s not a gamebreaker? No no i see…

Anyways who cares, learn to talk decent to people or stop being on the internet, dumbass.

1 Like

Why not begin with yourself?

3 Likes

Bingo. In fact, the “original game / source code” wasn’t really touched at all.
Thus far, this was only a graphical overlay with new (great) design and graphic interfaces.

But when it came to client/server/network/database they actually need to dig into the original code and architectures.
And they screwed that part pretty much.

Actually no, they made some changes to the backend, below is a quote. Also, we don’t know what else was changed but yeah, as they say - most of the stuff is unchanged.

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.

It’s just completely out of line, horrible not in no way to justify, to get some people on-board for at least a consulting position, who actually really know what’s going on.
Especially on the network/database part, where you can’t just code an overlay for.

Even if the original devs and designers couldn’t give a glorious, perfect solution, they dealt with the same issues and the input from those guys would be gold right now.
We are still in “queue mode”, and thousands of players were already driven off the game, understandably. This is another screw up of the decade.

1 Like

Yeah… to me it is also weird, tbh. It must be obvious that the old netcode won’t be ready for a new reality and that old software won’t match modern requirements for scalability.

you’re right. but it’s not the developers fault, it’s not their decission. it’s a managing problem. and a mony problem.

if you give the developers the time they need for documentaion and good code, they will do so. if you give them only time for fast hacking some strange code that barely works, they will do so.

if you have a developer, who you give enought time, but he produces bad code an no documentation, it’s still your fault: you get what you pay for.

Definitively agree on the documentation thing. Documentation is language that can be interpreted in various ways. Source code is a strongly typed language that will do exactly what it says it does. You want to code in such a way that it’s easy to read the code, because that is the source of truth. Most of the time you feel like you need to document something is because you wrote something in a messy way so it’s hard to understand the code. Then clean up the code instead.

This is only one side of the story. We dunno why they weren’t contacted. Back in the day, few had internet and most played offline, so the original code network handling probably needs improvements to work with todays usage.

Code can be clean and still not accessible to the reader. For example a procedure might cut off from message payload which is understandable, but it does not explain why the payload is being cut. Either you write a comment or the reader is required to read more code for context and if this cut off is due to a bugfix the reader might never understand without a ticket reference in a comment.

They might be better off writhing a new one.

1 Like

If we are to believe Blizzard’s own, long explanation, it is mostly ALL database issues, namely global vs regional, and backup vs update code, and too many concurrent users. They even acknowledged that they screwed up when setting up the backup database as “primary” they forgot to tell it to stop “backing up”…

Did you guys even read it before coming here?

1 Like

and how does this make anything better for the people that paid money and cant play?

such issues can happen to newbs doing their first online game. not to a company like blizzard with its experience.

1 Like

Some yes and i did but not everyone.

If you exclude the rep of blizzard.

They are also humans.

sure.

but when you work for decades on the “same” thing you should get some experience, which should flow into working processes. the working processes should make it impossible, that human mistakes can result in such problems.

I think it is 20 year old code and there’s no one at Blizzard that knows it well, since they 've had no one looking after it. They just decided to go with D2R and this is what happens when you use something which you do not understand and cannot repair.

1 Like

Yes , but what is unexplainable is they didnt even imho :
1- Say in clear words they inted to fix this queue problem in a definitive way.
2-Post a roadmap.

I dont understand this singleton explanation. So divide it, synchronize etc. or even make a facade and forward requests to some more modern layer. ~ a month time should be enough to write soemthign, or at least have a definitive roadmap, after some very deep code digging.

I kid you not, HRs are wasting their time in LinkedIn - this forum is a goldmine for db architects and backend devs

You’re joking but that may actually be true :smile:

  1. Not sure what you mean by that… I think their strategy and plan of attack was perfectly described in the bluepost.
  2. Roadmap would be good when they are clear with a scope of work.

I can’t say “month is enough” since I have no clue how this project looks like, not sure how you can estimate it just like that.