Jump to content

Multi-process MaNGOS


bugeyedcreepy

Recommended Posts

Posted

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

Posted

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.

Posted
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?

Posted

Actually mangos is in main parts quite well designed and most of the steps for multithreadding are already done.

Reasonable split would likely be one Thread per Map class.

A bit work enculapsing players would have to been taken - but this should be the way to go

Posted

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. :)

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

Just lol. In mangos source lot 99% that need for possibility use per map threads. If this not "develop" then i not understand what meaning this word.

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