Skip to content

feat(workshop): add Steam Workshop downloads for Squad and Starbound - #5009

Merged
dgibbs64 merged 2 commits into
developfrom
feature/workshop-squad-starbound
Oct 11, 2026
Merged

dgibbs64 merged 2 commits into
developfrom
feature/workshop-squad-starbound

Conversation

@dgibbs64

@dgibbs64 dgibbs64 commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

Description

Extends the Workshop downloader from #5008 to Squad and Starbound. Neither dedicated server downloads Workshop mods itself.

Unlike Arma 3 and DayZ, Squad and Starbound Workshop items download anonymously, so no Steam account is needed beyond what the server already uses (Squad is anonymous; Starbound already needs steamuser).

Per-game install

  • Squad: each mod installs to SquadGame/Plugins/Mods/<id>. The server mounts every mod in that folder, so no config change is needed.
  • Starbound: each mod installs to serverfiles/workshop/@<id>, and its .pak files are linked into serverfiles/mods as workshop-<id>-contents.pak. Removing the mod removes its links.

Other changes

  • Safer clean-up: only folders LinuxGSM installed (those with a .lgsm-workshop state file) are ever removed. This matters for Squad, whose Plugins/Mods also holds the game's own CanadianArmedForces mod and any mods added by hand.
  • update, check-update and start now detect Workshop use from the saved mod list (lgsm/data/<instance>-workshop.txt), rather than from serverfiles/workshop. The list is removed once no Workshop mods are left, so update stops checking the Workshop.
  • workshopmods was added to the Squad and Starbound default configs, and workshop-update to their commands.

Testing

Live test servers, running this branch:

  • Starbound (workshopmods="3816094872", Vanilla Dungeons and Encounters, 27 MB):
    • Downloaded, installed and linked, then the server restarted.
    • starbound_server.log shows Detected asset source named 'nonffs_dungeons' at '../mods/workshop-3816094872-contents.pak' and Loading assets from that file.
  • Squad (workshopmods="3813515660", YM NoDrones), downloaded with an anonymous login:
    • The server log shows Successfully mounted and serialised mod: YM_NoDrones from Plugins/Mods/3813515660.
  • Removal on both:
    • Clearing workshopmods removed the mod (and the Starbound link) and restarted the server.
    • Squad's CanadianArmedForces was left in place.
    • Both servers stayed healthy throughout and were restored afterwards.
  • Locally:
    • A hand-added mod in Squad's Plugins/Mods is never touched.
    • The saved list is removed once no mods are left.
  • shellcheck and prettier pass.

Relates to #960 (Starbound Workshop support).

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 10, 2026 23:17
@dgibbs64 dgibbs64 added this to the v26.4.0 milestone Oct 10, 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: starbound Issues related to starbound engine engine: realvirtuality Issues related to realvirtuality engine engine: unreal4 Issues related to unreal4 engine engine: enfusion Issues related to enfusion engine game: Starbound Issues related to Starbound game: ARMA 3 Issues related to ARMA 3 game: Squad Issues related to Squad game: DayZ Issues related to DayZ labels Oct 10, 2026
@dgibbs64
dgibbs64 merged commit b516b9c into develop Oct 11, 2026
16 checks passed
@dgibbs64
dgibbs64 deleted the feature/workshop-squad-starbound branch October 11, 2026 10:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

engine: enfusion Issues related to enfusion engine engine: realvirtuality Issues related to realvirtuality engine engine: starbound Issues related to starbound engine engine: unreal4 Issues related to unreal4 engine game: ARMA 3 Issues related to ARMA 3 game: DayZ Issues related to DayZ game: Squad Issues related to Squad game: Starbound Issues related to Starbound type: feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants