Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice

Question How can I get max client connection count?

Discussion in 'Netcode for GameObjects' started by JamesW940516, Aug 20, 2023.

  1. JamesW940516

    JamesW940516

    Joined:
    May 19, 2023
    Posts:
    31
    Hi
    I need to maximize the client connection count.
    If I can maximize the client connection count using Netcode for Entities, I will learn it and use it.
    If there is no change in the client connection count between using Netcode for Entities and using Netcode for GameObjects, I need to look for other means to maximize it.
    I heard that the max connection of Netcode for GameObjects is normally 64.(I am not sure) And it is not designed to make a MMO game. I think I can not use Netcode for GameObjects anymore. Practically the connection count would be less than 64.
    But I need to increase it up to 256 or more.
    Netcode for Entities could be the solution? Or should I look for other means?

    Hope your explanation and experience sincerely.
     
  2. CodeSmile

    CodeSmile

    Joined:
    Apr 10, 2014
    Posts:
    6,550
    You want to make an MMO? Then please don‘t be offended but given the post above I‘d say that will be way over your head. Try making a simple multiplayer game first. You‘ll run into a lot of roadblocks before you can even begin to scale beyond two to four players.

    Whether NGO can support more than 64 players (yes, it can) should be the least of your concern. There simply is no hard limit - the limit comes from how much constant and maximum bandwidth each player may create and how much the server hardware is capable to handle. This requires careful design and software architecture. And also: try to get 64 players connected for a simple stress test. That alone will be hard to accomplish but absolutely required before you move along further since only with this stress test will you be able to evaluate the real world issues with the network tech in question (and you better be evaluating several of these, including low level transport layers without the convenience features like a NetworkTransform).

    Long story short: An MMO is an undertaking that is way beyond most professional teams in terms of content, design, tech knowledge and production cost. There has only ever been one released and somewhat successful MMO supposedly made by a single person, and it was in the days where new MMOs were a rare thing so players flocked to everything that promised „massive multiplayer“.
     
  3. JamesW940516

    JamesW940516

    Joined:
    May 19, 2023
    Posts:
    31
    Hello @CodeSmile
    You are right. But I already made the small multiplayer version of my game and tested by 3 clients without latency and lag (real person in my team). Theoretically that version should support MMO (because I coded MMO using Netcode for GameObjects)
    But I am not sure this would work practically.
    There are plenty of posts saying NGO is not for MMO and the max client count is limited as 2-4 or <64.

    Here is the point.
    I NEED 256 OR MORE.
    (The game is a kind of AgarIO style MMO game. I wrote it here once before and got penalty. lol)
    There are several options fortunately.
    #1. Netcode for GameObjects (They said that it is also possible with NGO)
    #2. Netcode for Entities (significant performance advantage)
    #3. Other means OR my own server


    But also there are some obstacles per options obviously.
    #1. I have implemented already using NGO and I am very familiar with this. But how can I confirm that it works with 256 players? Any method I could test in simulation with 256 players? Is it possible with Mutiplayer Tools?
    #2. Seems good. But is this really better performance than NGO especially in network performance? Because I need to restart the project with ECS/DOST entirely from zero. (I even do not have any experience with ECS/DOTS)
    #3. This is even nonsense. I do not enough have time to do this. If I could archive this by built-in NGO or NFE, then why do I reinvent the wheel? I am sure I can do this with NGO but I don't know how to prove it. I mean how to test it.

    So I hope your suggestion and indication.
    Thank you very much
     
    Last edited: Aug 21, 2023