Making MMORPG game in unity, which server solution?

Hi Everyone!
I have plan to make MMORPG game with friends and because of our experience in unity, we decided to chose that engine for that (opposite was UE). (3 Devs - with some experience, rest of team is for Lore/Game concept). Dev team have ~2years of experience in game Dev but no in multiplayer games so this is something new for us.

I see there is a lot of posts like that but a lot of comments are deprecated. We want have up to 1-2k players online in same time. Which solution is the best way to create server that handle this?
I made some research and I found only Mirror that is the most suitable for our requirements. But it handle amount of 1000k+ CCU without splinting severs? Is there maybe similar framework for more CCU?
Maybe 3rd party solution for handling unity servers? I mean positioning, collisions, re-spawning gameobject etc.

3rd party tools like:

  • Amazon Gamelift
  • Google servers
  • Playfab

I understand only handling things like logging, chat etc.

In opposite of that is create own Server - but that is a lot of work - how to handle collisions, live time positioning… I had some idea but maybe there is ready-made solutions that is fitting our requirements.

Thank you in advance for help

1 Like

I’m not expert in MMORPGs nor in network solutions but

I think today for MMORPG on Unity you need DOTS for simulation and something like DOTSNet for networking

2 Likes

Hey, Do you have any resources for dots, and is Dots still discontinued?

Also would Unity multiplayer networking, or Mirror be acceptable, if so which is better?

@JesOb

Disclaimer: I created Fish-Networking.

Speaking from experience, I do not believe either netcode or Mirror will be good for your needs. Netcode is still in development and to my understanding still has quite a few issues(and not much documentation?). I also developed on Mirror for about 2 years very recently, and I can say honestly that it does not scale well. The ccu they advertise is extremely misleading because at that point a Mirror server would be crippled. If you are looking for performance and specifically a server that also runs inside a Unity build(even headless) I do recommend my Fish-Networking, because it is stable and it does out perform current free solutions. I’ve included a screenshot of my measurements where Mirror becomes unstable with more networked objects.

But, and this is important, for what you are trying to accomplish I do not recommend using any networking solution that runs inside Unity; scaling would be horrific, even if the networking stack is amazing. I wish I had something else to recommend but I’m not super familiar with solutions that don’t rely on Unity, though as an experienced network developer that’s where I strongly encourage you to begin looking.

1 Like

You can find thread of DOTSNet creator or follow github repo

About DOTS it is never was discontinued. It is in active development and this year we will have v0.5 for Unity 2020-21 and may be v1.0 for Unity 2022

Inferna (MMO) was made with Mirror :slight_smile:
Next CCU test coming in a few weeks, with all the latest improvements.

DOTS is crazy fast, you can do millions of networked entities.
But I wouldn’t recommend it atm, see DOTS forum.

GameObjects are easier to use and already established.
With Unity migrating to netcore, we could see another decent improvement in CCU soon.

Coming from someone that develops games for a living and has made their own networking solution: I’m sticking with my original assessment that specifically for what you are trying to do you will be best avoiding a networking solution that requires Unity to run.
This includes Mirror, FishNet, NetCode, ECT.

Looking out for you best interest, wish you best of luck.

You can make a lite mmo and have only like 8 people max per battle area. Generally its not really a good idea to put like 300 players all in the same place anyways.

I agree 300 is a lot, and would avoid it.
But for what it’s worth a third party just ran tests of other solution vs FishNet and FishNet performed over 800% better. I bring this up because they tested with close to 100 live players(people) and 200 connected bots and said FN was holding stable really well. I’m trying to get exact numbers from them for our gitbook.

Prior to my earlier comments I knew FishNet is the most optimized free networking option but I didn’t know you what degree. With these results I’m confident FishNet can handle 300 easily given user code is optimized.
PS: even with this information 300 players in one spot can be hard on other players which are doing actual rendering and I’d consider strongly against it. 300 players in a large world, completely different story.