[GH-ISSUE #3416] Investigation in to quotes tmux and debug #2331

Open
opened 2026-02-27 03:02:18 +03:00 by kerem · 2 comments
Owner

Originally created by @dgibbs64 on GitHub (Mar 27, 2021).
Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/3416

With the recent issues relating to quotes in start parameters I want to better investigate quotes and how to correctly use them. I want to achieve more consistent results across both tmux and debug mode and across game servers.

Examples of issues

  • Arma3 has problems with debug and start either not loading multiple mods or not starting correctly. Different results for debug and tmux.
  • Some servers use escaped double quotes \" in start parameters (NS2, KF2,PZ)
  • Some use just double quotes " in start parameters (MOM)
  • most servers don't use any quotes which could cause issues for dirs that have spaces.

Currently, tmux uses quotes when it starts a new session

tmux new-session -d -x "${sessionwidth}" -y "${sessionheight}" -s "${sessionname}" "${preexecutable} ${executable} ${startparameters}"

When it was removed it caused a massive issue for many game servers

tmux new-session -d -x "${sessionwidth}" -y "${sessionheight}" -s "${sessionname}" ${preexecutable} ${executable} ${startparameters}

However, removing the quotes might actually be the correct way to do things. edit: tested using the sed command keeping quotes for tmux is definitely required

More research is needed and I would welcome any experts with tmux and quoting to give pointers on this one

Originally created by @dgibbs64 on GitHub (Mar 27, 2021). Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/3416 With the recent issues relating to quotes in start parameters I want to better investigate quotes and how to correctly use them. I want to achieve more consistent results across both tmux and debug mode and across game servers. Examples of issues - Arma3 has problems with debug and start either not loading multiple mods or not starting correctly. Different results for debug and tmux. - Some servers use escaped double quotes `\"` in start parameters (NS2, KF2,PZ) - Some use just double quotes `"` in start parameters (MOM) - most servers don't use any quotes which could cause issues for dirs that have spaces. Currently, tmux uses quotes when it starts a new session ``` tmux new-session -d -x "${sessionwidth}" -y "${sessionheight}" -s "${sessionname}" "${preexecutable} ${executable} ${startparameters}" ``` When it was removed it caused a massive issue for many game servers ``` tmux new-session -d -x "${sessionwidth}" -y "${sessionheight}" -s "${sessionname}" ${preexecutable} ${executable} ${startparameters} ``` However, removing the quotes might actually be the correct way to do things. edit: tested using the sed command keeping quotes for tmux is definitely required More research is needed and I would welcome any experts with tmux and quoting to give pointers on this one
Author
Owner

@dgibbs64 commented on GitHub (Mar 27, 2021):

I have just tested startparameters like so:

startparameters="\"-ip=${ip} -port=${port} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} -mod=${mods} -servermod=${servermods} -bepath=${bepath} -autoinit -loadmissiontomemory\""

with very good results for arma3 as is resolved the multi mods issue and worked consistently in both debug and tmux. Might be worth investigating this further

<!-- gh-comment-id:808746865 --> @dgibbs64 commented on GitHub (Mar 27, 2021): I have just tested startparameters like so: ``` startparameters="\"-ip=${ip} -port=${port} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} -mod=${mods} -servermod=${servermods} -bepath=${bepath} -autoinit -loadmissiontomemory\"" ``` with very good results for arma3 as is resolved the multi mods issue and worked consistently in both debug and tmux. Might be worth investigating this further
Author
Owner

@dgibbs64 commented on GitHub (Sep 28, 2021):

Look at using eval

<!-- gh-comment-id:929200935 --> @dgibbs64 commented on GitHub (Sep 28, 2021): Look at using eval
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#2331
No description provided.