Create initial GSP Panel wiki documentation
parent
4bb57b944f
commit
502367b140
20 changed files with 764 additions and 1 deletions
29
Administration.md
Normal file
29
Administration.md
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# Administration
|
||||
|
||||
Administration in GSP covers the pages and settings that control the panel itself and server templates.
|
||||
|
||||
## Common Admin Areas
|
||||
|
||||
- Game definitions and XML templates
|
||||
- Workshop administration
|
||||
- User and permission management
|
||||
- Billing and website integration
|
||||
- Module configuration pages
|
||||
|
||||
## Relevant Pages
|
||||
|
||||
- [Modules](Modules.md)
|
||||
- [Module Reference](Module-Reference.md)
|
||||
- [Users and Permissions](Users-and-Permissions.md)
|
||||
- [Steam and Workshop](Steam-and-Workshop.md)
|
||||
- [Database](Database.md)
|
||||
|
||||
## Workshop Admin Notes
|
||||
|
||||
The dedicated Steam Workshop admin page copies configuration settings between XML files. It does not copy installed mods, mod folders, or game server files.
|
||||
|
||||
## Good Practice
|
||||
|
||||
- Check whether a file lives under `references/` before editing it.
|
||||
- Verify the target file is project code, not reference material.
|
||||
- Prefer the module's existing validation and save helpers instead of building a one-off path.
|
||||
20
Billing-and-Website-Integration.md
Normal file
20
Billing-and-Website-Integration.md
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
# Billing and Website Integration
|
||||
|
||||
GSP includes billing and website-facing modules that integrate with the panel.
|
||||
|
||||
## Relevant Modules
|
||||
|
||||
- `Panel/Panel/modules/billing/`
|
||||
- `Panel/Panel/modules/website/`
|
||||
- `Panel/Panel/modules/register/`
|
||||
- `Panel/Panel/modules/support/`
|
||||
- `Panel/Panel/modules/tickets/`
|
||||
|
||||
## Notes
|
||||
|
||||
- Billing behavior should be documented from the current GSP source, not from upstream assumptions.
|
||||
- Some billing changes have schema implications, so review the module code and database references together.
|
||||
|
||||
## TODO
|
||||
|
||||
- Add a fuller billing and website integration map after the module inventory is finished.
|
||||
33
Configuration.md
Normal file
33
Configuration.md
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# Configuration
|
||||
|
||||
GSP configuration is split across several layers.
|
||||
|
||||
## Main Layers
|
||||
|
||||
- Game template XML under `Panel/Panel/modules/config_games/server_configs/`
|
||||
- Panel modules under `Panel/Panel/modules/`
|
||||
- Per-module config data such as Workshop XML files under `Panel/Panel/modules/steam_workshop/game_configs/`
|
||||
- Database-backed server and user state
|
||||
|
||||
## Practical Rule
|
||||
|
||||
When a setting affects startup commands, install behavior, or file editing, check both the module page and the game XML that defines the behavior.
|
||||
|
||||
## Important Configuration Areas
|
||||
|
||||
- Game names, installers, and startup parameters
|
||||
- CLI parameter definitions
|
||||
- Mod and Workshop support
|
||||
- File editing and replacement rules
|
||||
- Admin-only module settings
|
||||
|
||||
## Steam Workshop Configuration
|
||||
|
||||
- Workshop admin settings live in dedicated XML files under `Panel/Panel/modules/steam_workshop/game_configs/`
|
||||
- Game XML `workshop_support` blocks define Workshop capability for game templates
|
||||
|
||||
See:
|
||||
|
||||
- [Game Template XML](Game-Template-XML.md)
|
||||
- [Steam and Workshop](Steam-and-Workshop.md)
|
||||
- [XML Schema and Validation](XML-Schema-and-Validation.md)
|
||||
42
Database.md
Normal file
42
Database.md
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
# Database
|
||||
|
||||
This page is a first-pass map of database usage discovered in the current source.
|
||||
|
||||
## Known Panel Areas
|
||||
|
||||
- `config_games` owns XML game template loading and schema validation, but most of its configuration lives in XML files rather than tables.
|
||||
- `steam_workshop` uses XML config files plus panel-side logic and has dedicated workshop tables in the current codebase.
|
||||
- `addonsmanager` and billing-related modules also use their own tables.
|
||||
|
||||
## Confirmed Steam Workshop Tables
|
||||
|
||||
From the current workshop docs and code comments:
|
||||
|
||||
- `steam_workshop_game_profiles`
|
||||
- `steam_workshop_server_mods`
|
||||
- `steam_workshop_server_settings`
|
||||
|
||||
## Confirmed Server Content Tables
|
||||
|
||||
From the current server content/workshop documentation:
|
||||
|
||||
- `server_content_workshop`
|
||||
- `server_content_workshop_catalog`
|
||||
|
||||
## Other Obvious Panel Tables
|
||||
|
||||
The source references additional tables such as:
|
||||
|
||||
- `config_homes`
|
||||
- `config_mods`
|
||||
- `remote_servers`
|
||||
- `user_games`
|
||||
|
||||
## Notes
|
||||
|
||||
- This is not a full schema dump.
|
||||
- If a page needs exact column lists, inspect the module that owns the data instead of guessing.
|
||||
|
||||
## TODO
|
||||
|
||||
- Add a proper schema inventory page once the current repository tables are fully catalogued.
|
||||
28
Development.md
Normal file
28
Development.md
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# Development
|
||||
|
||||
This wiki follows a source-first workflow.
|
||||
|
||||
## Development Workflow
|
||||
|
||||
1. Read the relevant wiki page.
|
||||
2. Inspect the current GSP source file.
|
||||
3. Compare with `references/OGP/` only when upstream behavior matters.
|
||||
4. Implement the change in the GSP codebase.
|
||||
5. Validate syntax and schemas.
|
||||
6. Update documentation when behavior changes.
|
||||
|
||||
## Validation Expectations
|
||||
|
||||
- Run PHP lint on modified PHP files.
|
||||
- Run the XML validation script when game configs change.
|
||||
- Keep reference material untouched.
|
||||
|
||||
## Good Practices
|
||||
|
||||
- Preserve existing conventions unless there is a clear reason to change them.
|
||||
- Use TODO markers when source evidence is incomplete.
|
||||
- Keep Workshop work in the dedicated `steam_workshop` module.
|
||||
|
||||
## TODO
|
||||
|
||||
- Add repo-specific branching and review rules if the project adopts a formal release workflow.
|
||||
25
File-Management.md
Normal file
25
File-Management.md
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
# File Management
|
||||
|
||||
GSP file handling is spread across several modules.
|
||||
|
||||
## Relevant Modules
|
||||
|
||||
- `Panel/Panel/modules/litefm/`
|
||||
- `Panel/Panel/modules/ftp/`
|
||||
- `Panel/Panel/modules/editconfigfiles/`
|
||||
- `Panel/Panel/modules/backup-restore/`
|
||||
|
||||
## Practical Notes
|
||||
|
||||
- File operations should stay within the intended game home or configuration directories.
|
||||
- The Panel should not touch game home files during settings-only Workshop config copy operations.
|
||||
- Blank config file paths are valid in some Workshop workflows and should skip file editing entirely.
|
||||
|
||||
## Source Clues
|
||||
|
||||
- `remote_readfile()` and `remote_writefile()` are used to move file contents through the agent.
|
||||
- `read_server_config()` is used to read XML config files.
|
||||
|
||||
## TODO
|
||||
|
||||
- Add specific file-management workflows and constraints once the module-by-module audit is complete.
|
||||
27
Game-Server-Management.md
Normal file
27
Game-Server-Management.md
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
# Game Server Management
|
||||
|
||||
This page covers the user-facing server lifecycle and management flow.
|
||||
|
||||
## Primary Tasks
|
||||
|
||||
- start and stop servers
|
||||
- restart and monitor servers
|
||||
- view logs
|
||||
- manage files
|
||||
- manage server-specific settings
|
||||
|
||||
## Main Source Areas
|
||||
|
||||
- `Panel/Panel/modules/gamemanager/`
|
||||
- `Panel/Panel/modules/litefm/`
|
||||
- `Panel/Panel/modules/ftp/`
|
||||
- `Panel/Panel/modules/steam_workshop/`
|
||||
|
||||
## Workshop-Related Management
|
||||
|
||||
The dedicated Workshop module is used for Workshop installs, uninstalls, and Workshop configuration management. It is separate from normal server lifecycle controls.
|
||||
|
||||
## Notes
|
||||
|
||||
- Server lifecycle behavior should be treated as the Panel's responsibility.
|
||||
- Agents should execute requests and report results, not decide policy.
|
||||
137
Game-Template-XML.md
Normal file
137
Game-Template-XML.md
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
# Game Template XML
|
||||
|
||||
Game template XML defines how a game server is installed, started, queried, and customized.
|
||||
|
||||
## Purpose
|
||||
|
||||
The XML files in `Panel/Panel/modules/config_games/server_configs/` describe:
|
||||
|
||||
- the game key
|
||||
- game name
|
||||
- installer type
|
||||
- startup command templates
|
||||
- CLI parameter definitions
|
||||
- mod definitions
|
||||
- file replacement rules
|
||||
- custom fields
|
||||
- post-install and pre-start hooks
|
||||
- Workshop capability metadata
|
||||
|
||||
## Current GSP Schema
|
||||
|
||||
The current schema is in:
|
||||
|
||||
- `Panel/Panel/modules/config_games/schema_server_config.xml`
|
||||
|
||||
The schema validates with:
|
||||
|
||||
- `Panel/Panel/modules/config_games/tests/validate_server_configs.php`
|
||||
|
||||
## Confirmed Tags In Current GSP
|
||||
|
||||
From the schema and current XML files, these tags are confirmed:
|
||||
|
||||
- `game_key`
|
||||
- `protocol`
|
||||
- `lgsl_query_name`
|
||||
- `gameq_query_name`
|
||||
- `installer`
|
||||
- `game_name`
|
||||
- `workshop_support`
|
||||
- `server_exec_name`
|
||||
- `query_port`
|
||||
- `cli_template`
|
||||
- `cli_params`
|
||||
- `reserve_ports`
|
||||
- `cli_allow_chars`
|
||||
- `maps_location`
|
||||
- `map_list`
|
||||
- `console_log`
|
||||
- `exe_location`
|
||||
- `max_user_amount`
|
||||
- `control_protocol`
|
||||
- `control_protocol_type`
|
||||
- `mods`
|
||||
- `replace_texts`
|
||||
- `server_params`
|
||||
- `custom_fields`
|
||||
- `list_players_command`
|
||||
- `player_info_regex`
|
||||
- `player_info`
|
||||
- `player_commands`
|
||||
- `pre_install`
|
||||
- `post_install`
|
||||
- `pre_start`
|
||||
- `post_start`
|
||||
- `environment_variables`
|
||||
- `lock_files`
|
||||
- `configuration_files`
|
||||
|
||||
## Workshop Support Block
|
||||
|
||||
The schema includes a `workshop_support` block between `game_name` and `server_exec_name`.
|
||||
|
||||
Confirmed children:
|
||||
|
||||
- `enabled`
|
||||
- `provider`
|
||||
- `steam_app_id`
|
||||
- `workshop_app_id`
|
||||
- `download_method`
|
||||
- `install_strategy`
|
||||
- `install_path`
|
||||
- `startup_param_format`
|
||||
- `mod_separator`
|
||||
- `mod_prefix`
|
||||
- `mod_folder_format`
|
||||
- `copy_keys`
|
||||
- `post_install_action`
|
||||
|
||||
Confirmed `copy_keys` children:
|
||||
|
||||
- `source_pattern`
|
||||
- `target_path`
|
||||
|
||||
Confirmed install strategies in the schema:
|
||||
|
||||
- `game_managed_workshop`
|
||||
- `steamcmd_download_only`
|
||||
- `copy_to_game_root`
|
||||
- `copy_to_mod_folder`
|
||||
- `dayz_mod_folder`
|
||||
- `arma_mod_folder`
|
||||
- `config_only`
|
||||
- `custom_scripted_install`
|
||||
|
||||
## Example
|
||||
|
||||
The Arma 3 templates currently include a `workshop_support` block:
|
||||
|
||||
```xml
|
||||
<workshop_support>
|
||||
<enabled>1</enabled>
|
||||
<provider>steam</provider>
|
||||
<steam_app_id>107410</steam_app_id>
|
||||
<workshop_app_id>107410</workshop_app_id>
|
||||
<download_method>steamcmd</download_method>
|
||||
<install_strategy>arma_mod_folder</install_strategy>
|
||||
<install_path>{SERVER_ROOT}/{MOD_FOLDER}</install_path>
|
||||
<startup_param_format>-mod={MOD_LIST}</startup_param_format>
|
||||
<mod_separator>;</mod_separator>
|
||||
<mod_prefix>@</mod_prefix>
|
||||
<copy_keys enabled="1">
|
||||
<source_pattern>{MOD_PATH}/keys/*.bikey</source_pattern>
|
||||
<target_path>{SERVER_ROOT}/keys</target_path>
|
||||
</copy_keys>
|
||||
</workshop_support>
|
||||
```
|
||||
|
||||
## Compare With OGP
|
||||
|
||||
The OGP wiki notes in `references/OGP/OGP-Website.wiki/XML-Notes.md` describe the older XML model without the current GSP `workshop_support` block.
|
||||
|
||||
## TODO / Needs Verification
|
||||
|
||||
- Which older XML tags are still accepted only for legacy compatibility
|
||||
- Whether any additional tags are currently parsed by code outside the schema
|
||||
- Whether any module-specific XML tags were added in a commit after the current schema
|
||||
42
Getting-Started.md
Normal file
42
Getting-Started.md
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
# Getting Started
|
||||
|
||||
This wiki documents the GSP Panel as a fork of Open Game Panel and a separate product with its own current behavior.
|
||||
|
||||
## First Read
|
||||
|
||||
- [Home](Home.md)
|
||||
- [Installation](Installation.md)
|
||||
- [Configuration](Configuration.md)
|
||||
- [Modules](Modules.md)
|
||||
|
||||
## What GSP Is
|
||||
|
||||
GSP is the control-plane web panel for game server administration. It coordinates server management, XML-based game templates, file operations, and module pages.
|
||||
|
||||
## Workspace Layout
|
||||
|
||||
In this workspace:
|
||||
|
||||
- `Panel/Panel/` contains the current GSP Panel source tree.
|
||||
- `Panel.wiki/` contains this wiki.
|
||||
- `references/OGP/` contains read-only upstream reference material.
|
||||
|
||||
## Recommended First Steps
|
||||
|
||||
1. Read the relevant wiki page for the feature you want to change.
|
||||
2. Inspect the current source file in `Panel/Panel/modules/...`.
|
||||
3. Compare with `references/OGP/` when original behavior matters.
|
||||
4. Make the change in GSP code, not in `references/`.
|
||||
5. Run the applicable validation or syntax checks.
|
||||
|
||||
## Good Starting Points
|
||||
|
||||
- `Panel/Panel/modules/config_games/` for XML game templates and schema validation
|
||||
- `Panel/Panel/modules/steam_workshop/` for dedicated Workshop administration and installs
|
||||
- `Panel/Panel/modules/gamemanager/` for server lifecycle actions
|
||||
- `Panel/Panel/modules/addonsmanager/` for server content workflows
|
||||
|
||||
## Notes
|
||||
|
||||
- This wiki is a first-pass operational guide.
|
||||
- Pages marked with TODO or Needs Verification indicate areas where source evidence was incomplete or intentionally conservative.
|
||||
28
Home.md
28
Home.md
|
|
@ -1 +1,27 @@
|
|||
Welcome to the Wiki.
|
||||
# Game Server Panel Wiki
|
||||
|
||||
Game Server Panel is a fork of Open Game Panel.
|
||||
|
||||
Game Server Panel, or GSP, is being developed as a modernized game server control panel for managing game servers, Workshop content, server files, users, and supporting XML-driven game templates.
|
||||
|
||||
Start here:
|
||||
|
||||
- [Getting Started](Getting-Started.md)
|
||||
- [Installation](Installation.md)
|
||||
- [Configuration](Configuration.md)
|
||||
- [Administration](Administration.md)
|
||||
- [Game Server Management](Game-Server-Management.md)
|
||||
- [Modules](Modules.md)
|
||||
- [Steam and Workshop](Steam-and-Workshop.md)
|
||||
- [XML Schema and Validation](XML-Schema-and-Validation.md)
|
||||
- [Troubleshooting](Troubleshooting.md)
|
||||
|
||||
Key reference pages:
|
||||
|
||||
- [Game Template XML](Game-Template-XML.md)
|
||||
- [Module Reference](Module-Reference.md)
|
||||
- [Database](Database.md)
|
||||
- [Remote Servers and Agents](Remote-Servers-and-Agents.md)
|
||||
- [OGP Fork Notes](OGP-Fork-Notes.md)
|
||||
|
||||
The upstream OGP reference material is stored in `references/OGP/` in this workspace and is read-only. Use it to compare original behavior, then document GSP behavior in this wiki.
|
||||
|
|
|
|||
34
Installation.md
Normal file
34
Installation.md
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# Installation
|
||||
|
||||
This page is a practical overview, not a packaging guide.
|
||||
|
||||
## What To Install
|
||||
|
||||
- A working web stack for the Panel
|
||||
- PHP with XML support
|
||||
- A database server for Panel data
|
||||
- The GSP Panel source tree
|
||||
- The appropriate agent repositories for server execution
|
||||
|
||||
## Workspace Guidance
|
||||
|
||||
- Keep `references/OGP/` read-only.
|
||||
- Install or deploy from the GSP source tree, not from reference material.
|
||||
- Validate XML-related changes with the bundled schema check before treating them as complete.
|
||||
|
||||
## Where To Look In Source
|
||||
|
||||
- `Panel/Panel/modules/config_games/tests/validate_server_configs.php`
|
||||
- `Panel/Panel/modules/config_games/schema_server_config.xml`
|
||||
- `Panel/Panel/modules/steam_workshop/`
|
||||
|
||||
## First Checks After Installation
|
||||
|
||||
1. Open the Panel home page.
|
||||
2. Confirm module navigation loads.
|
||||
3. Confirm XML game configs parse and validate.
|
||||
4. Confirm the Workshop and game management pages open without PHP errors.
|
||||
|
||||
## TODO
|
||||
|
||||
- Add a full platform-specific install walkthrough once the current deployment path is finalized.
|
||||
57
Module-Reference.md
Normal file
57
Module-Reference.md
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
# Module Reference
|
||||
|
||||
This page is a working inventory of modules discovered in the current GSP Panel tree.
|
||||
|
||||
## Core Modules
|
||||
|
||||
| Module | Path | Purpose | Main files | Notes |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| TS3Admin | `Panel/Panel/modules/TS3Admin/` | TeamSpeak 3 admin integration | `module.php`, `navigation.xml` | TODO: confirm current feature scope |
|
||||
| addonsmanager | `Panel/Panel/modules/addonsmanager/` | Server content workflows and legacy add-ons area | `module.php`, `addons_manager.php`, `workshop_content.php`, `workshop_action.php`, `server_content_helpers.php` | Workshop entry point should remain dedicated to `steam_workshop` |
|
||||
| administration | `Panel/Panel/modules/administration/` | Admin utilities and system settings | `module.php`, page files | TODO |
|
||||
| backup-restore | `Panel/Panel/modules/backup-restore/` | Backup and restore functions | `module.php` | TODO |
|
||||
| billing | `Panel/Panel/modules/billing/` | Billing / storefront integration | `module.php`, admin pages, docs | Relevant DB tables exist in billing code, but not fully inventoried here |
|
||||
| circular | `Panel/Panel/modules/circular/` | Small utility module | `module.php` | TODO |
|
||||
| config_games | `Panel/Panel/modules/config_games/` | XML game templates, schema, and config parsing | `config_servers.php`, `server_config_parser.php`, `schema_server_config.xml`, `tests/validate_server_configs.php` | High-confidence module |
|
||||
| cron | `Panel/Panel/modules/cron/` | Scheduled task handling | `module.php` | TODO |
|
||||
| dashboard | `Panel/Panel/modules/dashboard/` | Home/dashboard pages | `module.php` | TODO |
|
||||
| dsi | `Panel/Panel/modules/dsi/` | Game-related service integration | `module.php` | TODO |
|
||||
| editconfigfiles | `Panel/Panel/modules/editconfigfiles/` | Config file editing | `module.php` | Works with file/config management flows |
|
||||
| faq | `Panel/Panel/modules/faq/` | FAQ pages | `module.php` | TODO |
|
||||
| fast_download | `Panel/Panel/modules/fast_download/` | Download helper paths | `module.php` | TODO |
|
||||
| ftp | `Panel/Panel/modules/ftp/` | FTP-related file access | `module.php` | TODO |
|
||||
| gamemanager | `Panel/Panel/modules/gamemanager/` | Server lifecycle and game monitoring | `module.php`, `mini_start.php`, `home_handling_functions.php`, `update_actions.php` | Central gameplay management module |
|
||||
| lgsl_with_img_mod | `Panel/Panel/modules/lgsl_with_img_mod/` | LGSL query integration | `module.php` | TODO |
|
||||
| litefm | `Panel/Panel/modules/litefm/` | File manager | `module.php` | User-facing file operations |
|
||||
| lostpwd | `Panel/Panel/modules/lostpwd/` | Lost password flow | `module.php` | TODO |
|
||||
| mods | `Panel/Panel/modules/mods/` | Mod definitions and mod tools | `module.php` | TODO |
|
||||
| modulemanager | `Panel/Panel/modules/modulemanager/` | Module enable/disable or management | `module.php` | TODO |
|
||||
| mysql | `Panel/Panel/modules/mysql/` | MySQL database tools | `module.php` | TODO |
|
||||
| news | `Panel/Panel/modules/news/` | News / announcements | `module.php` | TODO |
|
||||
| rcon | `Panel/Panel/modules/rcon/` | Remote console tools | `module.php` | TODO |
|
||||
| register | `Panel/Panel/modules/register/` | User registration | `module.php` | TODO |
|
||||
| reseller | `Panel/Panel/modules/reseller/` | Reseller admin flows | `module.php`, `navigation.xml` | Seen in Git history and navigation |
|
||||
| server | `Panel/Panel/modules/server/` | Server views / server-side pages | `module.php` | TODO |
|
||||
| settings | `Panel/Panel/modules/settings/` | Panel settings | `module.php` | TODO |
|
||||
| steam_workshop | `Panel/Panel/modules/steam_workshop/` | Dedicated Steam Workshop module | `module.php`, `main.php`, `workshop_admin.php`, `uninstall.php`, `functions.php` | Active dedicated Workshop module |
|
||||
| subusers | `Panel/Panel/modules/subusers/` | Sub-user management | `module.php` | TODO |
|
||||
| support | `Panel/Panel/modules/support/` | Support pages | `module.php` | TODO |
|
||||
| teamspeak3 | `Panel/Panel/modules/teamspeak3/` | TeamSpeak 3 integration | `module.php` | TODO |
|
||||
| tickets | `Panel/Panel/modules/tickets/` | Ticketing / support tickets | `module.php`, `navigation.xml` | TODO |
|
||||
| tshock | `Panel/Panel/modules/tshock/` | TShock / Terraria-related admin | `module.php` | TODO |
|
||||
| update | `Panel/Panel/modules/update/` | Update flow | `module.php` | TODO |
|
||||
| user_admin | `Panel/Panel/modules/user_admin/` | User administration | `module.php` | Admin-facing |
|
||||
| user_games | `Panel/Panel/modules/user_games/` | User game server list and access | `module.php` | User-facing |
|
||||
| util | `Panel/Panel/modules/util/` | Shared utilities | `module.php` | TODO |
|
||||
| website | `Panel/Panel/modules/website/` | Website integration pages | `module.php` | TODO |
|
||||
|
||||
## Additional Workshop-Related Files
|
||||
|
||||
- `Panel/Panel/modules/steam_workshop/game_configs/` contains per-game Workshop XML profiles.
|
||||
- `Panel/Panel/modules/steam_workshop/navigation.xml` exposes the dedicated pages.
|
||||
- `Panel/Panel/modules/steam_workshop/simple_admin_helper.php` adds a simple admin UI helper.
|
||||
|
||||
## Notes
|
||||
|
||||
- Some modules may contain subpages not listed here because their behavior is still being inventoried.
|
||||
- For any module not yet fully understood, treat this as a first-pass reference and add TODOs rather than assumptions.
|
||||
27
Modules.md
Normal file
27
Modules.md
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
# Modules
|
||||
|
||||
GSP modules are organized under `Panel/Panel/modules/`.
|
||||
|
||||
## How Modules Work
|
||||
|
||||
- Each module lives in its own directory.
|
||||
- Most modules expose a `module.php` entry point and one or more page files.
|
||||
- Many modules also provide `navigation.xml`, styles, or helper scripts.
|
||||
- Module behavior is usually split between user-facing pages and admin pages.
|
||||
|
||||
## Major Module Areas
|
||||
|
||||
- Server management
|
||||
- User and permission management
|
||||
- Configuration and XML tools
|
||||
- Workshop and content management
|
||||
- Billing and website integration
|
||||
|
||||
## Discovered Modules
|
||||
|
||||
See [Module Reference](Module-Reference.md) for the current module inventory and the main files in each module.
|
||||
|
||||
## Notes
|
||||
|
||||
- `references/OGP/` contains upstream module documentation for comparison only.
|
||||
- When a module is unclear, document it as TODO instead of inventing behavior.
|
||||
33
OGP-Fork-Notes.md
Normal file
33
OGP-Fork-Notes.md
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# OGP Fork Notes
|
||||
|
||||
Game Server Panel is a fork of Open Game Panel.
|
||||
|
||||
## Reference Policy
|
||||
|
||||
- `references/OGP/` is read-only upstream reference material.
|
||||
- Use it to understand old behavior, then implement changes in GSP source only.
|
||||
- Do not edit, move, rename, or delete anything under `references/`.
|
||||
|
||||
## Confirmed Differences
|
||||
|
||||
- GSP has a dedicated `steam_workshop` module that is active in this workspace.
|
||||
- GSP also has a schema-level `workshop_support` block for XML game templates.
|
||||
- GSP has a bundled XML validation script for game configs.
|
||||
- GSP's Steam Workshop handling has been rewritten multiple times in the current history, including admin profile and server-settings work.
|
||||
- GSP's DayZ/Arma XML handling includes CDATA and validation cleanup that is not described in the older OGP wiki notes.
|
||||
|
||||
## Likely Differences That Need More Review
|
||||
|
||||
- Exactly which legacy OGP XML tags remain supported only for compatibility
|
||||
- Which modules have diverged from upstream beyond naming and rebranding
|
||||
- Which database schema differences are intentional versus historical leftovers
|
||||
|
||||
## Useful Upstream References
|
||||
|
||||
- `references/OGP/OGP-Website.wiki/XML-Notes.md`
|
||||
- `references/OGP/Module-Steam_Workshop/README.md`
|
||||
- `references/OGP/OGP-Website.wiki/Home.md`
|
||||
|
||||
## TODO
|
||||
|
||||
- Expand this page with a module-by-module diff once the source audit is complete.
|
||||
22
Release-Process.md
Normal file
22
Release-Process.md
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# Release Process
|
||||
|
||||
This is a first-pass release note, not a formal release playbook.
|
||||
|
||||
## Current Practical Steps
|
||||
|
||||
1. Finish the code or docs change.
|
||||
2. Validate the affected files.
|
||||
3. Review `git status`.
|
||||
4. Commit with a clear message.
|
||||
5. Review the result before pushing.
|
||||
|
||||
## Suggested Checks
|
||||
|
||||
- PHP syntax checks for modified PHP files
|
||||
- XML validation for changed game configs
|
||||
- Manual smoke testing of the affected module pages
|
||||
|
||||
## Notes
|
||||
|
||||
- No formal release automation was confirmed in the current source inspection.
|
||||
- Add a fuller process when the team standardizes one.
|
||||
35
Remote-Servers-and-Agents.md
Normal file
35
Remote-Servers-and-Agents.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# Remote Servers and Agents
|
||||
|
||||
GSP uses remote communication to control game servers through agents.
|
||||
|
||||
## Current Panel-Side Flow
|
||||
|
||||
- Panel modules build an action.
|
||||
- The Panel sends the action through its remote library.
|
||||
- The agent executes the request.
|
||||
- The Panel reads back status or logs.
|
||||
|
||||
## Important Source Areas
|
||||
|
||||
- `Panel/Panel/includes/lib_remote.php`
|
||||
- `Panel/Panel/modules/gamemanager/`
|
||||
- `Panel/Panel/modules/steam_workshop/`
|
||||
|
||||
## Confirmed Remote Methods Used In Workshop Paths
|
||||
|
||||
- `steam_cmd(...)`
|
||||
- `steam_workshop(...)`
|
||||
- `get_workshop_mods_info(...)`
|
||||
- `remote_writefile(...)`
|
||||
- `remote_readfile(...)`
|
||||
- `exec(...)`
|
||||
|
||||
## Agent Repositories
|
||||
|
||||
The agent code lives in the separate GSP agent repositories, not in the Panel wiki or the Panel source tree.
|
||||
|
||||
## Notes
|
||||
|
||||
- The Panel decides policy.
|
||||
- The agents execute trusted requests and report back.
|
||||
- Reference material under `references/OGP/` is read-only and should only be used to compare old behavior.
|
||||
41
Steam-and-Workshop.md
Normal file
41
Steam-and-Workshop.md
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
# Steam and Workshop
|
||||
|
||||
GSP keeps Steam Workshop behavior in the dedicated `steam_workshop` module.
|
||||
|
||||
## Current Module Scope
|
||||
|
||||
- User-facing Workshop installs and uninstalls
|
||||
- Workshop search and item lookup
|
||||
- Admin Workshop XML profile management
|
||||
- Copying Workshop configuration settings between XML files
|
||||
|
||||
## Important Paths
|
||||
|
||||
- `Panel/Panel/modules/steam_workshop/`
|
||||
- `Panel/Panel/modules/steam_workshop/game_configs/`
|
||||
- `Panel/Panel/modules/config_games/server_configs/`
|
||||
|
||||
## Confirmed Behavior
|
||||
|
||||
- The dedicated Workshop module is the active Workshop path in this workspace.
|
||||
- The admin copy feature copies configuration settings only.
|
||||
- Installed mods, mod folders, and game server files are not copied by that feature.
|
||||
- Blank `File Path` means config-file editing is skipped.
|
||||
|
||||
## Workshop Config Copy Rule
|
||||
|
||||
The copy source dropdown should use a safe XML filename value and the handler should validate that filename before reading from `game_configs/`.
|
||||
|
||||
## GSP Game XML Support
|
||||
|
||||
Current game XML includes a schema-level `workshop_support` block for Workshop-enabled templates.
|
||||
|
||||
See:
|
||||
|
||||
- [Game Template XML](Game-Template-XML.md)
|
||||
- [XML Schema and Validation](XML-Schema-and-Validation.md)
|
||||
|
||||
## Notes
|
||||
|
||||
- Do not move Workshop back into `addonsmanager`.
|
||||
- Treat `references/OGP/` as upstream reference code only.
|
||||
25
Troubleshooting.md
Normal file
25
Troubleshooting.md
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
# Troubleshooting
|
||||
|
||||
Use this page for fast triage.
|
||||
|
||||
## XML Problems
|
||||
|
||||
- If a game config fails to load, check `Panel/Panel/modules/config_games/schema_server_config.xml`.
|
||||
- Run the XML validation script.
|
||||
- Compare against `references/OGP/` only if you need upstream behavior.
|
||||
|
||||
## Workshop Problems
|
||||
|
||||
- If Workshop copy validation fails, verify the source is a safe XML filename under `Panel/Panel/modules/steam_workshop/game_configs/`.
|
||||
- If the module complains about a missing config file, check the destination XML file and path rules.
|
||||
- If blank `File Path` still tries to edit a game file, that is a bug.
|
||||
|
||||
## Remote and Agent Problems
|
||||
|
||||
- Confirm the agent is online.
|
||||
- Confirm the remote library can reach the server.
|
||||
- Confirm the requested action is still within the module's supported workflow.
|
||||
|
||||
## Notes
|
||||
|
||||
- When a problem seems to involve old OGP behavior, inspect the matching file under `references/OGP/` and fix the GSP code only.
|
||||
25
Users-and-Permissions.md
Normal file
25
Users-and-Permissions.md
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
# Users and Permissions
|
||||
|
||||
GSP permissions are split between admin users, regular users, and sub-users.
|
||||
|
||||
## Main Areas
|
||||
|
||||
- `Panel/Panel/modules/user_admin/`
|
||||
- `Panel/Panel/modules/subusers/`
|
||||
- `Panel/Panel/modules/register/`
|
||||
- `Panel/Panel/modules/lostpwd/`
|
||||
- `Panel/Panel/modules/reseller/`
|
||||
|
||||
## Practical Rules
|
||||
|
||||
- Admin-only pages should remain admin-only.
|
||||
- Workshop admin actions are restricted to admins.
|
||||
- User-facing modules should not expose reference material or privileged paths.
|
||||
|
||||
## Workshop Example
|
||||
|
||||
The dedicated Workshop admin page is admin-only and is used to manage Workshop XML config settings. It should not be used to expose installed mod files or reference code.
|
||||
|
||||
## TODO
|
||||
|
||||
- Add a fuller permission matrix once the source-side role handling is documented.
|
||||
55
XML-Schema-and-Validation.md
Normal file
55
XML-Schema-and-Validation.md
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
# XML Schema and Validation
|
||||
|
||||
This page explains where GSP validates XML and how to check changes safely.
|
||||
|
||||
## Current Validation Path
|
||||
|
||||
Primary files:
|
||||
|
||||
- `Panel/Panel/modules/config_games/schema_server_config.xml`
|
||||
- `Panel/Panel/modules/config_games/server_config_parser.php`
|
||||
- `Panel/Panel/modules/config_games/tests/validate_server_configs.php`
|
||||
- `Panel/Panel/includes/lib_remote.php`
|
||||
|
||||
## How Validation Works
|
||||
|
||||
- `read_server_config()` loads a game XML file and validates it against the bundled schema.
|
||||
- The validation test script loads every XML file in `server_configs/` and validates each one against the same schema.
|
||||
- XML parse failures and schema failures are treated as real errors, not warnings.
|
||||
|
||||
## How To Validate XML Changes
|
||||
|
||||
1. Edit the XML file in `Panel/Panel/modules/config_games/server_configs/`.
|
||||
2. Confirm the XML is well-formed.
|
||||
3. Run the bundled validation script:
|
||||
|
||||
```bash
|
||||
php Panel/modules/config_games/tests/validate_server_configs.php
|
||||
```
|
||||
|
||||
4. Fix any schema or parse errors before merging.
|
||||
|
||||
## GSP-Specific XML Findings
|
||||
|
||||
Confirmed from the current source:
|
||||
|
||||
- `workshop_support` is part of the schema.
|
||||
- `workshop_support` is positioned after `game_name` and before `server_exec_name`.
|
||||
- The schema includes explicit Workshop install strategy values.
|
||||
- The validation script is part of the current Panel tree, not just a reference note.
|
||||
|
||||
## Git History Notes
|
||||
|
||||
Searches in the current Panel history show several XML-related changes, including:
|
||||
|
||||
- `5a03946d...` `woekshop phase 1`
|
||||
- `69f415ad...` `feat(steam_workshop): production rewrite with full admin profile page and server settings`
|
||||
- `6d9cd28a...` `feat: Server Content Phase 2 - schema, cache mode setting, install history, manifest, requires_stop`
|
||||
- `de80f896...` `fix: wrap DayZ post_install scripts in CDATA, add XML editor auto-sanitizer`
|
||||
- `d564476d...` `feat: GSP 1.0 baseline - module versions, FAQ refresh, XML editor validation, Obsidian theme`
|
||||
|
||||
## Needs Verification
|
||||
|
||||
- The exact timeline of every XML tag addition
|
||||
- Whether any non-schema XML tags are intentionally accepted by runtime code
|
||||
- Whether additional validation exists in any module outside `config_games`
|
||||
Loading…
Add table
Add a link
Reference in a new issue