MCPcopy Index your code
hub / github.com/PlayFab/thundernetes

github.com/PlayFab/thundernetes @v0.6.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.6.0 ↗ · + Follow
371 symbols 1,176 edges 66 files 277 documented · 75%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

e2e unit-tests Software License GitHub release CodeQL

Thundernetes

Thundernetes makes it easy to run your game servers on Kubernetes.

ℹ️ 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:

📚 Documentation

Check 🔥our website🔥 for more information.

📦 Video presentation

Check out our video presentation for GDC 2022!

What is Project Thundernetes? How Kubernetes Helps Games Scale

💬❓Feedback - Community

As mentioned, Thundernetes is in beta stage. If you find a bug or have a feature request, please file an issue here and we will try to get back to you as soon as possible. You can also reach us directly on Game Dev server on Discord.

Extension points exported contracts — how you extend this code

GameServerBuildInterface (Interface)
(no doc) [1 implementers]
cmd/standby-forecaster/gsbClient.go

Core symbols most depended-on inside this repo

Get
called by 76
cmd/standby-forecaster/gsbClient.go
GetNewPorts
called by 19
pkg/operator/controllers/port_registry.go
NewNodeAgentManager
called by 16
cmd/nodeagent/nodeagentmanager.go
heartbeatHandler
called by 14
cmd/nodeagent/nodeagentmanager.go
setupRouter
called by 14
cmd/gameserverapi/main.go
handleAllocationRequest
called by 10
pkg/operator/controllers/allocation_api_server.go
PopFromQueue
called by 10
pkg/operator/controllers/gameserverqueue.go
Update
called by 10
cmd/standby-forecaster/gsbClient.go

Shape

Function 182
Method 133
Struct 42
TypeAlias 8
Class 5
Interface 1

Languages

Go92%
C#8%
TypeScript1%

Modules by API surface

pkg/operator/api/v1alpha1/zz_generated.deepcopy.go32 symbols
pkg/operator/controllers/controller_utils.go22 symbols
pkg/operator/controllers/gameserverqueue.go20 symbols
pkg/operator/controllers/test_utils_test.go18 symbols
cmd/e2e/utilities_test.go17 symbols
cmd/gameserverapi/main.go16 symbols
cmd/nodeagent/nodeagentmanager.go15 symbols
cmd/initcontainer/main.go13 symbols
cmd/nodeagent/utilities.go11 symbols
samples/openarena/Program.cs10 symbols
pkg/operator/controllers/gameserverbuild_controller.go10 symbols
samples/netcore/Startup.cs9 symbols

For agents

$ claude mcp add thundernetes \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact