# Creating a master server for Unity game (Unity 2017)

I have a basic FPS game made in Unity. I am using the Unity NetworkManager, NetworkManagerUI and NetworkIdentity components that came with Unity.

The game is working fine on my local network when I make one pc a client-host and other a client. It is also working great using the 'Mulitplayer' service that is free with Unity (for up to 20 max over all games/projects etc, and is supposed to be only for testing I believe)

I'm 99% sure it is possible to run a 'server version' of my app on a pc in my home, and make this into a dedicated master server, but I cannot find much at all from Unity officially regarding this (It seems to always point me to just extending my deal with them to get more players into the server they provide, for which the costs are 1000x more than the budget I have for the game)

Before Unity were offering these pricey services, there was info such as this: https://unity3d.com/master-server

But it says that is only compatible with Unity 3.x

I've asked this question 2-3 times already on the Unity Answers site, and there are no answers at all. I've also browsed it for similar questions and all those seem to be unanswered or way out-of-date.

As I stated last time I ask this, I know thatt Rust game is made with Unity. In past, I downloaded (officially from Facepunch, the devs of Rust) the 'Rust Dedicated Server' application, which I ran on my desktop PC (with fibre network connection) and then I was hosting a server in game. The server ran smooth as silk, so for my game I dont think i would need an actual modern server machine or direct internet connection (otherwise, how did Rust manage it??)

So as I say, I have the network functionality all up-n-running. But the last piece of the puzzle is that I'm using Unity's Mulitplayer Service, and this only allows 20 max concurrent players. This isn't quite enough, as I'd like to have at least 50 if possible. Also I would end up running 10-20 of these so that there is a choice of 'rooms'. Ideally I would be able to let people download and run their own just like Rust.

Before I got to this stage, I was trying to make one user become the Client-Host, but I couldn't figure out how the other clients would be able to tell what is the IP address for the host.

Please can anybody help me, I feel like I've gotten the majority of the way there but now I can't get any further by myself.

Many thanks!

• For creating a Master Server: Barebones Master Server Framework. For a Client-GameServer connection: Forge Networking Remastered. These are open-source, free, under development and with no limits (like ccu limits (Unity's solution), which noone professional uses). Master Server is just perfect, with everything ready to go or customize, coded by a really, really smart man (just read the wiki). Forge has the best support and some great tools built in for real-time games. – Jacob Sep 8 '17 at 19:40

You can have as many users as you would like and scale as you grow using unity multi player services as seen here UnityMultiplayer

Unity offers a free amount of Concurrent users (CCU) for each license.

• Personal: 20 Concurrent Users
• Plus: 50 Concurrent Users
• Professional: 200 Concurrent Users

If you need to increase the number of CCUs that your game supports then you can set this when you submit a live request via the multiplayer dashboard. If you do this, you will be charged $0.49/ GB of traffic that travels through the Unity infrastructure (Matchmaker, Relay Server). This means that you pay for the extra bandwidth that you use. We also have a way to estimate your monthly bill. This can be found by scrolling to the bottom of the multiplayer page. • I realize you were thinking of creating your own master server so to speak but I would suggest using the scale as you grow option and make it a much simpler task. Not to mention it does solve the issue of only having 20 by upgrading to plus or paying for the extra bandwidth. – Justin Markwell Sep 8 '17 at 18:26 • Hi there, I have thought of that. But 20 people max across the game isnt going to be enough. I'd like to use the Client-hosting method, but i dont know how the client-host is to transmit its IP address to the game, so that the clients know what to connect to @Justin Markwell. Also, I don't feel like paying Unity for the relay service is the right option for me – Big T Larrity Sep 8 '17 at 19:14 • Just adding Unity Plus alone is not really in the question before I make any money from game development – Big T Larrity Sep 8 '17 at 19:14 • using the multi player services match making and stuff is all handled. you would not need plus to go over the 20 free. You can request to scale with growth kind of like azure cloud services. It is pretty fair deal I think it said something like 70k players for$3.15 cents – Justin Markwell Sep 8 '17 at 19:21
• Ah ok thanks Justin. The Unity page is quite misleading on the cost per CCU. It looked like it could cost \$1000s per month lol – Big T Larrity Sep 8 '17 at 20:29

Reality check.The Unity CCU deal is fine for novice developers. Assuming your game will be the next blockbuster game is going to be disappointing. Spending 100's/1000s of hours setting up a cutting edge personal 'free' server only to have 1 or 2 players visiting daily would be soul destroying. Instead, concentrate on time-to-market and build up your player base. Use the free CCU limits. WHILE the free plan is in place AND you are actually getting people playing THEN build your personal server. Sure, you may need to spend money on CCUs above free limit for a while. However, by then you are not wasting your time on an unrealistic dream.

• the free option, 10-20 players max CCU is nowhere near enough. Also I was really looking to learn how to implement the networking myself and without the aid of Unity Master Server. I have achieved something already but for now have moved onto a single player game project – Big T Larrity Jun 4 '18 at 23:00
• I can run my own server from home for free without limits (certainly much higher than 20 users ) – Big T Larrity Jun 4 '18 at 23:01