foxed update and stsrt issues

This commit is contained in:
Frank Harris 2026-06-05 14:39:10 -05:00
parent c687165132
commit c195c0930b
7 changed files with 544 additions and 70 deletions

View file

@ -23,6 +23,7 @@ Important references:
- live log retrieval exists
- logs can be fetched through the Panel
- the viewer can update via AJAX
- the main game log viewer uses a large monospace output panel
## What Still Needs Cleanup
@ -31,3 +32,13 @@ Important references:
- better error highlighting
- better downloadable log history
## Log Viewer Layout
`Panel/modules/gamemanager/log.php` keeps the AJAX refresh behavior and renders the log in a large textarea:
- desktop height around `55vh`
- mobile height around `45vh`
- monospace font
- preserved line breaks
- vertical scrolling inside the log panel
- long-line overflow remains usable without shrinking the panel to one line

View file

@ -16,6 +16,19 @@ Important files:
- `Agent_Linux/ogp_agent.pl`
- `Agent-Windows/ogp_agent.pl`
## Panel Display Behavior
Game Monitor should not convert ambiguous status into false offline.
Panel display mapping:
- `ONLINE` displays green.
- `STARTING`, `STOPPING`, and `UNRESPONSIVE` display yellow/active.
- `OFFLINE` displays red only when the agent confirms offline.
- `UNKNOWN` displays gray.
LGSL/GameQ query failure is not enough to mark a server offline. Query success may add player/map/hostname metadata, but query failure should only show a small unavailable note when the agent says the server is otherwise active.
## Recommended State Model
| State | Meaning |
@ -51,4 +64,3 @@ The agent should check, in this order:
- use state hints for start/stop transitions
- expose clear messages for `STARTING` and `UNRESPONSIVE`
- add precise log excerpts when startup fails

View file

@ -62,6 +62,19 @@ Useful state labels:
Query checks should remain optional metadata only.
## Game Monitor Display Rules
`Panel/modules/gamemanager/server_monitor.php` should display state from the agent status response, not from LGSL/GameQ query success alone.
Current display mapping:
- `ONLINE` -> green online indicator
- `STARTING`, `STOPPING`, `UNRESPONSIVE` -> yellow active/starting indicator
- `OFFLINE` -> red offline indicator
- `UNKNOWN` or agent unavailable -> gray unknown indicator
Query metadata remains optional. A running process/session or listening game port must not be shown as red/offline only because query details are unavailable.
## Log Viewer
Relevant files:
@ -72,6 +85,8 @@ Relevant files:
The log view should be treated as live, AJAX-updated output rather than a full page reload workflow.
`log.php` now renders the live log as a large monospace textarea with viewport-based height, preserved line breaks, vertical scrolling, and mobile sizing.
## What This Module Depends On
- `config_games` for startup parameters and protocol definitions
@ -79,4 +94,3 @@ The log view should be treated as live, AJAX-updated output rather than a full p
- `user_games` for server home records
- `rcon` for command support where available
- `addonsmanager` for content/mod interactions

60
docs/modules/UPDATE.md Normal file
View file

@ -0,0 +1,60 @@
# Update Module
## Role
`Panel/modules/update` exposes the admin Panel update page. The page delegates most update behavior to:
- `Panel/modules/administration/panel_update.php`
## Current Behavior
The update page is intentionally simple:
- shows the installed Panel version
- shows the current git branch and commit when available
- exposes editable repository settings
- can create a backup
- can update from the configured repository and branch
- can roll back to an existing backup
- keeps Apache diagnostics in a collapsed Advanced Diagnostics section
## Update Settings
The admin page stores these settings in the Panel settings table:
- `gsp_update_repo_url`
- `gsp_update_branch`
- `gsp_update_repo_root`
- `gsp_update_panel_path`
- `gsp_update_backup_before`
Defaults:
- Repository URL: `http://forge.runlevelsystems.com/dev/GSP.git`
- Branch: `Panel-unstable`
- Repository Root: `/var/www/html/GSP`
- Panel Path: `/var/www/html/GSP/Panel`
- Backup Before Update: enabled
## Update Flow
1. Save or submit repository settings.
2. Validate repository URL, branch, repo root, and Panel path.
3. Run preflight against the configured paths.
4. Create a backup when enabled.
5. Clone the configured repository branch into a temporary checkout.
6. Sync files into the configured root/Panel paths.
7. Preserve `Panel/includes/config.inc.php`.
8. Run module updates/post-update hooks.
9. Write version metadata and `LAST_UPDATE.txt`.
## Diagnostics
Apache and SSL checks are diagnostics only. Missing SSL certificates do not block Panel updates.
The old repeated SSL vhost disable buttons are not part of the primary update page. Apache path repair remains available under Advanced Diagnostics.
## Remaining Issues
- The updater still contains legacy GitHub release helper code that is no longer rendered by the simplified primary UI.
- Real production testing should confirm file ownership and web-server permissions on `/var/www/html/GSP`.