[Bug]: The Front never receives the friendly damage setting
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 1/5
- Tiempo estimado
- Menos de una hora
- Aptitud para principiantes
- 86/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- bash
- Área
- cli
Línea de trabajo
Lee lgsm/config-default/config-lgsm/tfserver/_default.cfg junto con la definición de startparameters en ese archivo; el issue señala la discrepancia en el nombre de la variable. Comprueba cómo se cargan las configuraciones predeterminada y de instancia, y luego verifica los parámetros de inicio expandidos con el harness de reproducción descrito en el issue. Se considera terminado cuando la configuración predeterminada produce -IsCanFriendDamage=true y un valor de instancia de damageallies="false" produce -IsCanFriendDamage=false.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Shell
- Estrellas
- 4.9k
- Forks
- 870
- Merge medio
- 18 h 44 min
- PR fusionados (30 d)
- 148
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de GameServerManagers/LinuxGSM
-
command: start distro: Debian engine: null game: Teamspeak 3 reproducible: always severity: low type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
GameServerManagers/LinuxGSM#5193 ·
Los mantenedores suelen responder en 1 día
-
bug(ins): server fails to start, srcds_run has CRLF line endings and needs bashPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertodistro: Ubuntu engine: source game: Insurgency status: fixed in develop
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
GameServerManagers/LinuxGSM#5153 ·
Los mantenedores suelen responder en 1 día
-
[Bug]: cs2server ignores the GSLT entered during installPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertocommand: install command: start distro: Debian engine: source2 game: Counter-Strike 2 regression: yes reproducible: always severity: high type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
GameServerManagers/LinuxGSM#5106 ·
Los mantenedores suelen responder en 1 día
-
[Bug]: A failed command exits with 0 when core_exit.sh is downloaded on exitPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertocommand: start distro: Debian engine: null game: Teamspeak 3 info: tmux reproducible: always severity: low status: fixed in develop type: bug
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
GameServerManagers/LinuxGSM#5191 ·
Los mantenedores suelen responder en 1 día
-
[Bug]: install passes a leftover forcedl value instead of each server's force settingPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertocommand: install info: steamcmd reproducible: unable severity: low status: fixed in develop type: bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 25/100
GameServerManagers/LinuxGSM#5189 ·
Los mantenedores suelen responder en 1 día
Todos los issues de GameServerManagers/LinuxGSM
Issues similares
-
Isha NarulaAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
dataplat/DataSpeakers#178 ·
-
[BUG] mo clean deletes Cypress test runner binaries in ~/Library/Caches/CypressPosiblemente ocupada @viniciusdsandrade la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Min. CMake job: CMAKE_POLICY_VERSION_MINIMUM is not passed for CMake 3.16 (follow-up to #358)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
enhancement security severity:low
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Battle-Cattle/BCUK-Bot-4#959 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
mattabate/life-distributable#153 ·
Los mantenedores suelen responder en 1 día