# Steam Workshop Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md) ## Purpose Dedicated Steam Workshop support for game servers. ## Current Status - Active in this repository checkout - User-facing Workshop module ## Dependencies - Steam Workshop DB helpers - legacy helper functions ## Database Tables - `steam_workshop_game_profiles` - `steam_workshop_server_mods` - `steam_workshop_server_settings` ## Agent Interaction - workshop download/update helpers ## User Workflow - open the Steam Workshop monitor button from Game Monitor - search by Workshop ID, Workshop URL, or keyword from the dedicated module - search results are scoped to the current game's configured Workshop App ID - select one or more search results with checkboxes and install them through the existing workflow - manual Workshop ID entry remains available as a fallback - install/update/uninstall Workshop items through the dedicated module ## Admin Workflow - configure Workshop game XML files under `Panel/modules/steam_workshop/game_configs/` - use `workshop_admin.php` for module administration - `File Path` and the regex/mod-string fields are optional - a blank `File Path` means post-install and uninstall scripts run without any automatic config-file editing - the admin page can copy configuration settings from one existing XML config into the currently selected game/OS config - copied settings include Workshop App ID, download method, anonymous login, paths, regex/config-edit fields, post-install script, and uninstall script - copied settings do not include installed mods, cached mod lists, game server files, or any files from a game home directory ## Search Backend - discovery is server-side in `Panel/modules/steam_workshop/main.php` - the panel searches Steam Community Workshop browse results for the current game App ID - result metadata is hydrated with `ISteamRemoteStorage/GetPublishedFileDetails` - no Steam API key is currently required for the user-facing search flow - selected result IDs and manual IDs are deduplicated before the existing install RPC runs ## UI Notes - the main Workshop page `Back` link is rendered as a real panel button - uninstall remains in the dedicated `steam_workshop` module ## Legacy RPC Behavior - the dedicated module still calls the legacy agent `steam_workshop` XML-RPC method - when `config/filepath` is blank, the Panel now passes an empty `config_file_path` - both agents skip the generated `cat` / regex / config-write block when `config_file_path` is blank - both agents still run custom post-install scripts and still write `WorkshopModsInfo` - uninstall falls back to `WorkshopModsInfo` when no config file is managed ## Security Concerns - should not be duplicated under `addonsmanager` ## Known Issues - some repository docs still describe this module as deprecated ## Missing Functionality - documentation cleanup so all references match the current module ownership ## Suggested Future Improvements - keep Workshop links and workflows isolated to this module - remove old addonsmanager Workshop assumptions ## Recommendation - Keep as the dedicated Workshop module