Panel/docs/modules/SERVER_CONTENT_MANAGER.md

70 lines
2.2 KiB
Markdown

# Server Content Manager
## Current State
`Panel/modules/addonsmanager` is the current home of GSP's Server Content / Add-ons / Workshop 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/workshop_content.php`
- `Panel/modules/addonsmanager/workshop_action.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_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
- workshop-oriented items
- config packs
- future profile-type content
For Workshop items, the current flow lets users enter IDs and routes the install through module pages and agent-side scripts.
## Current Limitations
- Workshop and content metadata is still partial.
- Load order and enable/disable behavior need a cleaner first-class model.
- Async install job progress should be more visible.
- Install strategies are still being broadened and need consistent game-specific rules.
- DayZ/Arma style key-copy and startup-param behavior needs a stronger canonical implementation.
- 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/workshop_content.php`
5. `Panel/modules/addonsmanager/workshop_action.php`
## Important Concept
This module is the right place for:
- mods
- add-ons
- Workshop content
- config packs
- script-driven installs
- server content manifests
- install history
The old `steam_workshop` module should be treated as a deprecated compatibility layer, not the main future path.