Search Unity

MMO Networking Services

Discussion in 'Multiplayer' started by JollyJinks, Aug 8, 2018.

  1. JollyJinks

    JollyJinks

    Joined:
    Dec 16, 2017
    Posts:
    9
    I had another question up, but the original question was pretty much answered - so a new thread seemed more appropriate!

    When I say MMO, I'm not talking tens of thousands of players like big action titles. 'Massively' is a bit of a stretch, because I'm talking more like, 100 to maybe 3,000 CCU players [3,000 if the game goes well].

    So, Photon services looks like they're primarily meant for smaller room-based match-making games, not for a larger, chatty MMO server, right? If Photon isn't the networking service I need for this game, are there other services I should check out that might better suit it?

    This type of game [essentially more of a 3D animal chat room, like Wolf Quest or Feral Heart with a hefty character customization rather than a game, really], when completed, seem to usually get at least a couple hundred people playing it at the same time at minimum due to their higher demand but low supply in that niche community, and many similar titles have boosted up to a few thousand active players at a time when they were in their prime - not to mention that this type of game is pretty much entirely reliant on the chat system so the message/per sec limit Photon services have also poses a problem if my game is released and possibly does well!

    This game won't be divided into several different big servers like MMORPG's are. Because it's more of a niche genre and won't blow up massively, it's supposed to be one server in a single persistent world that everybody joins with a handful of different maps to enter/exit and explore freely [each map being a separate 'room' with loading screens, not all connected and not seamlessly open world], and I don't expect many people to be playing it while it's in alpha & beta. Maybe a hundred, maybe a few hundred, but I'm not expecting it to climb into the thousands, and if it somehow does, I'm fine with upgrading to larger packages that can handle a bigger CCU load.

    The service needs to be able to handle heavy message traffic [because this game is really based on constant chatting/role-playing] and to support at least 100 players in the same server/room minimum, potentially up to a couple thousand if things go well for it!
    I'm not expecting to get this service free & can chuck up some money for it, so feel free to propose any networking services that you think will work for this idea!

    I need a service where a few hundred+ people can connect to the same server, on the same map, and comfortably explore their environments and see other players' locations and actions/emotes update smoothly.

    I need a service that can support the various different invitations and exchanges between players, like keeping up with the different busy chats, friend requests, group invites, and party invites.

    Thank you!
     
    Last edited: Aug 8, 2018
  2. TwoTen

    TwoTen

    Joined:
    May 25, 2016
    Posts:
    1,168
    https://aws.amazon.com/gamelift/
     
  3. JollyJinks

    JollyJinks

    Joined:
    Dec 16, 2017
    Posts:
    9
    GameLift seems to be more for session-based games rather than a game in a single, persistent world that everybody can join and leave as they please. I don't think this is the kind of service I'm looking for (unless I'm missing something?), I'm sorry! ;;
     
  4. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    I'm of the opinion now that you'll want to roll your own networking solution for something like this. I'd look for opportunities to split up your players onto different servers to keep the load on a single server as low as possible. Your different maps sound like they could all be different servers for example.
     
  5. JollyJinks

    JollyJinks

    Joined:
    Dec 16, 2017
    Posts:
    9
    Thank you, I'll look more into that!!

    Sorry if it's a dumb question, but would players still be able to communicate across servers [for instance, if players in the same group talk in group chat despite being in different servers, will they all still see it? can players in different servers still whisper eachother]?
     
  6. TwoTen

    TwoTen

    Joined:
    May 25, 2016
    Posts:
    1,168
    If you develop systems for that, yes.

    Ex: send chat messages through Rabbit
     
  7. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    You could use a 3rd party chat system, or what I did was setup a sever instance that acts as a chat server/logger.

    In my case all game servers connect to the chat server and send any chat messages to this server. The chat server then logs the message and routes any inter-server messages to the appropriate game server. The game servers update the chat server when a player connects so the chat server knows which game server to route private messages to. Global messages just get forwarded to all active game servers.
     
  8. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Check out uMMORPG: https://www.assetstore.unity3d.com/#!/content/51212 .
    It can handle 100+ players easily.
     
  9. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,315
    actually photon server ( not photon pun ) is already having multiple mmorpg with multiple thousands ccu running in production.
    if you want other options that could provide what you need you have to stay away from hosting a master server in unity or it will be your first bottle neck, you can check:

     
  10. TwoTen

    TwoTen

    Joined:
    May 25, 2016
    Posts:
    1,168
    Also check playfab, i’m personally a big fan. Very similar to gamesparks
     
  11. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    @JollyJinks: A Photon Server is able to handle multiple thousand connections on one (reasonably low end) machine. This is the easy part.
    However, when all the players should be able to interact with one another (potentially), you can no longer just send all messages to everyone else and you need interest management. This is more ffort to get right and can be tricky to use. Just one edge case: What if all players try to gather in the same place?
    The Photon Cloud doesn't offer this out of the box but the Photon Server SDK would be a suitable mid-level solution on which you could build this.
    I can't compare this to gamesparks or other solutions.
     
  12. Accumulator

    Accumulator

    Joined:
    Feb 9, 2016
    Posts:
    4
    Hey man,
    I'm also trying to make a single server, massive multiplayer, persistent game.

    Just yesterday I found something that might just be what I needed. Check out SpacialOS.