Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[Bug]: cs2server ignores the GSLT entered during install

Abierto Apto para principiantes
#5,106 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@borzaka ya está trabajando en esto.

Desde el 26/10/2026.

  • #5107 de @borzaka — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
82/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
bash, shell
Área
cli, game-dev

Línea de trabajo

Lee en lgsm/config-default/config-lgsm/cs2server/_default.cfg la sección alrededor de la definición de startparameters y compárala con el manejo de GSLT en otras configuraciones de servidores Source. Añade el argumento del token después de +exec ${selfname}.cfg, ya que las pruebas reportadas muestran que el orden importa. El trabajo estará terminado cuando una instalación nueva pase el token introducido al servidor y su consola inicie sesión en la cuenta de Steam gameserver con ese token.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

command: install command: start distro: Debian engine: source2 game: Counter-Strike 2 regression: yes reproducible: always severity: high type: bug
Severity

severity: high

Reproducibility

reproducible: always

Regression

regression: yes

Affects latest release

latest-release: yes

User story

As a CS2 server administrator, I want the GSLT I enter during install to be used by the server, so that players can join it from the internet.

Script name

cs2server

Game

Counter-Strike 2

Linux distro

Debian 12

Command

command: install, command: start

Expected behavior

The GSLT entered at the GSLT TOKEN: prompt during install (stored as gslt in lgsm/config-lgsm/cs2server/cs2server.cfg) is passed to the server, and the console shows:

Logging into Steam gameserver account with logon token 'XXXXXXXX...'
Actual behavior

The token is stored but never reaches the server. The server logs into an anonymous game server account and only accepts LAN connections:

*  No Steam account token was specified.           *
*  Logging into anonymous game server account.     *
*  Connections will be restricted to LAN only.     *
Further information

install_gslt.sh asks for the token, writes it to lgsm/config-lgsm/cs2server/cs2server.cfg and tells the user that the GSLT can be changed there. But the cs2server startparameters in lgsm/config-default/config-lgsm/cs2server/_default.cfg (line 24) never uses ${gslt}:

startparameters="-dedicated -ip ${ip} -port ${port} -maxplayers ${maxplayers} -authkey ${wsapikey} +exec ${selfname}.cfg"

No module passes the token on either: sv_setsteamaccount does not appear anywhere in lgsm/modules/. The other 11 Source servers with a GSLT (csgo, css, tf2, gmod, ...) all have +sv_setsteamaccount ${gslt} in their startparameters.

How it got here:

  • f33bfdf4 (2023-10-27): cs2server started with +sv_setsteamaccount ${gslt} in its start parameters.
  • 2fff61f4 (#4405, 2024-01-19): the parameters, including gslt, were moved into the game server config. The CS2 server.cfg template in Game-Server-Configs has an sv_setsteamaccount "" line. #4457 reported the missing parameters and was closed with "The CS2 start parameters were merged into the config file".
  • cac8b81a (2024-10-06): gslt="" was added back to the cs2server config, so the installer prompts for the token again (command_install.sh checks [ -v gslt ]). But it was not added back to startparameters, so the token entered at the prompt is ignored.

Today the token only works if it is also typed by hand into the sv_setsteamaccount line of serverfiles/game/csgo/cfg/cs2server.cfg. The installer does not mention this.

I tested where the parameter can go (fresh cs2server install, startparameters overridden in the instance config):

Test Token location Order Result
A LinuxGSM gslt +exec ${selfname}.cfg +sv_setsteamaccount ${gslt} logon token
B LinuxGSM gslt +sv_setsteamaccount ${gslt} +exec ${selfname}.cfg anonymous
C game server config only, gslt="" +exec ${selfname}.cfg +sv_setsteamaccount ${gslt} Usage: sv_setsteamaccount <login_token>, then logon token

B fails because the game server config template sets sv_setsteamaccount "", which clears a token set before it. Test A also shows that the Steam login happens after all command-line commands, even though the game server config contains a map line. Test C shows that an empty gslt only prints the usage line, so servers that set the token in the game server config keep working.

Suggested fix: add +sv_setsteamaccount ${gslt} after +exec ${selfname}.cfg. I will open a PR for it.

Pre-checks
  • I ran update and validate before reporting this issue.

Reproduced on a fresh install on Debian 12.15 (bookworm) x86_64.

Relevant log output
$ grep -A8 "SteamGameServer_Init" log/console/cs2server-console.log
SteamGameServer_Init() OK, logging on to Steam
****************************************************
*                                                  *
*  No Steam account token was specified.           *
*  Logging into anonymous game server account.     *
*  Connections will be restricted to LAN only.     *
*                                                  *
*  To create a game server account go to           *
*  http://steamcommunity.com/dev/managegameservers *
Steps to reproduce
  1. Run ./linuxgsm.sh cs2server and ./cs2server install, and enter a valid GSLT at the GSLT TOKEN: prompt.
  2. Check that lgsm/config-lgsm/cs2server/cs2server.cfg contains gslt="<token>".
  3. Run ./cs2server start.
  4. Run grep -E "logon token|anonymous game server" log/console/cs2server-console.log: the anonymous login banner is shown.
  5. Run ./cs2server details: the command-line parameters do not contain +sv_setsteamaccount.

🤖 Generated with Claude Code

Lenguaje dominante
Shell
Estrellas
4.9k
Forks
871
Merge medio
20 h 45 min
PR fusionados (30 d)
112

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de GameServerManagers/LinuxGSM

Todos los issues de GameServerManagers/LinuxGSM

Issues similares

Más issues de Shell/Bash

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.