[GH-ISSUE #3304] Add mod support (eg ISMC) as an option for Sandstorm Server #2283

Open
opened 2026-02-27 03:01:59 +03:00 by kerem · 4 comments
Owner

Originally created by @0xlord on GitHub (Feb 25, 2021).
Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/3304

User Story

As an upcoming Insurgency Sandstorm server owner, I want to have an option for lgsm to automatically deploy ISMC as a mod onto the gameserver so that installation will be simplified and especially beginner Ins:Sand server owners can set it up more easily. Also ISMC is becoming the driving force for Sandstorm which would solidify Linux with lgsm as a solid decision.

Basic info

  • Distro: [Ubuntu 20.04][Debian 9][CentOS 8]
  • Game: [Insurgency: Sandstorm]
  • Command: Maybe installflag?
  • LinuxGSM version: not implemented yet

Further Information

https://insurgencysandstorm.mod.io/ismcmod1
Mods are loaded through mod.io. It would be advisable to have further options for additional mods like Improved AI, server info, and maps:
https://insurgencysandstorm.mod.io/improvedai
https://insurgencysandstorm.mod.io/motdreworked
e.g. https://insurgencysandstorm.mod.io/sultan-of-drugs

Could imagine a config file which gets filled with either workshop or mod.io ids/links for downloading stuff and put onto the server as a complete new feature on supported gameservers.

Further Reading

Anything needed to know for mod installation on Sandstorm is added here: https://insurgencysandstorm.mod.io/guides/ismcmod-installation-guide

The mods/startmap needs to be loaded as startup argument. But this could be done by a config variable which needs to be set. This also could be a vanilla map as an easy default. Admins could change that to mod maps they've added.

A great documentation about how to add maps and include them is given by this map description: https://insurgencysandstorm.mod.io/sultan-of-drugs

Thanks for the work guys, let me know if I can be of any help.

Originally created by @0xlord on GitHub (Feb 25, 2021). Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/3304 ## User Story As an upcoming Insurgency Sandstorm server owner, I want to have an option for lgsm to automatically deploy ISMC as a mod onto the gameserver so that installation will be simplified and especially beginner Ins:Sand server owners can set it up more easily. Also ISMC is becoming the driving force for Sandstorm which would solidify Linux with lgsm as a solid decision. ## Basic info * **Distro:** [Ubuntu 20.04][Debian 9][CentOS 8] * **Game:** [Insurgency: Sandstorm] * **Command:** Maybe `installflag`? * **LinuxGSM version:** not implemented yet ## Further Information https://insurgencysandstorm.mod.io/ismcmod1 Mods are loaded through mod.io. It would be advisable to have further options for additional mods like Improved AI, server info, and maps: https://insurgencysandstorm.mod.io/improvedai https://insurgencysandstorm.mod.io/motdreworked e.g. https://insurgencysandstorm.mod.io/sultan-of-drugs Could imagine a config file which gets filled with either workshop or mod.io ids/links for downloading stuff and put onto the server as a complete new feature on supported gameservers. ## Further Reading Anything needed to know for mod installation on Sandstorm is added here: https://insurgencysandstorm.mod.io/guides/ismcmod-installation-guide The mods/startmap needs to be loaded as startup argument. But this could be done by a config variable which needs to be set. This also could be a vanilla map as an easy default. Admins could change that to mod maps they've added. A great documentation about how to add maps and include them is given by this map description: https://insurgencysandstorm.mod.io/sultan-of-drugs Thanks for the work guys, let me know if I can be of any help.
Author
Owner

@0xlord commented on GitHub (Feb 25, 2021):

Somehow the distro:CentOS tag wasn't set But I don't know it it is actually needed though..

<!-- gh-comment-id:786189316 --> @0xlord commented on GitHub (Feb 25, 2021): Somehow the distro:CentOS tag wasn't set But I don't know it it is actually needed though..
Author
Owner

@Verstand3n commented on GitHub (Mar 18, 2021):

I just went through the process of adding ISMC to my freshly installed lgsm INS server:
here is what I had to do:

add Mod.io token to Engine.ini as described here: https://docs.linuxgsm.com/game-servers/insurgency-sandstorm
add Mod.io ID for ISMC Stable (150867) to Mods.txt (also explained in the lgsm docs above)
add ISMC modname (ISMCarmory_legacy) to my startparameters in my instance.cfg at the end:
-mods ModDownloadTravelTo=${defaultmap}?Scenario=${defaultscenario}?Mutators=ISMCarmory_legacy
so the complete line, starting from _default.fg looks like this:
${defaultmap}?Scenario=${defaultscenario}?MaxPlayers=${maxplayers} -Port=${port} -QueryPort=${queryport} -hostname='${servername}' -log -mods ModDownloadTravelTo=${defaultmap}?Scenario=${defaultscenario}?Mutators=ISMCarmory_legacy

The documentation on hosting an ISS server with mods (or any changes for that matter) is not the best and it is not really explained in detail what the parameters do. Best infos I got so far was when talking to an ISS dev on the ISS discord and some ISMC people on their respective discord.
The above startparameters seem to work for me after doing some basic testing.

From my observations on a coop server it seems that only map variants played as security work. trying to confirm that in ISMC discord (/edit: They confirmed it). This took me a while to figure out and seriously sabotaged my testing (server starts with Sec map -> ISMC; mapchange to Insurgents map -> vanilla).
If my obervation is true I would suggest to use a custom MapCycle.txt that only holds Checkpoint_Security map variants if you are running a ISMC coop server like I do. If you have multiple instances you can use the startparameter:
-MapCycle=MyOtherMapCycle
(https://insurgencysandstorm.mod.io/guides/server-admin-guide -> MapCycle)

so hopefully some people can validate my findings and add whats missing.
Next step would be to add the information to the docs.
After the frustration I had with getting this working, looking at what combinations are possible with mods and thinking about how fast information changes for these configs/mods are outdated/broken I am really wondering if it is worth it to invest time into a deployment method for lgsm. especially since once you have the correct information you can deploy your INS ISMC server within a few minutes.

I am now gonna go look at more INS mods on mod.io to go ahead and break my server again :D

<!-- gh-comment-id:801835787 --> @Verstand3n commented on GitHub (Mar 18, 2021): I just went through the process of adding ISMC to my freshly installed lgsm INS server: here is what I had to do: add Mod.io token to Engine.ini as described here: https://docs.linuxgsm.com/game-servers/insurgency-sandstorm add Mod.io ID for ISMC Stable (150867) to Mods.txt (also explained in the lgsm docs above) add ISMC modname (ISMCarmory_legacy) to my startparameters in my instance.cfg at the end: `-mods ModDownloadTravelTo=${defaultmap}?Scenario=${defaultscenario}?Mutators=ISMCarmory_legacy` so the complete line, starting from _default.fg looks like this: `${defaultmap}?Scenario=${defaultscenario}?MaxPlayers=${maxplayers} -Port=${port} -QueryPort=${queryport} -hostname='${servername}' -log -mods ModDownloadTravelTo=${defaultmap}?Scenario=${defaultscenario}?Mutators=ISMCarmory_legacy` The documentation on hosting an ISS server with mods (or any changes for that matter) is not the best and it is not really explained in detail what the parameters do. Best infos I got so far was when talking to an ISS dev on the ISS discord and some ISMC people on their respective discord. The above startparameters seem to work for me after doing some basic testing. From my observations on a coop server it seems that only map variants played as security work. trying to confirm that in ISMC discord (/edit: They confirmed it). This took me a while to figure out and seriously sabotaged my testing (server starts with Sec map -> ISMC; mapchange to Insurgents map -> vanilla). If my obervation is true I would suggest to use a custom MapCycle.txt that only holds Checkpoint_Security map variants if you are running a ISMC coop server like I do. If you have multiple instances you can use the startparameter: `-MapCycle=MyOtherMapCycle` (https://insurgencysandstorm.mod.io/guides/server-admin-guide -> MapCycle) so hopefully some people can validate my findings and add whats missing. Next step would be to add the information to the docs. After the frustration I had with getting this working, looking at what combinations are possible with mods and thinking about how fast information changes for these configs/mods are outdated/broken I am really wondering if it is worth it to invest time into a deployment method for lgsm. especially since once you have the correct information you can deploy your INS ISMC server within a few minutes. I am now gonna go look at more INS mods on mod.io to go ahead and break my server again :D
Author
Owner

@BenColeAu commented on GitHub (Oct 29, 2023):

Following all of the above I'm having troubles getting my server to run Mods, I cannot see any download on the server side to get the mods to launch

<!-- gh-comment-id:1784027836 --> @BenColeAu commented on GitHub (Oct 29, 2023): Following all of the above I'm having troubles getting my server to run Mods, I cannot see any download on the server side to get the mods to launch
Author
Owner

@Antergosgeek commented on GitHub (May 1, 2025):

I am not seeing any downloads either. Did anyone ever get this to work. I followed all the instructions and generally my server works just can‘t get any mods from mod.io to work…

<!-- gh-comment-id:2843913687 --> @Antergosgeek commented on GitHub (May 1, 2025): I am not seeing any downloads either. Did anyone ever get this to work. I followed all the instructions and generally my server works just can‘t get any mods from mod.io to work…
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#2283
No description provided.