Which product should I choose?

Hi, so I'm making a multiplayer unity game which I'm planning to deploy in android and ios platforms. The way how my game is designed is to accommodate around 1000 concurrent players as of now and in future I might turn that to around 10K. Now the custom matches and custom matchmaking should be handled from the server side which means that I have to refactor the server end code according to my game so that the client code can run without any overhead. I want the multiplayer system to run as seemingly smooth and low latency as possible.
So should I use photon servers itself or should I rent a virtual server from Amazon and add the photon sdks to that?
Also my lack of knowledge couldn't perceive the purpose of Bolt, Quantum and real-time so if I can get some good insights and references that'd be super helpful.
I'm sorry about my ignorance and inexperience therefore if possible please explain without too much technical complexity.
Thanking you in-advance.

Best Answer

  • Kaiserludi
    Kaiserludi admin
    Answer ✓
    Hi @ToXicEboLa.
    ToXicEboLa wrote: »
    So should I use photon servers itself or should I rent a virtual server from Amazon and add the photon sdks to that?
    If you don't want to have custom server side code, then the best option is to use the Photon Cloud as you won't be able to compete with its pricing if you host yourself (especially with only 1k or 10k simultaneous users).

    If you need to host yourself for some reason, then you will save a lot of money by hosting on bare metal machines instead of virtual servers, as traffic on the latter is a LOT more expensive and realtime multiplayer results in a lot of traffic.

    The only really valid use case for virtual servers in realtime online gaming is covering short-lived spikes in the amount of users as unlike bare-metal servers you can rent virtual servers for just a couple of hours, which even with their higher traffic pricing will result in less cost than renting additional bare-metal machines for a month while only needing them for half a day or so. If the spike is unexpected, then it's also relevant that you can rent virtual server pretty much instantly, while it may take one or two days for bare-metal machines.

Answers

  • How many users should be able to interact in realtime? Surely not all 1000? How many will be playing a round/match together?
  • ToXicEboLa
    edited August 2020
    Tobias wrote: »
    How many users should be able to interact in realtime? Surely not all 1000? How many will be playing a round/match together?

    Well the answer to your question is a yes and a no. Surely there won't 1000 players in a single room however there might be 100 rooms filled with 10 players each working concurrently. Sooner or later I'll push those numbers up like I mentioned in the question.
  • The number of rooms is not a concern for Photon at all. Also, a server can have thousands of connections at the same time. The higher the number of players in a room should be, the more tweaking you'll need.

    Albion Online has a lot of users on a single map but it's highly customized at the same time. 10 users per room should be fine, unless you send a lot of updates per player.
  • Tobias wrote: »
    The number of rooms is not a concern for Photon at all. Also, a server can have thousands of connections at the same time. The higher the number of players in a room should be, the more tweaking you'll need.

    Albion Online has a lot of users on a single map but it's highly customized at the same time. 10 users per room should be fine, unless you send a lot of updates per player.

    Okay I got your point however my doubt still persists like under what circumstance would you go for alternative servers other than photon servers?
  • If you don't want to do multiplayer anymore?! :smile:

    You can achieve a lot with the servers and they are fully customizable (in C#, by the way) due to the SDKs. You will hit other roadblocks far before you get into networking issues with the server.
  • Tobias wrote: »
    If you don't want to do multiplayer anymore?! :smile:

    You can achieve a lot with the servers and they are fully customizable (in C#, by the way) due to the SDKs. You will hit other roadblocks far before you get into networking issues with the server.

    Haha of course. If it's not too much trouble can you give me some reference to bolt and quantum?
  • Kaiserludi
    Kaiserludi admin
    Answer ✓
    Hi @ToXicEboLa.
    ToXicEboLa wrote: »
    So should I use photon servers itself or should I rent a virtual server from Amazon and add the photon sdks to that?
    If you don't want to have custom server side code, then the best option is to use the Photon Cloud as you won't be able to compete with its pricing if you host yourself (especially with only 1k or 10k simultaneous users).

    If you need to host yourself for some reason, then you will save a lot of money by hosting on bare metal machines instead of virtual servers, as traffic on the latter is a LOT more expensive and realtime multiplayer results in a lot of traffic.

    The only really valid use case for virtual servers in realtime online gaming is covering short-lived spikes in the amount of users as unlike bare-metal servers you can rent virtual servers for just a couple of hours, which even with their higher traffic pricing will result in less cost than renting additional bare-metal machines for a month while only needing them for half a day or so. If the spike is unexpected, then it's also relevant that you can rent virtual server pretty much instantly, while it may take one or two days for bare-metal machines.
  • Kaiserludi wrote: »
    Hi @ToXicEboLa.
    ToXicEboLa wrote: »
    So should I use photon servers itself or should I rent a virtual server from Amazon and add the photon sdks to that?
    If you don't want to have custom server side code, then the best option is to use the Photon Cloud as you won't be able to compete with its pricing if you host yourself (especially with only 1k or 10k simultaneous users).

    Thankyou for your insight! What if I wanted custom server side code? I'd like the servers to handle custom matchmakings and room creation based on a set of parameters. From what you said hosting sounds like a tedious task. And for my requirement it points towards that direction as well. So is there a way to implement custom server end code but also utilize photon cloud? If it's not possible can I achieve the same by using highly optimized client side code?
  • Hi @ToXicEboLa.
    So is there a way to implement custom server end code but also utilize photon cloud?
    This option does not exist in the Public and Premium Cloud (because the servers are shared across apps and bugs or performances issues in custom code could affect other apps), but it exists in the Enterprise Cloud (as there each customer has servers that are dedicated to him).

    For more info about the Enterprise Cloud please drop us an email.

    Please also see the matchmaking guide in our online docs. Maybe the existing SQL-matchmaking feature is all that you need.