gameplane / docs
OPERATE

Console, Events & Logs

Trace a server from Kubernetes scheduling through container startup and game readiness, then use the live console without losing diagnostic context.

Console & Logsv0.29 MIN
Events vs. logs

Events explain why a workload could not start; logs explain what happened after a container started.

Start with events

Events are the control-plane timeline for scheduling, images, volumes, probes, and reconciliation.

Filter by severity, reason, and sourceEvents on a server's Overview page show warnings and failures; sort by newest first.
Read newest-first, preserve timestampsCompare controller events across the pod, StatefulSet, and GameServer objects using RFC3339 timestamps.
Scheduling and mounts firstWarnings about scheduling or mounts usually precede useful container output.

The /servers/{name}/events endpoint returns a snapshot of the 50 most recent Kubernetes Events affecting the server’s pod and its parent objects.

Use console and RCON safely

The live console is an operational channel, not a substitute for configuration or an audit trail.

Confirm target and permissionVerify the server name and your operator role before sending commands.
Use replay and fullscreen controlsBrowser-side playback, clear, and fullscreen controls do not interrupt the stream.
Prefer planned commandsUse broadcast and restart workflows for player-facing state changes.

Console modes

PTY mode (consoleMode: pty): Attaches the browser directly to the container’s stdin/stdout via the Kubernetes pod-attach API. The dashboard streams live output and forwards keystrokes as raw input. Use this for interactive debugging or live monitoring.

RCON mode (consoleMode: rcon): Sends line-based commands to a game server admin protocol (Minecraft Java’s RCON, Valheim’s RCON, etc.). Responses come back as discrete log lines. Commands typed here are sent to the game’s RCON protocol as-is; use the pre-built Action buttons (validated by the agent’s gameaction module against the template’s schema) for anything that should be schema-checked before it reaches the server.

Both modes appear under the same Console tab in the dashboard. The template’s spec.consoleMode field (or the default when spec.rcon is configured) determines which mode is available.

Command history

The console input bar keeps the last 100 commands you sent (v0.3.0). Press ArrowUp to recall earlier commands and ArrowDown to move forward; pressing ArrowDown past the newest command restores the line you had not sent yet. History lasts only while the Console tab stays open and is never saved.

Diagnose with logs

Switch between container and game logs, follow live output, and export evidence before changing state.

Container logs

Container startup logs (stdout/stderr from the game process) stream via the Kubernetes pod-logs API as Container output in the dashboard. This is the earliest output from the container’s entry point before the game’s own log file exists.

Game logs

The game’s primary log file is configured in the template’s spec.logPath (e.g., /data/logs/latest.log for Minecraft). The agent sidecar tails this file and streams it to the Game log source of the Logs tab via the /logs/tail WebSocket endpoint. Download the full log file without interrupting the stream using the Download button.

Log replay on tab open (v0.3.0): When you open the Logs tab, the dashboard replays the last 500 lines of the game log before following new output, so the tab no longer opens empty. The agent caps any replay at 20,000 lines and 4 MiB, still delivers lines written while the history is sent, and does not replay again after a log rotation.

Failed start triage

FAILED START TRIAGE

01   01 Read Events for scheduling, image, volume, or probe failures
02   02 Follow container logs, then game logs when the process is ready
03   03 Export timestamps and context before restart or configuration changes

Next guide

Files, players, and mods