Thundernetes

Welcome to Thundernetes, an open source project that allows you to run your game servers on a Kubernetes cluster!

:exclamation: Latest release: GitHub release

Description

Thundernetes is a project originating from the Azure PlayFab Multiplayer Servers team and other teams in Azure/XBOX that enables you to run both Windows and Linux game servers on your Kubernetes cluster. Thundernetes can be useful in the following scenarios:

  • host your game servers on a Kubernetes cluster, either on a public cloud provider or on-premise and allow your users to connect from everywhere
  • pre-warm game servers so that they are ready to accept players within seconds, when the game is about to start
  • as part of your iterative development process, you can use Thundernetes locally to test your game server code

Thundernetes offers:

Prerequisite knowledge

New to Kubernetes or containers? Check our prerequisites document that has resources that will fill the knowledge gaps when working with technologies within Thundernetes.

Requirements

Thundernetes requires:

  • A Kubernetes cluster, either on-premise or on a public cloud provider. Ideally, the cluster should support having a Public IP per Node to allow external incoming connections
  • A game server
    • integrated with the open source Game Server SDK (GSDK). GSDK facilitates communication between your game server and Thundernetes. It has been battle-tested by multiple AAA titles for years on the Azure PlayFab Multiplayer Servers service and supports multiple popular programming languages and game engines like Unity, Unreal, C#, C++, Java, Go.
    • built as a Windows or Linux container image. This image should be deployed to a container registry that your Kubernetes cluster can access.

NOTE: You can avoid having to integrate with GSDK by using the wrapper sample. This sample is great if you want to experiment with Thundernetes, however proper GSDK integration is highly recommended.

Quickstart

Check the quickstart document on how to install Thundernetes on your cluster and run a sample game server to verify that Thundernetes is working properly.

Check the following image to see how easy it is to install and use Thundernetes:

asciicast

For a video presentation, check:

What is Project Thundernetes? How Kubernetes Helps Games Scale

Contributing

If you are interested in contributing to Thundernetes, please read our Contributing Guide and open a PR. We’d be more than happy to help you out!