Jump to content

Multi-process MaNGOS


bugeyedcreepy

Recommended Posts

So, Given that Blizz has cunningly redistributed their world populations somewhat evenly around faction cities in the old worlds with their introduction of Cataclysm, is there anything to be taken from this? I'm wondering out loud how hard would it be to run world instances across several MaNGOS processes - possibly across different servers...? This is obviously how Blizz are doing things given that there have been times where say Kalimdor has crashed yet it's still possible to log into a toon residing in Eastern Kingdoms or how Dungeons or Raids suddenly get restarted and everyone gets kicked back to their Hearthstone Location.

Has anyone ever thought of taking MaNGOS down this route (Particularly since we're now coding to Cata and MoP)? Is this too much to do with MaNGOS if it's just a learning project? How hard would it be to shuffle toons between processes/worlds as they jump on boats/zepplins or teleport/hearth/whatever to another part of the world? Cross process client chats, etc?

Am I waffling here or is this considered doable at some point?? If it were doable, surely it'd be theoretically possible to support a larger playerbase.... so long as they don't all raid up and attack/defend the same city or something...

:P

Link to comment
Share on other sites

Multi-threading various processes within MaNGOS for multiple core processors has been experimented with before, with multi-mmaps coming to mind as the biggest project.

I don't believe there's been a concerted effort to make a truly multi-threaded version due to all the technical hurdles that must be resolved. With so many more missing features affecting game play, it may have been decided to shelve the multi-threading for a later time.

Instead of multi-threading MaNGOS itself, you may be able to borrow the idea of Beowulf clustering from the Linux distributed computing scene. Create a daemon that acts as a cluster manager, controlling the various server processes across multiple cores, or even multiple machines, as one virtual super-computer.

Link to comment
Share on other sites

Instead of multi-threading MaNGOS itself, you may be able to borrow the idea of Beowulf clustering from the Linux distributed computing scene. Create a daemon that acts as a cluster manager, controlling the various server processes across multiple cores, or even multiple machines, as one virtual super-computer.

Clustering on Linux (including Beowulf in particular) still requires specifically written software to take advantage of it properly... I was thinking more like distributed computing where say several boxes could be running, they all use the same Realm daemon for logging in but some sort of switching and hand-off process would redirect clients somehow to another process, possibly on another box.... is that even possible?

Link to comment
Share on other sites

I don't think that he implemented more threads than 1 per 1 map, but you would have to ask him directly to know for sure (or maybe I misunderstood your post), I never really tracked this part of development in mangosR2 fork.

But anyway, there might be something interesting there for anybody who wants to develop multithreading in mangos master. :)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use