Skip to main content

Quick Start

This guide will help you install and configure Gate as a Minecraft proxy for your server network. For extending Gate with custom plugins, see the Developers section.

Install Gate

Choose your preferred installation method:
curl -fsSL https://gate.minekube.com/install | bash
This script installs Gate to /usr/local/bin/gate and adds it to your PATH.
For detailed installation instructions, see the Installation guides.

Run Gate

After installation, start Gate with the default configuration:
gate
You should see output similar to this:
INFO	gate/root.go:93	logging verbosity	{"verbosity": 0}
INFO	gate/root.go:94	using config file	{"config": ""}
INFO	config	gate/gate.go:205	config validation warn	{"warn": "java: No backend servers configured."}
INFO	java	proxy/proxy.go:299	Using favicon from data uri	{"length": 3086}
INFO	java	proxy/proxy.go:472	listening for connections	{"addr": "0.0.0.0:25565"}
Gate is now running on 0.0.0.0:25565 and ready to accept connections!
The warning about “No backend servers configured” means Gate is running but has nowhere to route players. Let’s fix that in the next step.

Configure Backend Servers

Gate needs to know about your Minecraft servers. You can generate a simple configuration file:
gate config -t simple -w
This creates a config.yml file in the current directory. Edit it to add your server addresses:
config.yml
config:
  bind: 0.0.0.0:25565
  onlineMode: true
  
  servers:
    lobby: localhost:25566
    survival: localhost:25567
    creative: localhost:25568
  
  try:
    - lobby
    - survival

Configuration Breakdown

  • bind: The address Gate listens on for player connections
  • onlineMode: Whether to authenticate players with Mojang (set to false for offline mode)
  • servers: A map of server names to their addresses
  • try: The order in which to try connecting players (fallback list)

Test Your Setup

1

Start your backend servers

Make sure your Minecraft servers (lobby, survival, etc.) are running on the ports you specified.
2

Restart Gate

gate
You should now see messages about registered servers:
INFO	java	proxy/proxy.go:450	registered server	{"name": "lobby", "addr": "localhost:25566"}
INFO	java	proxy/proxy.go:450	registered server	{"name": "survival", "addr": "localhost:25567"}
3

Connect from Minecraft

Open Minecraft and connect to localhost:25565 (or your server’s address). You should be connected through Gate to your lobby server!
4

Try server switching

Use the /server command in-game:
/server survival
You’ll be seamlessly transferred to the survival server without disconnecting!

Next Steps

Now that you have Gate running, explore these features:

Bedrock Cross-Play

Enable Bedrock Edition players (Mobile, Console, Windows) to join your Java server

Configuration

Learn about all available configuration options

Lite Mode

Use Gate as a lightweight hostname-based reverse proxy

Security

Secure your network with player information forwarding

Deployment

Deploy Gate to production with Docker or Kubernetes

Plugin Development

Build custom plugins with Gate’s Go API

Common Issues

Make sure:
  • Gate is running and listening on the correct address
  • Your firewall allows connections on port 25565
  • You’re connecting to the right IP address
Verify that:
  • Your backend servers are actually running
  • The addresses in config.yml are correct
  • There are no firewall rules blocking Gate → server connections
This is expected! Gate forwards players to different backend servers. Use cross-server plugins or Gate’s event system to sync player data.
Make sure builtinCommands: true is set in your config.yml. If you want to use permissions, see Built-in Commands.

Getting Help

Need more help? Check out these resources:

Build docs developers (and LLMs) love