71 lines
1.9 KiB
Markdown
71 lines
1.9 KiB
Markdown
# 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 work.
|
|
|
|
The module title has already been moved toward `Server Content Manager`, but the schema and some folder names remain backward-compatible.
|
|
|
|
Important files:
|
|
|
|
- `Panel/modules/addonsmanager/module.php`
|
|
- `Panel/modules/addonsmanager/addons_manager.php`
|
|
- `Panel/modules/addonsmanager/user_addons.php`
|
|
- `Panel/modules/addonsmanager/server_content_helpers.php`
|
|
- `Panel/modules/addonsmanager/server_content_categories.php`
|
|
|
|
## Database Tables
|
|
|
|
Known tables used by the module:
|
|
|
|
- `addons`
|
|
- `server_content_workshop`
|
|
- `server_content_workshop_catalog`
|
|
- `server_content_manifest`
|
|
- `server_content_install_history`
|
|
|
|
## What It Already Does
|
|
|
|
The module can already represent several content types, including:
|
|
|
|
- downloads/extracted packages
|
|
- post-script driven installs
|
|
- config packs
|
|
- future profile-type content
|
|
|
|
Steam Workshop is no longer a user-facing Server Content category. Workshop access belongs to the dedicated `steam_workshop` module.
|
|
|
|
## Current Limitations
|
|
|
|
- Cache and cleanup policy need a clearer product design.
|
|
|
|
## Where To Start Reading
|
|
|
|
1. `Panel/modules/addonsmanager/module.php`
|
|
2. `Panel/modules/addonsmanager/addons_manager.php`
|
|
3. `Panel/modules/addonsmanager/user_addons.php`
|
|
4. `Panel/modules/addonsmanager/server_content_categories.php`
|
|
|
|
## Important Concept
|
|
|
|
This module is the right place for:
|
|
|
|
- mods
|
|
- add-ons
|
|
- config packs
|
|
- script-driven installs
|
|
- server content manifests
|
|
- install history
|
|
|
|
## Validation
|
|
|
|
Relevant smoke tests:
|
|
|
|
```bash
|
|
php Panel/modules/addonsmanager/tests/workshop_helpers_test.php
|
|
php Panel/modules/config_games/tests/validate_server_configs.php
|
|
```
|
|
|
|
`validate_server_configs.php` validates every XML file under `Panel/modules/config_games/server_configs/` against `schema_server_config.xml`.
|