Skip to content

feat(workshop): add Steam Workshop downloads for Barotrauma and Stationeers - #5014

Merged
dgibbs64 merged 2 commits into
developfrom
feature/workshop-barotrauma-stationeers
Oct 11, 2026
Merged

dgibbs64 merged 2 commits into
developfrom
feature/workshop-barotrauma-stationeers

Conversation

@dgibbs64

@dgibbs64 dgibbs64 commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

Description

Extends the Workshop downloader (#5008, #5009, #5012) to Barotrauma and Stationeers. Neither dedicated server downloads Workshop mods itself. Both download anonymously, so no Steam account is needed.

Per-game install

  • Stationeers: installs to serverfiles/mods/<id>. On start, the server adds every mod in that folder to modconfig.xml as an enabled <Local> entry, and drops entries for mods that are gone, so LinuxGSM doesn't edit modconfig.xml.
  • Barotrauma: installs to LocalMods/<id>. The server only loads mods listed in config_player.xml under <regularpackages> (ContentPackageManager.RegularPackagesElementName / RegularPackagesSubElementName in the game source), so LinuxGSM keeps a <package path="LocalMods/<id>/filelist.xml" /> entry for each Workshop mod, in workshopmods order.
    • Entries for mods you added yourself are left untouched.
    • When no Workshop mods are left, the element goes back to <regularpackages />.
    • If config_player.xml doesn't exist yet (the server has never started), LinuxGSM warns and skips the step.

Testing

Live servers, running this branch:

  • Stationeers (workshopmods="3813753764", Strom-Ofen electric furnace):
    • Installed to mods/3813753764, and after the restart the server wrote <Local Enabled="true"><Path Value="/data/serverfiles/mods/3813753764" /></Local> to modconfig.xml and loaded it.
    • After removal, the server removed the entry itself.
  • Barotrauma (workshopmods="3815618949", Diving Suit Slot):
    • Installed to LocalMods/3815618949 and added to <regularpackages>, and the server kept the entry across restarts.
    • Removal deleted the mod and its entry.
  • Both servers stayed healthy throughout and were restored afterwards.
  • Locally, Barotrauma's config_player.xml editing:
    • The self-closing element is expanded, and the result stays valid XML.
    • Order follows workshopmods.
    • A hand-added entry (with its comment) is kept.
    • Removed mods' entries are dropped.
    • An empty list goes back to <regularpackages />.
  • shellcheck and prettier pass.

Relates to #3514.

Type of change

  • Bug fix (a change which fixes an issue).
  • New feature (a change which adds functionality).
  • New Server (new server added).
  • Refactor (restructures existing code).
  • Comment update (typo, spelling, explanation, examples, etc).

Checklist

  • This pull request links to an issue.
  • This pull request uses the develop branch as its base.
  • This pull request subject follows the Conventional Commits standard.
  • This code follows the style guidelines of this project.
  • I have performed a self-review of my code.
  • I have checked that this code is commented where required.
  • I have provided a detailed enough description of this PR.
  • I have checked if documentation needs updating.

Documentation

Covered in GameServerManagers/LinuxGSM-Docs#132.

Copilot AI balanced review requested due to automatic review settings October 11, 2026 11:47
@dgibbs64 dgibbs64 added this to the v26.4.0 milestone Oct 11, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions github-actions Bot added type: feature New feature or request engine: unity3d Issues related to unity3d engine engine: barotrauma Issues related to barotrauma engine game: Stationeers Issues related to Stationeers game: Barotrauma Issues related to Barotrauma labels Oct 11, 2026
@dgibbs64
dgibbs64 merged commit f6eb8cd into develop Oct 11, 2026
16 checks passed
@dgibbs64
dgibbs64 deleted the feature/workshop-barotrauma-stationeers branch October 11, 2026 11:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

engine: barotrauma Issues related to barotrauma engine engine: unity3d Issues related to unity3d engine game: Barotrauma Issues related to Barotrauma game: Stationeers Issues related to Stationeers type: feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants