[Bug]: The Front never receives the friendly damage setting
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 1/5
- 预计耗时
- 1 小时以内
- 新手友好度
- 86/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- bash
- 领域
- cli
调研方向
阅读 lgsm/config-default/config-lgsm/tfserver/_default.cfg,以及该文件中的 startparameters 定义;issue 指出了变量名不匹配的问题。检查默认配置和实例配置的载入方式,然后使用 issue 中描述的复现 harness 验证展开后的启动参数。完成标准是:默认设置产生 -IsCanFriendDamage=true,实例值 damageallies="false" 产生 -IsCanFriendDamage=false。
由索引模型根据 Issue 内容生成。
描述
Severity
severity: medium
Reproducibility
reproducible: always
Regression
regression: no
Affects latest release
latest-release: yes
User story
As a The Front server administrator, I want the friendly damage setting in the LinuxGSM config to reach the server, so that I can decide whether squadmates can damage each other.
Script name
tfserver
Game
The Front
Linux distro
Other
Command
command: start
Expected behavior
The server starts with -IsCanFriendDamage=true, the value the default config sets, and setting damageallies in the instance config changes it.
Actual behavior
Unless the instance config sets damageallies, the server starts with an empty value, -IsCanFriendDamage=. The damangeallies value from the default config is never used.
lgsm/config-default/config-lgsm/tfserver/_default.cfg defines the variable with a typo on line 22:
damangeallies="true"
but startparameters on line 36 reads a different name:
-IsCanFriendDamage=${damageallies}
damageallies is not set anywhere in LinuxGSM, so it expands to an empty string. The setting next to it, damageself="true" with -IsCanSelfDamage=${damageself}, is spelled the same in both places and works.
I could not find an official developer reference for IsCanFriendDamage, so I don't know how the game handles an empty value.
Further information
How it got here:
- 67472a82 (#4359, 2023-10-29) added The Front with
damangeallies="true"in_default.cfg. The start parameters already used-IsCanFriendDamage=${damageallies}, so the setting has never reached the server. - b133c444 (
fix(tf): update anticheat to UseEAC, 2025-03-08) is the last change to thestartparametersline. It did not touch this parameter. - The server request is #4335. The example start command in https://github.com/GameServerManagers/LinuxGSM/issues/4335#issuecomment-1762376303 includes
IsCanSelfDamage=0andIsCanFriendDamage=0. - v26.5.0 (2026-11-04) and
develop(c37014cf) still have the typo.
Neither damangeallies nor damageallies appears anywhere else in the repository, including the modules.
Workaround on current versions: set damageallies (correct spelling) in lgsm/config-lgsm/tfserver/tfserver.cfg. The start parameters use that name, so the value is passed. Copying the misspelled damangeallies from _default.cfg into common.cfg or the instance config has no effect.
When this is fixed, existing servers will be started with -IsCanFriendDamage=true unless their config sets damageallies="false".
Third-party hosting guides show IsCanFriendDamage=0 (off) as the value in the game's own server config. I could not confirm that in an official developer source.
This was found by code review of develop, not on a live server. I reproduced it with a Git Bash harness that copies the real config templates, sources them in the order linuxgsm.sh does (_default.cfg, common.cfg, secrets-common.cfg, tfserver.cfg, secrets-tfserver.cfg), and runs the real fn_reload_startparameters from linuxgsm.sh. The output is below.
Pre-checks
- I ran update and validate before reporting this issue.
Not applicable: found by code review of develop and reproduced with the harness above, not reported from a running server.
Relevant log output
# develop (c37014cf), expanded startparameters
defaults only -> IsCanSelfDamage=true | IsCanFriendDamage=
instance damageallies="false" -> IsCanSelfDamage=true | IsCanFriendDamage=false
instance damangeallies="false" (typo copied) -> IsCanSelfDamage=true | IsCanFriendDamage=
Steps to reproduce
- Install
tfserver. - Run
./tfserver details. - Under "Command-line Parameters", the start command contains
-IsCanFriendDamage=with no value, while-IsCanSelfDamage=trueis set. - Set
damangeallies="false"inlgsm/config-lgsm/tfserver/tfserver.cfgand run./tfserver detailsagain:-IsCanFriendDamage=is still empty.
🤖 Generated with Claude Code
- 主要语言
- Shell
- 星标
- 4.9k
- 派生
- 870
- 平均合并
- 18 小时 44 分钟
- 30 天内合并 PR
- 148
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
GameServerManagers/LinuxGSM 的其他 Issue
-
command: start distro: Debian engine: null game: Teamspeak 3 reproducible: always severity: low type: bug
难度 2/5 1-3 小时 新手友好度 76/100
GameServerManagers/LinuxGSM#5193 ·
维护者通常 1 天内回复
-
bug(ins): server fails to start, srcds_run has CRLF line endings and needs bash可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭distro: Ubuntu engine: source game: Insurgency status: fixed in develop
难度 2/5 1-3 小时 新手友好度 72/100
GameServerManagers/LinuxGSM#5153 ·
维护者通常 1 天内回复
-
[Bug]: cs2server ignores the GSLT entered during install可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭command: install command: start distro: Debian engine: source2 game: Counter-Strike 2 regression: yes reproducible: always severity: high type: bug
难度 2/5 1-3 小时 新手友好度 82/100
GameServerManagers/LinuxGSM#5106 ·
维护者通常 1 天内回复
-
[Bug]: A failed command exits with 0 when core_exit.sh is downloaded on exit可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭command: start distro: Debian engine: null game: Teamspeak 3 info: tmux reproducible: always severity: low status: fixed in develop type: bug
难度 3/5 1-2 天 新手友好度 35/100
GameServerManagers/LinuxGSM#5191 ·
维护者通常 1 天内回复
-
[Bug]: install passes a leftover forcedl value instead of each server's force setting可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭command: install info: steamcmd reproducible: unable severity: low status: fixed in develop type: bug
难度 1/5 1 小时以内 新手友好度 25/100
GameServerManagers/LinuxGSM#5189 ·
维护者通常 1 天内回复
查看 GameServerManagers/LinuxGSM 的全部 Issue
相似的 Issue
-
Isha Narula未关闭
难度 1/5 1 小时以内 新手友好度 72/100
dataplat/DataSpeakers#178 ·
-
[BUG] mo clean deletes Cypress test runner binaries in ~/Library/Caches/Cypress可能已有人在做 @viniciusdsandrade 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
-
enhancement security severity:low
难度 2/5 1-3 小时 新手友好度 83/100
Battle-Cattle/BCUK-Bot-4#959 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
mattabate/life-distributable#153 ·
维护者通常 1 天内回复