Skip to main content

Status Ping Configuration

The status section controls how your Gate proxy appears in the Minecraft server list when players ping it. Configure the MOTD (Message of the Day), favicon, max players display, and more.

Overview

When players add your server to their multiplayer list, Minecraft sends a status ping request. Gate responds with information like:
  • Server name/description (MOTD)
  • Player count (online/max)
  • Server version
  • Server icon (favicon)
  • Sample player names
Minecraft server list showing MOTD and favicon

Configuration

config.status
object
Configure the server list ping response
status:
  motd: |
    §bWelcome to My Server
    §fPowered by Gate
  showMaxPlayers: 1000
  favicon: server-icon.png
  logPingRequests: false

MOTD (Message of the Day)

config.status.motd
string
required
The server description shown in the multiplayer server list. Supports both legacy color codes and modern JSON text components.
status:
  motd: |
    §bA Gate Proxy
    §bVisit ➞ §fgithub.com/minekube/gate

Legacy Color Codes

Use § (section sign) followed by a color/format code:
status:
  motd: |
    §b§lMY MINECRAFT SERVER
    §fJoin us for epic adventures!

Color Codes

CodeColorCodeColor
§0Black§8Dark Gray
§1Dark Blue§9Blue
§2Dark Green§aGreen
§3Dark Aqua§bAqua
§4Dark Red§cRed
§5Dark Purple§dLight Purple
§6Gold§eYellow
§7Gray§fWhite

Format Codes

CodeFormatCodeFormat
§lBold§oItalic
§mStrikethrough§nUnderline
§kObfuscated§rReset

JSON Text Components

For advanced formatting, use JSON text components:
status:
  motd: |
    {"text":"Welcome to My Server","color":"aqua","bold":true}
JSON text components give you more control over formatting but are more verbose. Legacy codes are simpler and sufficient for most use cases.

Favicon (Server Icon)

config.status.favicon
string
The server icon shown in the multiplayer list. Accepts file paths or base64 data URIs. Optimal size is 64x64 pixels.
# File path (relative or absolute)
favicon: server-icon.png
favicon: /path/to/icon.png

# Base64 data URI
favicon: data:image/png;base64,iVBORw0KG...

Favicon Formats

status:
  favicon: server-icon.png  # Relative to config file
  favicon: /var/gate/icon.png  # Absolute path
  • Supports PNG images
  • Recommended size: 64x64 pixels
  • Gate reads file on startup/reload
  • File must be accessible to Gate process

Creating a Favicon

1

Create or find a 64x64 PNG image

Use any image editor (Photoshop, GIMP, Pixlr, etc.) to create a 64x64 pixel PNG image
2

Save as PNG

Save as server-icon.png in the same directory as your config.yml
3

Configure in Gate

status:
  favicon: server-icon.png
4

Reload configuration

Restart Gate or use /greload to apply changes
To embed the image in your config file:
# Linux/macOS
echo "data:image/png;base64,$(base64 -w 0 server-icon.png)"

# Or use online converter
# Visit: https://www.base64-image.de/
Then paste the output into your config:
status:
  favicon: data:image/png;base64,iVBORw0KG...

Max Players Display

config.status.showMaxPlayers
integer
default:"1000"
The maximum player count shown in the server list. This is cosmetic only and doesn’t limit actual connections.
status:
  showMaxPlayers: 1000
This setting only affects what’s displayed in the server list. It does not limit how many players can connect. Gate has no hard player limit.

Display Examples

# Show as small server
showMaxPlayers: 50
# Server list shows: "5/50" players

# Show as large network
showMaxPlayers: 10000  
# Server list shows: "1247/10000" players

# Show exact count (common for small servers)
showMaxPlayers: 20
# Server list shows: "3/20" players

Forge Server Indicator

config.announceForge
boolean
default:"false"
Whether to present the proxy as Forge/FML-compatible in status responses. Enable if your backend servers use Forge.
announceForge: false
When enabled, Gate adds Forge/FML data to status responses, telling clients this is a modded server. Backend servers must actually run Forge for this to work properly.

Ping Request Logging

config.status.logPingRequests
boolean
default:"false"
Whether to log server list ping requests in the console. Useful for debugging but can be noisy.
status:
  logPingRequests: false

Example Log Output

When enabled:
[INFO] Ping request from /203.0.113.45:52841
[INFO] Ping request from /198.51.100.22:61234
[INFO] Ping request from /192.0.2.10:49152
Enable during initial setup to verify your server is reachable. Disable in production to reduce log noise.

Complete Examples

Basic Configuration

config.yml
config:
  bind: 0.0.0.0:25565
  
  servers:
    lobby: localhost:25566
    survival: localhost:25567
  
  try:
    - lobby
  
  status:
    motd: |
      §b§lMY MINECRAFT SERVER
      §fSurvival §7| §fCreative §7| §fMinigames
    showMaxPlayers: 100
    favicon: server-icon.png
    logPingRequests: false

Advanced Configuration

config.yml
config:
  bind: 0.0.0.0:25565
  
  status:
    # Multi-line MOTD with colors
    motd: |
      §6§l▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
      §b§l    SKYBLOCK NETWORK    
      §e⚡ §fVersion 1.8-1.20 §e⚡
      §6§l▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    
    # Large network appearance
    showMaxPlayers: 5000
    
    # Use embedded favicon
    favicon: data:image/png;base64,iVBORw0KGgoAAAANSUhEUg...
    
    # Enable logging for debugging
    logPingRequests: true
  
  # Forge server support
  announceForge: false

Network with Different Status per Host

In classic mode, status is global. For per-hostname status customization, use Gate Lite mode which supports different MOTD/favicon per route.
Lite mode example:
config.yml
config:
  lite:
    enabled: true
    routes:
      - host: lobby.example.com
        backend: lobby-server:25565
        fallback:
          motd: |
            §b§lLOBBY SERVER
            §fHub and game selection
          favicon: lobby-icon.png
      
      - host: creative.example.com
        backend: creative-server:25565
        fallback:
          motd: |
            §a§lCREATIVE SERVER
            §fBuild amazing creations
          favicon: creative-icon.png

Dynamic Status

Gate’s status response dynamically includes:

Player Count

Automatically aggregates players across all connected backend servers:
Online: 47/1000
  • Online count = total players on all backends
  • Max count = showMaxPlayers setting

Player Samples

Hover over player count to see sample player names (up to 12 shown):
Player sample tooltip

Version Display

Shows protocol version range:
1.8.x - 1.20.x
Gate automatically supports a wide range of Minecraft versions.

Troubleshooting

Common Issues:
  1. Wrong file format - Must be PNG, not JPG or other formats
  2. Wrong size - Should be exactly 64x64 pixels
  3. File not found - Check path relative to config.yml location
  4. Permissions - Gate must be able to read the file
  5. Not reloaded - Restart Gate or use /greload
Verify:
# Check file exists and is readable
ls -lh server-icon.png

# Verify it's PNG and 64x64
file server-icon.png
identify server-icon.png  # requires ImageMagick
Symptoms: Color codes show as literal text like §b§lServer NameCauses:
  • Copied text from source that doesn’t preserve section signs
  • Using wrong character (regular S instead of §)
  • Client-side issue (some resource packs break colors)
Solution: Ensure you’re using actual section sign (§):
motd: |
  §bColored text  # Correct: § (Alt+0167 or Alt+21)
  SbNot colored   # Wrong: S
Issue: MOTD appears on single lineSolution: Use | (pipe) for multi-line strings in YAML:
# ✅ Correct - preserves line breaks
motd: |
  Line 1
  Line 2

# ❌ Wrong - single line
motd: "Line 1 Line 2"
Issue: Shows 0 players even though people are connectedCauses:
  • No players actually on backend servers (they’re on Gate but not connected to backends)
  • Backend servers not properly forwarding player info
  • Connection issues between Gate and backends
Check:
# In Gate console
/glist

# Check which servers have players
Issue: Server appears offline in server listDiagnosis:
  1. Check Gate is actually running: netstat -tlnp | grep 25565
  2. Verify bind address: ensure not bound to 127.0.0.1 only
  3. Check firewall: ensure port 25565 is open
  4. Test locally first: try connecting from same machine
Common Causes:
  • Gate not running
  • Firewall blocking port 25565
  • Bound to wrong interface (127.0.0.1 instead of 0.0.0.0)

Best Practices

  • Maximum 2 lines (Minecraft limitation)
  • Each line ~50-60 characters max
  • Test how it looks in actual Minecraft client
  • Consider different screen sizes/resolutions
# Small community server
showMaxPlayers: 20-50

# Medium server
showMaxPlayers: 100-500

# Large network
showMaxPlayers: 1000-10000
Choose a number that matches your server’s scale and looks realistic.
  • Use exactly 64x64 pixels
  • Keep file size under 10KB
  • Use PNG with transparency if needed
  • Test visibility at small size (server list icons are tiny)
  • Avoid detailed images - simple logos work best
After configuration changes:
  1. Restart Gate or reload config
  2. Refresh server list in Minecraft (F5)
  3. Check MOTD appears correctly
  4. Verify favicon loads
  5. Test from different clients/versions if possible
status:
  logPingRequests: false  # Reduce log noise
Enable only for debugging - server lists ping frequently.

Overview

Complete configuration overview and settings

Gate Lite

Per-route status customization in Lite mode

Servers

Configure backend servers and routing

Query Protocol

Enable GameSpy 4 query protocol support

Build docs developers (and LLMs) love