Building a Safer Game Server Status Page

The public site should never need direct access to the game servers.

Instead, n8n performs the query, stores the latest result, and exposes a small read-only webhook for the website.

Data flow

Game Server
    ↓
n8n Query Workflow
    ↓
n8n Data Table
    ↓
Read-only Webhook
    ↓
PHP Website

This keeps the public-facing website from becoming a convenient way to repeatedly query the game server itself.

Expected response

{
  "online": true,
  "name": "DEVIL6 Survival",
  "players": 7,
  "max_players": 20,
  "game": "Minecraft",
  "port": 25565
}

The PHP site treats every configured webhook the same way, so adding a new server is mostly a matter of adding another endpoint to config.php.