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