Dedicated Server Kit is a complete library that allows you to host your UNET-based multiplayer game on a dedicated server.
There are lots of options for P2P networking out there but, many times, you just really need to host your game on a dedicated server. Consider the following scenarios:
- Custom backend: You need to be in total control of your game backend. This could be for a variety of reasons: player authentication, player data storage or advanced matchmaking facilities, monetization schemes, increased ability for monitoring or maybe you just have the team and expertise needed and prefer to do everything in-house.
- Server-side authoritative game logic: Your game needs to be secure against player hacks. In player-hosted games, one of the clients acts as the server. This means that a malicious client has the potential to alter the outcome of the game. Whether this is important or not will depend on the specifics of your game, but sometimes you really need to be safe against this type of cheats. Running the game logic on an independent, authoritative game server that you control is the best way to ensure that.
Running your game on a dedicated server has therefore several advantages over player-hosted games:
- More protection against malicious clients.
- No artificial CCU limit.
- No need for NAT punch-through or relay servers. Clients are never connected directly to each other but through a dedicated server instead.
- You only pay for setting up and maintaining your servers (which can be your own machines or a third-party cloud provider like Digital Ocean).
The main drawback is that, of course, you are in charge of everything. You need to pay for the hosting of your servers (unless you physically own them) and make sure they are always available to your players. As they say:
"With great power comes great responsibility."
Dedicated Server Kit has been specifically created to help you with this task. We want you to focus on making a great game instead!
Dedicated Server Kit provides the following features:
- Player registration and authentication.
- Player data persistence in a MySQL database.
- Game room-based matchmaking functionality. Independent Mirror-based game server instances are dynamically spawned and destroyed as needed as players join and leave games.
- Networking library-agnostic REST API written with Go using battle-tested techniques and standards. While the kit supports Mirror-based game server instances by default, support for other networking libraries is technically possible.
- Complete Go and C# source code.