Files
minecraft-account-manager/design/us-022-rcon-console.md
T
dmg f9ccfd821d
CI / validate (push) Successful in 6m5s
Release / release (push) Successful in 9m56s
feat(rcon): add admin server console
2026-08-07 21:44:00 -04:00

2.6 KiB

type, title, description, tags, timestamp, story_id, status
type title description tags timestamp story_id status
User Story Operate servers through an RCON console Administrators execute bounded RCON commands through the server-side portal proxy.
admin
rcon
minecraft
console
security
2026-08-08T01:36:00Z US-022 in-progress

User Story

As an administrator, I want an RCON console in the portal, so that I can operate internal Minecraft servers without exposing RCON publicly.

Acceptance Criteria

  • Existing account-manager administrators can select an enabled connection and execute an RCON command from the admin UI.
  • Browsers never connect to RCON directly; commands pass through the authenticated Next.js server runtime to an internal endpoint.
  • Every command independently rechecks administrator authorization and the selected connection's enabled state.
  • Commands are length-limited, reject control characters, execute with bounded concurrency and a timeout, and return bounded output.
  • Command responses are displayed safely and are not persisted in console history, audit data, or application logs.
  • Audit events record the administrator, connection, command verb and digest, success, and duration without recording complete commands or responses.
  • Authentication, timeout, and connection failures return safe operator-facing messages without credentials or stack traces.
  • The console is keyboard accessible and clearly identifies the selected server.
  • RCON remains internal to the cluster and is not exposed through public ingress or a load balancer.

Implementation

The client console invokes an authenticated server action that revalidates the enabled allowlisted connection, decrypts its credential only in the server runtime, and executes one bounded command. The gateway limits each process to one operation per server and eight total operations, applies a five-second end-to-end deadline plus bounded cleanup, sanitizes and truncates output, and records keyed command lifecycle audits without command or response content.

Validation

Application behavior is verified with gateway, validation, component, credential, and server-action tests; full workspace tests and type checks; web lint; OKF validation; and a production Next.js build on 2026-08-08. Deployment-level verification remains pending because this repository has no Minecraft Kubernetes Service, NetworkPolicy, ingress, or load-balancer manifests with which to prove that the RCON port is internal-only.

Related Stories