Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

MMO Server Configuration Questions

Discussion in 'Multiplayer' started by cryptoforge, Oct 21, 2015.

  1. cryptoforge

    cryptoforge

    Joined:
    Jan 21, 2015
    Posts:
    60
    Hey, Guys,

    Me and my crew are developing a massive multiplayer game. Before I get into the main reason behind my posting and questions, I ask you to please reserve your bashings and "OMG, you are making an MMO, how cute? you're dont know jack" type of replies. I just hope to find someone who can answer some specific questions and possibly help us determine how far we can take our current set up.

    As of now, we have an AWS server that runs a PhotonNetwork master client. This client is responsible for a lot of things. What we want to know is the following:

    1) How many networked objects can PhotonNetwork's free tier support? We have around 200 NPCs in our world sending transform and animation state data.

    2) Does anyone know what constitutes a Photon Network message?

    3) Has anyone figured out a good way to measure the amount of messages for a single room?

    Thanks for your time!

    playent
     
  2. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,062
    Hey guys.
    Cool you're using Photon Unity Networking but I have to say: It's not exactly well geared for MMOs.
    PUN assumes you do games between smaller player numbers and wasn't designed to scale for MMOs. There is a message limit and it has no dynamic interest management, so the number of updates for the NPCs might cause problems.

    Edit: Removed idea of using Bolt.
    I actually don't know any good in-Unity-hosted solution for MMOs. If you really mean WoW-alike open worlds where players can just run into each other.
     
    Last edited: Oct 22, 2015
  3. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    That seems like strange advice considering on the first page you linked it says:
    I appreciate the fact it is the only product you have that supports Unity based servers but your own website says it's not great for MMOs... :confused:
     
  4. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,062
    @Jamster: Good catch. I got a wrong impression from discussions about Bolt, sorry.
    Then I have to say: I don't know any MMO-scalable in-Unity hosting solution.

    @playent: Let us know what you understand as MMO. WoW or something that's working with lots of instances (small groups of players)?
     
  5. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Np :)

    I'd love to recommend DarkRift for this but performance really drops in Unity Server, almost solely due to Unity's non-multithreaded API :(

    There doesn't seem to be anything Unity based in the asset store for MMOs either, prehaps because most build one with a dedicated server anyway... (One of the MMO networking assets seems to have forgotten to pay it's web hosting too :p )
     
  6. cryptoforge

    cryptoforge

    Joined:
    Jan 21, 2015
    Posts:
    60
    Thanks for your replies, guys! Sorry for the late response for I did not get any notifications saying anyone posted anything (weird) Anyway...

    @tobiass, yes, we are currently toying with an idea of having many instances. In our case they are small planets that can support 12 or so players. The MMO experience comes just from having many of those. I am not sure how WOW does it. The plan is to have many clones of these instances and to tally up the scores across them using something REST API or socket based. We have not run any benchmark tests on pur setup but I have a feeling that having hundreds of NPC would be almost equivalent as having 200 players excepts they don't login and the master client controls them. I have a gap in knowledge. How do I measure what the ceiling is and can photon be used to build a multiplayer RTS game with substantial unit count per player like Starcraft or what have you, or is it just simple FPS?

    We do see a substantial slow down when the master client is hosted in the cloud. It runs fairly well when we host it locally and the messages go through Photon. I think I just wanted some help to figure out how to correctly benchmark it and to determine what kind of server we should have to accomodate at least one planet with very low lag. Just trying to gather more info from people who might have tried this before I suppose. Thanks again!
     
  7. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    3,356
    You will want to be running the high cpu instances on aws for sure, and their 10GBe networking. Their low end stuff is lag city. Also make sure you do the math on your bandwidth usage. Aws is not ideal for realtime games because of it's bandwidth pricing. The sweet spot is actually mid tier hosting companies that are big enough to stick around but more aggressive on bandwidth costs. You can easily get around 2 cents per GB transfer now days from them.

    The current provider I use is Vultr. Terrible name but one of the best bang for the buck providers for games that I've found.

    As to your question about npc's you are basically correct. Slightly lower overhead overall. An approach I've used that works well is I run a central server, and run my zones/instances that run the npc's as just unity instances acting as regular clients. The exception is that I have a special login for those that gives them permission to send location updates on behalf of all the npc's they are controlling. With that setup I can leverage a lot of stuff that is already there and not have to write any custom server to server messaging protocols.

    I don't use photon or unity's built in networking, but the same approach should work well there also.