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

90 lines
2.6 KiB
Markdown

# Status
Workspace reference: [`GSP-WORKSPACE.md`](../../../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