Please help me figure out multiplayer hosting. I am developing a game where matches will have around 6-10 players and last about 5 minutes. Initially, it will be a WebGL game, and later for PC on Steam. I can’t quite understand which services I need to implement this. Will Unity Game Server Hosting be enough for me? How quickly will an $800 credit be used up with 100 concurrent users online? Or should I choose another service such as Photon?
As long as the game is on WebGL it is usually best if your game does not require a host or server running per session.
Running dedicated Unity instances anywhere comes with a variable cost and you have to “orchestrate” these games and servers, which ties in to your matchmaking. As far as I know, none of the networking solutions enables direct connections so you can not make the players host games instead of running dedicated servers.
Depending on the actual game, I would recommend looking into Quantum or Fusion running in Shared Mode. You get 100 CCU for one title.
Depends. How much traffic, on average, is each client going to generate?
Unless you have a firm grip on the traffic and other service usage patterns it’s not possible to guess costs. Instead you could use my Unity Gaming Services Cost Calculator to punch in your best estimates to see where you might land.
Since WebGL clients cannot host games themselves you need to have either a dedicated server or a desktop client hosting a game. Other than that you didn’t give any details as to what players can do in the game, what will be stored, and so on. Maybe you’ll need a Leaderboard? Persist player data? Authenticate players?
It’s really, really crucial to think about all these features because only then you will know, or have someone tell you, what kind of services that sort of game may need. The platforms, playtime, and number of players are not relevant.
All of these tasks are accomplished by the platform on which I will host my game. Right now, I just need to choose a multiplayer option to just synchronize the players’ actions.
What scares me about Unity Game Server Hosting is that the final price depends on CPU utilization, server RAM, etc. (at least that’s what it says in the price table). I will never be able to calculate this and I will never be able to predict my costs.
My game will launch from a hosting site where self-hosting the game is free, so this issue doesn’t worry me I only need the new hosting to synchronize players during the match
Yes, I will be looking into this technology now to see how easily I can incorporate it into my game. Thank you
It sounds to me like you may be asking the wrong thing? Or you are confusing one thing with another.
What is that platform? If it already provides game hosting, you do not need a UGS server because if that platform hosts your games, then that is where your server instance is running on.
Perhaps you actually want to ask about the networking framework, like Netcode for GameObjects (NGO) or Photon’s frameworks? The frameworks that we use to actually synchronize network events between clients and server/host.
If so, then these do not provide any sort of automated game synchronization. Everything that needs to be synchronized between clients has to be at least set up (eg NetworkTransform to synchronize object positions) and any custom game logic programmed (RPCs, Network variables).
Every game server hosting works like this. You pay for traffic, CPU time, and the machine itself (RAM, disk space, etc.). See Google’s Cloud Computing for instance.
UGS uses GCC, runs and manages instances for you. Naturally this comes at an increased cost over the “raw” cloud compute machine.
You will not find a game server for rental where you pay a fixed fee. Because then the provider would have to ensure the machines run cost effectively, which would force them to lower the server’s resource usages if it exceeds their capacity, thus leading to a terrible play experience primarily when demand is high. That’s the opposite of what you are looking for in a game server. They should scale up with demand, not down.
I host games on an off-the-shelf platform that provides hosting services to host the game, leaderboards and advertising, but they don’t provide any services for multiplayer. I need to organize all aspects of multiplayer myself, from coding to setting up additional hosting. It is the hosting for multiplayer that I need to choose. At first I wanted to choose Unity Game Server Hosting, but the prices there are very unclear, so I started looking into Quantum from Photon.
And yes, I know that all synchronization has to be written in the game code itself