Search Unity

Making MMORPG game in unity, which server solution?

Discussion in 'Multiplayer' started by stilldark, Feb 17, 2022.

?

Best solution for MMO server:

  1. Mirror

    37.5%
  2. Something else

    62.5%
  1. stilldark

    stilldark

    Joined:
    Mar 7, 2019
    Posts:
    1
    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
     
    ab15 likes this.
  2. JesOb

    JesOb

    Joined:
    Sep 3, 2012
    Posts:
    1,109
    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
     
    stilldark and ab15 like this.
  3. ab15

    ab15

    Joined:
    Apr 6, 2015
    Posts:
    5
    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?

    @Jes28
     
  4. Punfish

    Punfish

    Joined:
    Dec 7, 2014
    Posts:
    401
    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.
     

    Attached Files:

    Aimi64 likes this.
  5. JesOb

    JesOb

    Joined:
    Sep 3, 2012
    Posts:
    1,109
    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
     
  6. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Inferna (MMO) was made with Mirror :)
    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.
     
  7. Punfish

    Punfish

    Joined:
    Dec 7, 2014
    Posts:
    401
    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.
     
  8. Pixitales

    Pixitales

    Joined:
    Oct 24, 2018
    Posts:
    227
    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.
     
  9. Punfish

    Punfish

    Joined:
    Dec 7, 2014
    Posts:
    401
    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.