Panel/docs/modules/status.md
2026-06-17 09:15:42 -05:00

2.6 KiB

Status

Workspace reference: GSP-WORKSPACE.md

Purpose

Admin status page for server/node state.

Current Status

  • Functional standalone page
  • Kept separate from the dashboard request path on purpose

Dependencies

  • status data
  • node/server metadata

Database Tables

  • none declared in module metadata

Agent Interaction

  • reads configured remote servers from the active Panel database
  • performs live agent availability checks when the status page is opened

User Workflow

  • open Panel/server_status.php from the dashboard when status information is needed
  • refresh manually when a new check is required

Admin Workflow

  • inspect status information

Security Concerns

  • should not expose sensitive details without permissions

Known Issues

  • live remote checks may wait on agent/network timeouts, so the page must not be loaded as part of the normal dashboard request

Missing Functionality

  • async dashboard embedding if a future implementation can safely avoid blocking dashboard render

Current Architecture

  • Render file: Panel/server_status.php
  • Dashboard entry point: Panel/modules/dashboard/dashboard.php
  • Data source: $db->getRemoteServers() plus OGPRemoteLibrary::status_chk()
  • Dashboard architecture decision: keep status checks on the separate page so the main dashboard remains responsive even when one or more remote servers are slow or unavailable

Display Rules

  • Removed the old Hostname column
  • Removed the repeated per-row Last Checked column
  • Keep one overall Checked: timestamp above the table
  • Removed Panel-to-server latency from the customer-facing page
  • Keep:
    • Server Name
    • Location / IP
    • Status
  • Status values should remain compact and truthful:
    • Online
    • Timed out
    • Agent unavailable
    • Unknown

Latency note:

  • Browser ICMP ping is not available from the Panel UI
  • The previous Panel-to-server latency values were removed because they do not represent the customer's connection to the game-server location
  • Do not attempt to ping the customer's IP from the Panel or from a game server

Theme Notes

  • The status page should visually match the active dark Panel theme
  • Use responsive table wrapping for mobile widths instead of forcing a wide desktop table into the viewport
  • Keep the page compact and avoid repeated explanatory cards

Suggested Future Improvements

  • optional browser-side location latency testing only if each location has a safe public HTTP or HTTPS health endpoint and the implementation remains honest about what is being measured

Recommendation

  • Keep / Improve