Panel/docs/features/WORKSHOP_SYSTEM.md

53 lines
1.4 KiB
Markdown

# Workshop System
## Current State
The current Workshop/content work is split across two module lines:
- `Panel/modules/steam_workshop` - deprecated compatibility layer
- `Panel/modules/addonsmanager` - the active Server Content Manager path
Important files:
- `Panel/modules/addonsmanager/module.php`
- `Panel/modules/addonsmanager/user_addons.php`
- `Panel/modules/addonsmanager/addons_manager.php`
- `Panel/modules/addonsmanager/workshop_content.php`
- `Panel/modules/addonsmanager/workshop_action.php`
- `Panel/modules/steam_workshop/module.php`
- `Panel/modules/steam_workshop/agent_update_workshop.php`
## What Exists Today
The current direction already supports:
- content records in the Panel database
- Workshop item IDs
- installation metadata
- install history tables
- game compatibility fields
- launch parameter additions
- post-install behavior fields
## Main Limitations
- Workshop metadata is still incomplete.
- load order is not yet a full first-class UX concept.
- update/uninstall/enable/disable flows need a cleaner product model.
- DayZ/Arma-specific folder and key-copy behavior needs a stronger canonical path.
- caching and cleanup policy need product-level design, not just ad hoc scripts.
## Recommended Mental Model
Use `addonsmanager` as the main future home for:
- mods
- add-ons
- Workshop items
- scripts
- config packs
- server content manifests
- install history
Treat `steam_workshop` as a legacy bridge for migration only.