3.1 KiB
3.1 KiB
Steam Workshop
Workspace reference: 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_profilessteam_workshop_server_modssteam_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.phpfor module administration File Pathand the regex/mod-string fields are optional- a blank
File Pathmeans 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
Backlink is rendered as a real panel button - uninstall remains in the dedicated
steam_workshopmodule
Legacy RPC Behavior
- the dedicated module still calls the legacy agent
steam_workshopXML-RPC method - when
config/filepathis blank, the Panel now passes an emptyconfig_file_path - both agents skip the generated
cat/ regex / config-write block whenconfig_file_pathis blank - both agents still run custom post-install scripts and still write
WorkshopModsInfo - uninstall falls back to
WorkshopModsInfowhen 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