Skip to main content
This guide walks you through installing minecraft-gateway and routing your first Minecraft connection.

Prerequisites

  • A Kubernetes cluster (1.27+)
  • kubectl configured to talk to your cluster
  • Cluster-admin permissions

Install Gateway API CRDs

minecraft-gateway builds on the Kubernetes Gateway API. Install the standard channel CRDs first:

Install minecraft-gateway

Apply the minecraft-gateway install manifest, which includes the controller, CRDs, and RBAC:
Verify the controller is running:

Create a GatewayClass

A GatewayClass tells the controller which gateways it should manage.
Apply it:

Create a NetworkInfrastructure

NetworkInfrastructure configures how the gateway discovers your game servers and how the network proxy is deployed. Create it in the same namespace as your gateway:

Create a Gateway

A Gateway represents your Minecraft entry point. It creates an Envoy edge proxy and a network proxy for each listener.

Label your game server Service

The controller discovers game servers by label. Add the label to your server’s Service:
Your Service must expose port 25565 (or a port named minecraft).

Create a MinecraftJoinRoute

A MinecraftJoinRoute maps a hostname to a backend game server:

Verify

Check that the route was accepted:
Connect your Minecraft client (Java Edition) to play.example.com. The handshake hostname is matched by the edge proxy and your connection is forwarded to my-gameserver.

Next steps

Last modified on April 27, 2026