[PR #4186] Feature/Steam Workshop support #4254

Open
opened 2026-02-27 04:54:26 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/GameServerManagers/LinuxGSM/pull/4186
Author: @FliesWithWind
Created: 4/11/2023
Status: 🔄 Open

Base: developHead: feature/workshop-support


📝 Commits (10+)

  • 3dc76a2 Initial Steam Workshop code
  • 00baf3e Fixies & cleanup
  • 053af83 Delete add-to-project.yml
  • c2a66e5 Remove arma from mods module
  • 3f59154 Merge branch 'feature/workshop-support' of github.com:FliesWithWind/LinuxGSM into feature/workshop-support
  • feab479 Initial Steam Workshop code
  • 8a0fcfe Fixies & cleanup
  • 2c3b9db Remove arma from mods module
  • c81d339 Cleanup and styleup
  • b79a1bf Merge branch 'feature/workshop-support' of github.com:FliesWithWind/LinuxGSM into feature/workshop-support

📊 Changes

6 files changed (+438 additions, -0 deletions)

View changed files

📝 lgsm/config-default/config-lgsm/arma3server/_default.cfg (+7 -0)
lgsm/functions/command_workshop_install.sh (+46 -0)
lgsm/functions/command_workshop_update.sh (+36 -0)
📝 lgsm/functions/core_functions.sh (+22 -0)
📝 lgsm/functions/core_getopt.sh (+9 -0)
lgsm/functions/workshop_core.sh (+318 -0)

📄 Description

Description

For a while, I had a horrible but working script for downloading and updating Arma 3 mods from Steam Workshop. I figured it was about time I try adding it to LinuxGSM. The script was based on https://github.com/arkmanager/ark-server-tools

Changes in this PR are working, but are far from being pretty or complete in my opinion. I'm no bash magician, so I wanted to show it as it is, hoping for an initial review and suggestions.

I've added it as a separate module, to avoid conflicts with the current mods module.
For now, it downloads mods for Arma 3 taken from the server config file.

workshopmods="450814997;2131302796"

Once we reach a working and pretty solution, the next steps would be to add support for other games, like Arc and Starboud, and add Steam Collections support.

Fixes #[3514] #[1894] #[1623] #[960]

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

PR will not be merged until all steps are complete.

  • 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

Documentation will definitely need an update, once this is ready for merge. :)


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/GameServerManagers/LinuxGSM/pull/4186 **Author:** [@FliesWithWind](https://github.com/FliesWithWind) **Created:** 4/11/2023 **Status:** 🔄 Open **Base:** `develop` ← **Head:** `feature/workshop-support` --- ### 📝 Commits (10+) - [`3dc76a2`](https://github.com/GameServerManagers/LinuxGSM/commit/3dc76a2434c1d980ddf5bccacc2f9f5938690c62) Initial Steam Workshop code - [`00baf3e`](https://github.com/GameServerManagers/LinuxGSM/commit/00baf3e711aa69c385700d9eba2c01b32016f608) Fixies & cleanup - [`053af83`](https://github.com/GameServerManagers/LinuxGSM/commit/053af83169d9df61fce851ddab2126db73f278d6) Delete add-to-project.yml - [`c2a66e5`](https://github.com/GameServerManagers/LinuxGSM/commit/c2a66e5cd3d6e6290d400986f1eba99cf2ff43df) Remove arma from mods module - [`3f59154`](https://github.com/GameServerManagers/LinuxGSM/commit/3f59154d5bbb81d7c1683c8bdbae0e8f692cc54d) Merge branch 'feature/workshop-support' of github.com:FliesWithWind/LinuxGSM into feature/workshop-support - [`feab479`](https://github.com/GameServerManagers/LinuxGSM/commit/feab479018e421beba8f4845c38109a2e60d3fc4) Initial Steam Workshop code - [`8a0fcfe`](https://github.com/GameServerManagers/LinuxGSM/commit/8a0fcfed123bdab6bcca8bb58bc7339b4395372a) Fixies & cleanup - [`2c3b9db`](https://github.com/GameServerManagers/LinuxGSM/commit/2c3b9dbe77b72ef627caac89fd8e983fdcc75bfa) Remove arma from mods module - [`c81d339`](https://github.com/GameServerManagers/LinuxGSM/commit/c81d339a925d2050014e7f7b38a6cdb577cec105) Cleanup and styleup - [`b79a1bf`](https://github.com/GameServerManagers/LinuxGSM/commit/b79a1bfbbd5829bdbbc55951694e4d90ae62f4f1) Merge branch 'feature/workshop-support' of github.com:FliesWithWind/LinuxGSM into feature/workshop-support ### 📊 Changes **6 files changed** (+438 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `lgsm/config-default/config-lgsm/arma3server/_default.cfg` (+7 -0) ➕ `lgsm/functions/command_workshop_install.sh` (+46 -0) ➕ `lgsm/functions/command_workshop_update.sh` (+36 -0) 📝 `lgsm/functions/core_functions.sh` (+22 -0) 📝 `lgsm/functions/core_getopt.sh` (+9 -0) ➕ `lgsm/functions/workshop_core.sh` (+318 -0) </details> ### 📄 Description # Description For a while, I had a horrible but working script for downloading and updating Arma 3 mods from Steam Workshop. I figured it was about time I try adding it to LinuxGSM. The script was based on https://github.com/arkmanager/ark-server-tools Changes in this PR are working, but are far from being pretty or complete in my opinion. I'm no bash magician, so I wanted to show it as it is, hoping for an initial review and suggestions. I've added it as a separate module, to avoid conflicts with the current mods module. For now, it downloads mods for Arma 3 taken from the server config file. ``` workshopmods="450814997;2131302796" ``` Once we reach a working and pretty solution, the next steps would be to add support for other games, like Arc and Starboud, and add Steam Collections support. Fixes #[3514] #[1894] #[1623] #[960] ## Type of change - [ ] Bug fix (a change which fixes an issue). - [x] New feature (a change which adds functionality). - [ ] New Server (new server added). - [ ] Refactor (restructures existing code). - [ ] Comment update (typo, spelling, explanation, examples, etc). ## Checklist PR will not be merged until all steps are complete. - [x] This pull request links to an issue. - [x] This pull request uses the `develop` branch as its base. - [x] This pull request subject follows the Conventional Commits standard. - [x] This code follows the style guidelines of this project. - [x] I have performed a self-review of my code. - [ ] I have checked that this code is commented where required. - [x] I have provided a detailed enough description of this PR. - [x] I have checked if documentation needs updating. ## Documentation Documentation will definitely need an update, once this is ready for merge. :) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No labels
Atomic
Epic
cannot reproduce
command: backup
command: console
command: debug
command: details
command: fast-dl
command: install
command: mods
command: monitor
command: post-details
command: restart
command: send
command: start
command: stop
command: update
command: update-lgsm
command: validate
command: wipe
distro: AlmaLinux
distro: Arch Linux
distro: CentOS
distro: Debian
distro: Fedora
distro: RedHat
distro: Rocky Linux
distro: Ubuntu
distro: openSUSE
engine: goldsrc
engine: source
game: 7 Days to Die
game: ARMA 3
game: Ark: Survival Evolved
game: Assetto Corsa
game: Avorion
game: BATTALION: Legacy
game: Barotrauma
game: Battalion 1944
game: Battlefield 1942
game: Black Mesa: Deathmatch
game: Blade Symphony
game: Call of Duty 2
game: Call of Duty 4
game: Call of Duty: United Offensive
game: Counter-Strike 1.6
game: Counter-Strike 2
game: Counter-Strike: Global Offensive
game: Counter-Strike: Source
game: Day of Infamy
game: Dayz
game: Death Match Classic
game: Don't Starve Together
game: ET: Legacy
game: Eco
game: Factorio
game: Factorio
game: Garry's Mod
game: Half-Life
game: Hurtword
game: Insurgecy
game: Insurgecy
game: Insurgency: Sandstorm
game: Just Cause 3
game: Killing Floor
game: Killing Floor 2
game: Left 4 Dead 2
game: Minecraft
game: Minecraft Bedrock
game: Mordhau
game: Multi Theft Auto
game: Mumble
game: Natural Selection 2
game: No More Room in Hell
game: Pavlov VR
game: Post Scriptum
game: Project Zomboid
game: Quake 3
game: QuakeWorld
game: Red Orchestra: Ostfront 41-45
game: Return to Castle Wolfenstein
game: Rising World
game: Rust
game: San Andreas Multiplayer
game: Satisfactory
game: Soldat
game: Soldier of Fortune 2
game: Squad
game: Squad 44
game: Starbound
game: Stationeers
game: Sven Co-op
game: Team Fortress 2
game: Teamspeak 3
game: Teeworlds
game: Terraria
game: The Front
game: Unreal Tournament 2004
game: Unreal Tournament 3
game: Unreal Tournament 99
game: Unturned
game: Valheim
game: Wurm Unlimited
game: Zombie Master Reborn
game: label missing
good first issue
help wanted
info: alerts
info: dependency
info: docker
info: docs
info: email
info: query
info: steamcmd
info: systemd
info: tmux
info: website
info: website
needs more info
outcome: duplicate
outcome: issue resolved
outcome: issue resolved
outcome: issue unresolved
outcome: pr accepted
outcome: pr rejected
outcome: unconfirmed
outcome: wontfix
outcome: wrong forum
potential-duplicate
priority
pull-request
type: bug
type: feature
type: feature
type: feature request
type: game server request
type: refactor
waiting response
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/LinuxGSM#4254
No description provided.