Live data from Hacker News

MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

prdeving.wordpress.com

11–20 of 76 posts

Re: MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

#11
post #8

You missed the opportunity to talk about WoW private servers like Trinitycore. Trinitycore emulator can handle 10k+ players on a single server.

I 've seen those so called 10k players per server and in reallity it just does not work and it's pretty much a lag fest. You should see how those servers run in China ( where private wow server are very popular ).

Re: MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

#13
post #10
post #8

You missed the opportunity to talk about WoW private servers like Trinitycore. Trinitycore emulator can handle 10k+ players on a single server.

to be honest, i know nothing about private WoW servers but i promise i'll check it out! Thanks!

azerothcore is probably the best and most polished, if you don't mind wotlk

Re: MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

#14
post #12
post #4

Earlier quoted context omitted.

yep

…and you wrote a comment complimenting your own article?

haha, no I think they were giving a heads up to potential readers as to what they think is the interesting or unique points in the post. Still funny though :)

Re: MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

#16
post #6
post #5

Early MMOs (WoW, Asheron's Call, Everquest, Daoc) were very impressive in terms of distributed computing.

They were not really distributed though, I think one of the first that really started was Guild Wars 2. https://ubm-twvideo01.s3.amazonaws.com/o1/vault/gdc2017/Pres... DAoC was basically a Linux box with a bunch of processes connected to MySQL. https://www.gamedeveloper.com/disciplines/postmortem-mythic-...

[deleted]

Re: MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

#17
post #9

Earlier quoted context omitted.

I love reading the source code of WoW private servers. They are not the official code but for example TrintyCore is quite nice c++ code.

The WoW development diary talks abit about their server code and how they handle the load.

Do you have a link? I’m intrigued.

Re: MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

#18
post #2

Interesting aproach to data ownership philosophy, I/O techniques and source of truth fuckery in MMO-like systems

I liked the article! Do you know of MMOs that try to use database techniques like write-ahead-logs and log-sequence-numbers for persistence/replication? The nice thing about these techniques is that you can replicate state in a consistent way - so you could have multiple game state services all providing equivalent reads

Re: MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

#19

Does anyone know any more good resources for designing an MMO architecture? Would love to do a MMO as a side project but a bit daunted by the unknown of architecture development.

Just keep it simple and avoid optimization like the plague. you can spend 1 month building a prototype or >3 months perfecting a single piece. Just know that it is all smoke and mirrors and don’t worry about that.

Re: MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

#20
post #6
post #5

Early MMOs (WoW, Asheron's Call, Everquest, Daoc) were very impressive in terms of distributed computing.

They were not really distributed though, I think one of the first that really started was Guild Wars 2. https://ubm-twvideo01.s3.amazonaws.com/o1/vault/gdc2017/Pres... DAoC was basically a Linux box with a bunch of processes connected to MySQL. https://www.gamedeveloper.com/disciplines/postmortem-mythic-...

Would this count? https://www.gamedeveloper.com/design/classic-postmortem-i-as...

> One the most impressive features of the Turbine engine is the continuous outdoor environment. This is made possible thanks to dynamic load balancing, which is a scalable serverside architecture. The easiest way to appreciate the need for dynamic load balancing is to consider the following scenario.

> Dynamic load balancing solves this overloaded server problem. Instead of assigning a static geographic area to each server, the individual servers can divide up the game world based on the relative processor load of each server. In the previous example, instead of remaining idle, all four servers would divide the load equally among themselves, ensuring the most efficient use of the hardware’s processing capacity.

Post reply on HN