[GH-ISSUE #3074] Easier way to override launch parameters #2172

Closed
opened 2026-02-27 03:01:18 +03:00 by kerem · 5 comments
Owner

Originally created by @mvaessen on GitHub (Oct 8, 2020).
Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/3074

Originally assigned to: @dgibbs64 on GitHub.

User Story

As a server hosting company, I want an easier method to setup custom launch parameters so that I can rely on the original LGSM files without having to make manual changes to support easy launch param overrides.

Further Information

In most cases people host a couple servers and it all works fine. But when using automated systems to generate the config.json file to override the _default.json settings you can not override the launch parameters without hacking into files.

Current situation:

fn_parms(){
parms="\"${defaultmap}?AltSaveDirectoryName=${defaultmap}?listen?MultiHome=${ip}?MaxPlayers=${maxplayers}?QueryPort=${queryport}?RCONPort=${rconport}?Port=${port}\""
}

Suggested outcome:

launchparameters="\"${defaultmap}?AltSaveDirectoryName=${defaultmap}?listen?MultiHome=${ip}?MaxPlayers=${maxplayers}?QueryPort=${queryport}?RCONPort=${rconport}?Port=${port}\""

fn_parms(){
parms="${launchparameters}"
}
Originally created by @mvaessen on GitHub (Oct 8, 2020). Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/3074 Originally assigned to: @dgibbs64 on GitHub. ## User Story As a server hosting company, I want an easier method to setup custom launch parameters so that I can rely on the original LGSM files without having to make manual changes to support easy launch param overrides. ## Further Information In most cases people host a couple servers and it all works fine. But when using automated systems to generate the `config.json` file to override the `_default.json` settings you can not override the launch parameters without hacking into files. Current situation: ``` fn_parms(){ parms="\"${defaultmap}?AltSaveDirectoryName=${defaultmap}?listen?MultiHome=${ip}?MaxPlayers=${maxplayers}?QueryPort=${queryport}?RCONPort=${rconport}?Port=${port}\"" } ``` Suggested outcome: ``` launchparameters="\"${defaultmap}?AltSaveDirectoryName=${defaultmap}?listen?MultiHome=${ip}?MaxPlayers=${maxplayers}?QueryPort=${queryport}?RCONPort=${rconport}?Port=${port}\"" fn_parms(){ parms="${launchparameters}" } ```
kerem 2026-02-27 03:01:18 +03:00
Author
Owner

@issue-label-bot[bot] commented on GitHub (Oct 8, 2020):

Issue-Label Bot is automatically applying the label type: feature request to this issue, with a confidence of 0.93. Please mark this comment with 👍 or 👎 to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

<!-- gh-comment-id:705770368 --> @issue-label-bot[bot] commented on GitHub (Oct 8, 2020): Issue-Label Bot is automatically applying the label `type: feature request` to this issue, with a confidence of 0.93. Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback! Links: [app homepage](https://github.com/marketplace/issue-label-bot), [dashboard](https://mlbot.net/data/GameServerManagers/LinuxGSM) and [code](https://github.com/hamelsmu/MLapp) for this bot.
Author
Owner

@dgibbs64 commented on GitHub (Dec 29, 2020):

I'm looking at how best to implement this and the change might break existing installs with custom parameters. So I will have to figure out a way to make sure the "legacy" fn_parms in common.cfg still works if needed. would be easy if I didn't need to think about existing installs XD

<!-- gh-comment-id:752075527 --> @dgibbs64 commented on GitHub (Dec 29, 2020): I'm looking at how best to implement this and the change might break existing installs with custom parameters. So I will have to figure out a way to make sure the "legacy" fn_parms in common.cfg still works if needed. would be easy if I didn't need to think about existing installs XD
Author
Owner

@mvaessen commented on GitHub (Dec 29, 2020):

Perhaps you can introduce a new function. If the legacy function's response is empty, and the new one exists and has a string you can be sure you are dealing with the new system.

If the legacy function returns a string and/or if the new function is missing you can be sure it's an old install.

<!-- gh-comment-id:752076961 --> @mvaessen commented on GitHub (Dec 29, 2020): Perhaps you can introduce a new function. If the legacy function's response is empty, and the new one exists and has a string you can be sure you are dealing with the new system. If the legacy function returns a string and/or if the new function is missing you can be sure it's an old install.
Author
Owner

@dgibbs64 commented on GitHub (Dec 29, 2020):

yeah, I have a core_legacy.sh module for backwards compatibility issues. I will create something it will just need a bit of testing extra care to make sure I don't break installs accidently.

<!-- gh-comment-id:752077916 --> @dgibbs64 commented on GitHub (Dec 29, 2020): yeah, I have a core_legacy.sh module for backwards compatibility issues. I will create something it will just need a bit of testing extra care to make sure I don't break installs accidently.
Author
Owner

@github-actions[bot] commented on GitHub (Jan 29, 2022):

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

<!-- gh-comment-id:1024756924 --> @github-actions[bot] commented on GitHub (Jan 29, 2022): This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
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#2172
No description provided.