millions of concurrent clients

Options
mmo3pro
edited June 2012 in Photon Server
I am going to develop a Web MMORPG game in Unity.
I expect millions of concurrent clients. Will Photon handle such traffic?

Comments

  • Kaiserludi
    Options
    Hi.
    I guess, that you have a misunderstanding of the term CCU.
    CCU means concurrent users. That is, users, that are online at the same time, not overall!
    As a rule of thumb you can count with 1 CCU for every 10 daily active users, with 1 CCU for every 100 monthly active users or with 1 CCU for 200 downloaders of your game.

    Just to make clear, of which dimensions we are talking here:
    The whole BattleNet, not only WoW, but WoW + Starcraft 2 + Diablo 3 + all the other Blizzard games, has about 500.000 to 1 Million CCU, depending on the time of day.
    Therefor I think, that it is a bit overoptimistic, to expect multiple millions of CCU for your game.
  • dreamora
    Options
    There is no architecture on earth that could handle this number of CCU within a single cluster and world. (LoL or world of tanks don't do it just to mention that. every game that runs is an own world instance and the rest is just a rest webservice forwarding messages asyncronously in non-realtime - though if you wanted to do something like this then photon will scale very far, the limit will be more the cpu power of the master server machine and the number of additional machines you can afford for the game server)

    Even the at the time most advanced MMO server technology in this field (CCU in a single world), the EVE Online server, can't take this many CCUs (it peaks at 52k CCUs in a single world, thats nearly 10 times as much as a WoW / EQ realm can handle!) and they are using hardware that costs 90k per machine on the super node, in general summed up to over 1000 Ghz of cpu calculation power and 512GB RAM right now if I remember the data right from Eve Fanfest 2012. Thats potentially more budget already just for hardware and the engineers required to create the MMO technology (photon offers the networking but the other 98% of the server code required for MMO is up to you) than your project has for its its whole lifecycle and that although it doesn't cover a single texture etc yet.

    What I wanted to say: you won't have problems going there with photon :)
    Chances that the other 98%+ of the server code you will write might prevent you from going there is much more likely.
  • How many users can interact in a world?
    Is Photon "zone-based server model" or "seamless server model"?
  • dreamora
    Options
    Its what you develop

    Photon offers the server application sources for a room based environment (Lite - LiteLobby - LoadBalancing) as well as an area of interest based one (MMO).
    But in both cases its only the networking, the other 95-98% of the server code will be what you will implement (like interactions etc) and in the end those will be the taxing operations, its not the routing of messages which is what photon facilitates for you so its your code that will define how many players you can have per world
  • Thank you for your responses.
  • duke
    Options
    dreamora wrote:
    Its what you develop

    Photon offers the server application sources for a room based environment (Lite - LiteLobby - LoadBalancing) as well as an area of interest based one (MMO).
    But in both cases its only the networking, the other 95-98% of the server code will be what you will implement (like interactions etc) and in the end those will be the taxing operations, its not the routing of messages which is what photon facilitates for you so its your code that will define how many players you can have per world

    Photon routes the messages? Then what are all those big switch blocks about?
  • dreamora
    Options
    They are for exactly that.
    Tahts the operation handlers yet the operations present within Photon itself are only room joining / leaving, sending events and joining / leaving the server itself.

    Photon has no gameplay functionality (I don't consider registering for an interest area or joining a room a gameplay feature, its basic spatial seperation in a network environment ie network forwarding management basics - its powerfull and needed, but not game code)