From d0c7a5a25ca5ef3aebc9b0ea03094080f13db63a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 19 May 2026 22:37:08 +0000 Subject: [PATCH] Document workshop normalization changes Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/b08aa54e-755c-4869-ba97-0f817a05b3c6 Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com> --- .github/module-map.md | 2 +- LAST_UPDATE.txt | 19 +++++++++++++++++++ Panel/CHANGELOG.md | 1 + Panel/docs/COPILOT_TODO.md | 1 + 4 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 LAST_UPDATE.txt diff --git a/.github/module-map.md b/.github/module-map.md index 39a9b38d..f5fa0d71 100644 --- a/.github/module-map.md +++ b/.github/module-map.md @@ -37,7 +37,7 @@ This file captures how the control panel, storefront, agents, and helper scripts | `server` | `modules/server/*` | Remote server management (agents, IPs, ports, reinstall keys). Billing uses these tables for available nodes/locations. | | `modulemanager` | Manage module install/uninstall/menus. Billing module registers `navigation.xml` to surface `create_servers.php` & admin pages. | | `tickets`, `support` | Support ticketing/email utilities. | Pulls user info and logger records. | -| `extras`, `addonsmanager` | Workshop/add-on management. | Hooks into game homes after provisioning. | +| `extras`, `addonsmanager` | Workshop/add-on management. Server Content workshop installs now share validation/runtime helpers across admin, user, and API flows, and sync bundled workshop scripts into each home’s `gsp_server_content/scripts/workshop/` directory before execution. | Hooks into game homes after provisioning and uses agent-side SteamCMD copy/install workflows. | | `litefm`, `ftp`, `TS3Admin` | File managers and TeamSpeak controllers. | Depend on homes and remote server credentials set during provisioning. | | `news`, `circular`, `faq` | Content modules for panel UI. | Use standard MVC wrappers, share session/auth. | | `cron` | Scheduler UI feeding `scripts/` commands. | Maintains job metadata that OS cron reads, including scheduler-triggered Server Content actions via `ogp_api.php?server_content/run_scheduled_action` and `modules/addonsmanager/server_content_actions.php`. | diff --git a/LAST_UPDATE.txt b/LAST_UPDATE.txt new file mode 100644 index 00000000..f60b76bc --- /dev/null +++ b/LAST_UPDATE.txt @@ -0,0 +1,19 @@ +2026-05-19 22:26:47 +Branch: copilot/normalize-workshop-installs +Commit: c471c4b +Updated files: +- Panel/js/modules/addonsmanager.js +- Panel/lang/English/modules/addonsmanager.php +- Panel/modules/addonsmanager/addons_installer.php +- Panel/modules/addonsmanager/addons_manager.php +- Panel/modules/addonsmanager/scripts/workshop/generic_steam_workshop_linux.sh +- Panel/modules/addonsmanager/scripts/workshop/generic_steam_workshop_windows_cygwin.sh +- Panel/modules/addonsmanager/server_content_actions.php +- Panel/modules/addonsmanager/server_content_categories.php +- Panel/modules/addonsmanager/server_content_helpers.php +- Panel/modules/addonsmanager/workshop_action.php +- Panel/ogp_api.php +- Panel/CHANGELOG.md +- Panel/docs/COPILOT_TODO.md +- .github/module-map.md +Summary: Normalized Steam Workshop content installs across shared validation, the user installer UI, API execution, and agent-side SteamCMD script syncing/logging. diff --git a/Panel/CHANGELOG.md b/Panel/CHANGELOG.md index a15bc6ab..e472e15b 100644 --- a/Panel/CHANGELOG.md +++ b/Panel/CHANGELOG.md @@ -1,6 +1,7 @@ # Changelog ## 2026-05-19 +- **Server Content Workshop normalization:** Centralized install-method validation helpers, updated the user Server Content installer to prompt for Workshop ID/app/path overrides with live target previews, normalized workshop execution across UI/API flows, and switched agent execution to synced home-local workshop scripts that run real SteamCMD download/copy/post-install steps on Linux and Cygwin. - **Updater deployment diagnostics + legacy updater Panel path compatibility:** Update UI now surfaces configured stable/unstable branches plus the last resolved temporary checkout/source repo paths used during deployment, and `modules/update/updating.php` now treats `Panel/` and `panel/` zip paths equivalently so legacy update routes no longer skip panel files from current GitHub zip layouts. - **Updater deployment layout enforcement + marker file writes:** Hardened `modules/administration/panel_update.php` to require the live `/var/www/html/GSP` root with explicit `/Panel` and `/Website` destinations, log full source/destination path detection (including temp checkout/source roots), stop on invalid mapping, copy Panel/Website via explicit subtree mapping (preventing nested `Panel/Panel` or `Website/Website`), validate key copied files after sync, and write both `Website/timestamp.txt` and `modules/billing/timestamp.txt` marker files on successful updates. - **Workshop content script path fix:** Updated addonsmanager default Workshop script paths to the panel module script location under `/var/www/html/GSP/Panel/modules/addonsmanager/scripts/workshop/` so Workshop actions no longer use the incorrect game-home-mixed path on the agent host. diff --git a/Panel/docs/COPILOT_TODO.md b/Panel/docs/COPILOT_TODO.md index 75258766..2175c423 100644 --- a/Panel/docs/COPILOT_TODO.md +++ b/Panel/docs/COPILOT_TODO.md @@ -19,6 +19,7 @@ - Add an integration smoke test that exercises updater preflight, required patch state persistence, Apache path scan output, and rollback restore of Panel/Website/version.json artifacts. - Add an admin preview/diff panel for Apache path repairs so staff can review exact vhost line changes before confirming `Fix Apache Paths`. - Add Phase 2 Workshop Content UX in `addonsmanager`: browse/search/select Workshop items with metadata while reusing the Phase 1 per-home saved-ID action pipeline. +- Add a live progress/status panel for addonsmanager Workshop installs so users can watch queued/downloading/copying/completed steps without leaving the page. - Add localized language strings/tooltips for the new cron scheduler `server_content_*` action labels across all supported panel locales. - Add a Game Manager "Live Server Status" panel that consumes `Panel/protocol/gsp_query.php` and shows banner preview plus copyable embed code. - Add an updater admin UI table that renders the full deployment preflight path map (temp checkout, source repo/panel/website, destination panel/website) directly from the new layout detection payload for one-click operator verification.