I asked a similar question (but different) in a different forum but then I noticed this which may be a better place. Also, I’m very new to networking so I’m not sure if I’m asking this question properly.
I’m developing an open world MMO with many “zones” (a starting area, then various other zones of different levels of difficulty).
Say I’m using NGO and for various reasons I can have only 50 players at a time in a single zone.
Would my entire game be limited to 50 players in all zones?
What if 100 players wanted to be in the same zone, would the server just create two instances of 50 each or would 50 players need to wait until there was room, their turn?
I read often about “limits” on NGO and other multiplayer solutions but I’m not really sure how this would apply in my specific situation. I don’t fully understand how NGO interacts with a dedicated server and how each’s limitations impact the other.
The networking framework has little implications as to how many CCU the game can support.
It depends on whether you artificially limit a zone to 50 players, and how well you can optimize this part of the game to support the number of players you intend to, and how beefy the server machine is and what costs you are willing to pay for it (CPU, RAM, traffic, disk space).
Take for instance the servers Unity Multiplay Game Server Hosting provides you with: these are dual-core machines, 2.8 GHz, 8 GB RAM, 50 GB disk space running Linux. Divide the memory by the number of CCUs you target and you know how much memory each player can allocate at most. It isn’t much, perhaps 5 MiB or less. The same goes for processing time … say it’s 0.01 ms per player times number of CCU and this is what the processing time per tick on the server will be.
Here’s an example calculation:
Based on these metrics:
Nothing automatically creates separate instances of your server process. This goes for all networking frameworks as far as I’m aware.
Forget about these supposed limits. When it comes to creating an MMO, the biggest limitation is you. By the sheer number of time and effort that you have to put into creating content for an MMO, designing and testing it, and supporting its player base. This is at least several full-time jobs.
An MMO isn’t something easily pulled off by a solo developer, in fact you will be hard pressed to find any MMO ever released to the public that actually had enough players at any given time to be called an MMO that was truly created by only a single person, with no help from others.
Try to focus on 100 CCUs at most. This will be a significant challenge already and is realistic with any networking framework. The main issue will be cost because you can easily spend over $100 per month on service costs during development / testing alone.