Hey guys!
I’m not sure which multiplayer solution to use.
I’m wanting to develop a project using the dedicated server model. Any suggestion?
My idea is to support up to 100 simultaneous players initially, but to scale up in the future.
Hey guys!
I’m not sure which multiplayer solution to use.
I’m wanting to develop a project using the dedicated server model. Any suggestion?
My idea is to support up to 100 simultaneous players initially, but to scale up in the future.
Pick any that you feel you can learn.
This isn’t reducing the candidates. They all implement the server-client architecture.
Go for 10 at first, and then scale up to 100.
How many games do you know that support 100+ players on the same server? Action games like Fortnite cap out at 100 for good reason. Non-action games (specifically turn-based games) may not even be implemented with a realtime networking framework or sockets but rather use a web service to synchronize player actions only, such as “play card” or “move to grid cell”.
100 simultaneous players overall split into various game sessions (ie 2vs2) would be a matter of scaling up the backend infrastructure (server instances).
I’m an experience C#/.NET developer, probably I can learn any of the available.
My question is regarding which solution would suit me, considering that I need a solution where it is possible to develop using the dedicated server model.
I came to ask on the Multiplayer forum after watching some videos on YouTube about the frameworks. I noticed that there are some common recommendations, but I didn’t find a definitive solution.
It is for an MMORPG game, where the expectation is to support up to 1000 simultaneous players. That’s why I came to ask.
Despite having one in mind, I would like suggestions and examples of applicability from other people who have used it, so I can compare and, who knows, decide on one.
Literally any! Like I said: there is no (popular choice) networking solution that DOESN’T support dedicated servers.
Just by the sheer volume of MMORPGs made and published by solo devs or small teams and met with at least minimal success means: the odds are severely stacked against you.
That said, all of these networking solutions are not really suitable to build an MMORPG with 1,000 CCUs. They and the infrastructure around them were made to support small scale, realtime action games.
If I were forced to pick one it would be Netcode for Entities and naturally developing the entire game with Unity’s Entities framework - the multithreaded data-driven powerhouse that will also save you on server hosting costs because that’s the only way you can make use of multiple cores in a server machine if you build the game with Unity.
Just for fun, I calculated the cost for 10 servers (each on one machine) running 1,000 CCUs most of the time if you were to use Unity Multiplay (Game Server Hosting). That’s closing in on a $1,000 monthly bill to provide a rough estimate:
Mind you, that’s just server hosting. You also need to pay for persistent storage and bandwidth.
This is calculated based on these estimates:
(The above estimate was generated with Unity Gaming Services Cost Calculator which I’ll make available on CodeSmile.de soon.)
Of course, you can do away with 1 server during development and it may not need to run 24/7. Nevertheless, the running cost of an MMO has to be considered and estimated up front.
Then you need to run all the other metrics. Memory budgets for instance. GSH machines are limited to 8 GB - you don’t get any hardware options unless you are a Unity Enterprise customer. This effectively means you get to have about 5 MB of memory allocated per player on average (you need to leave some room for the OS and other processes). Or you go with custom hosting, extra effort, and more memory but also higher costs.
This explains why MMORPGs typically go all the way with “custom-made”. A custom UDP transport layer, a custom game engine (or one with all source code available), custom server hosting, … in the end, it’s the only way to be cost effective and in control while running/scaling the game even though this adds significant up-front development time.
Ultimately the only way of reaching 1,000 CCUs with a server built with Unity is to build the entire game with Entities and Netcode for Entities.
I using Telepathy from Mirror find in GitHub. It’s really good and easy to use for beginners.
If u have any questions contact me.
Best regards