worshop work
This commit is contained in:
parent
0d44c65ea5
commit
3829a4a83d
92 changed files with 487 additions and 110 deletions
|
|
@ -1,5 +1,7 @@
|
|||
# GameManager
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Role
|
||||
|
||||
`Panel/modules/gamemanager` is the core customer server control module. It owns:
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Module Index
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
This is the master module inventory for the Panel. Use it as the first stop before opening module code.
|
||||
|
||||
| Module | Purpose | Status | Recommendation |
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Panel Update Module
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Scope
|
||||
|
||||
This document covers the admin Panel updater implemented through:
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Scheduler
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Current Implementation
|
||||
|
||||
The scheduler lives in the `cron` module on the Panel and in scheduler methods inside the agents.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Server Content Manager
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Current State
|
||||
|
||||
`Panel/modules/addonsmanager` is the current home of GSP's Server Content / Add-ons / Workshop work.
|
||||
|
|
@ -47,17 +49,19 @@ For Workshop items, the current flow lets users enter Workshop IDs or full Steam
|
|||
5. User enters one or more Workshop URLs or numeric IDs.
|
||||
6. Panel parses IDs, rejects invalid entries, and records rows in `server_content_workshop`.
|
||||
7. Panel writes a manifest to `{SERVER_HOME}/gsp_server_content/workshop_manifest.json`.
|
||||
8. Panel syncs the bundled Linux or Cygwin script into `{SERVER_HOME}/gsp_server_content/scripts/workshop/`.
|
||||
9. Agent executes the script with the manifest path through the existing authenticated `exec` RPC.
|
||||
10. Script runs SteamCMD, copies Workshop content into the configured target path, copies DayZ/Arma `.bikey` files when applicable, and writes a log under `gsp_server_content`.
|
||||
8. Panel writes a generated per-job shell script into `{SERVER_HOME}/gsp_server_content/jobs/workshop/`.
|
||||
9. The generated job script creates a temporary SteamCMD runscript containing `workshop_download_item <appid> <workshop_id> validate`.
|
||||
10. Agent executes the generated script with the manifest path through the existing authenticated `exec` RPC.
|
||||
11. Script runs SteamCMD with `+runscript`, copies Workshop content into the configured target path, copies DayZ/Arma `.bikey` files when applicable, and writes a log under `gsp_server_content`.
|
||||
|
||||
The agents are intentionally generic executors in this design. New Workshop business logic should not be added to `Agent-Windows` or `Agent_Linux`; use `remote_writefile`, `exec`, log reads, and normal start/stop/restart primitives instead.
|
||||
|
||||
Current script fallback behavior:
|
||||
Current job-script behavior:
|
||||
|
||||
- Admin-defined custom scripts are supported when they exist on the agent.
|
||||
- Missing custom scripts fall back to the bundled generic handler and are logged.
|
||||
- Default script names such as `generic_steam_workshop_windows_cygwin.sh` are copied from the Panel module source and must not be checked as bare files on the agent.
|
||||
- Server Content Manager generates a new job script for each Workshop action.
|
||||
- Admin-defined static Workshop script paths are deprecated and ignored by the primary path.
|
||||
- Default script names such as `generic_steam_workshop_windows_cygwin.sh` must not be checked as bare files on the agent.
|
||||
- Agents need only the generic `writefile` and `exec` primitives.
|
||||
|
||||
Current default install paths:
|
||||
|
||||
|
|
@ -90,7 +94,7 @@ The Panel helper parser reads this block first and only tolerates old direct tag
|
|||
SteamCMD requirements:
|
||||
|
||||
- Linux agents need SteamCMD available at the configured profile/template path, `STEAMCMD_PATH`, `/home/gameserver/steamcmd/steamcmd.sh`, or in `PATH`.
|
||||
- Windows agents currently use the existing Cygwin agent model and run the bundled Cygwin-compatible shell handler. SteamCMD may be provided as `steamcmd.exe`, `steamcmd.sh`, an explicit configured path, or via `STEAMCMD_PATH`.
|
||||
- Windows agents currently use the existing Cygwin agent model and run the Panel-generated shell job. SteamCMD may be provided as `steamcmd.exe`, `steamcmd.sh`, an explicit configured path, or via `STEAMCMD_PATH`.
|
||||
- Missing SteamCMD should return a clear error, not a generic script failure.
|
||||
|
||||
The legacy `steam_workshop` monitor button is intentionally suppressed so users are not sent to the deprecated standalone module.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# TS3Admin
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Teamspeak 3 admin interface module.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Update Module
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
Primary operational reference:
|
||||
|
||||
- `docs/modules/PANEL_UPDATE.md`
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Administration
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Admin utilities and logging helpers, including the watch logger and external link storage.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Backup Restore
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Backup and restore UI for game server homes.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Billing
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Commercial billing, provisioning, invoices, orders, transactions, coupons, and payment gateway integration.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Circular
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Admin notifications / circular messages for broadcasting announcements to users.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Config Games
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Game XML definitions, CLI parameter generation, mod definitions, and custom field mapping.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Cron
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Scheduler / CRON for game server automation.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Dashboard
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Main landing dashboard with widgets and quick server overview.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Dynamic Server Image
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Dynamic server image and artwork management for server cards.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Edit Config Files
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Game-specific shortcuts for editing common configuration files.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# F.A.Q.
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Basic help and FAQ content for users.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Fast Download
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
FastDL support for Source/GoldSrc style content distribution.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# FTP
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
FTP administration and access control for server homes.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
# gamemanager
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
This page is an alias for [GAMEMANAGER.md](GAMEMANAGER.md). The full module documentation lives there.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# LGSL With Image Mod
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Legacy LGSL status listing and image-based server display.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Lite File Manager
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
In-panel file manager and file editor for customer server homes.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Lost Password
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Password recovery flow for users.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Module Manager
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Install and manage Panel modules and access rights.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# MySQL
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
MySQL hosting/admin module for servers and databases.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# NewsLister
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Legacy news and announcement module.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Rcon
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Admin RCON interface for issuing console commands to supported game servers.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Register
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
User registration module.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Server Manager
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Remote server/node management in the Panel.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Settings
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Panel settings, theme settings, and core site configuration.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Status
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Admin status page for server/node state.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Steam Workshop
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Legacy standalone Steam Workshop support.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Subusers
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Subuser permissions and delegated access management.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Support
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Simple support landing page for users.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Teamspeak 3 Web Interface
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Web interface for Teamspeak 3 hosting.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Tickets
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Support ticket system with messages, attachments, and settings.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
# ts3admin
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
This page is an alias for [TS3Admin.md](TS3Admin.md). The full module documentation lives there.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# TShock
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Terraria / TShock-specific support module.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Update
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Panel update and patch management.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# User Admin
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
User, role, and group administration.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# User Games
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Server provisioning, assignment, cloning, expiration, and home management.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# Utilities
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Purpose
|
||||
|
||||
Miscellaneous utility tools such as Steam ID conversion and game-adjacent helpers.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue