90 lines
2.6 KiB
Markdown
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
|