# 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.