feat(csgoserver): support the standalone CS:GO client (App ID 4465480) with configurable runtimeappid and the NoLobbyReservation mod - #4963
Open
borzaka wants to merge 1 commit into
Conversation
…) with configurable runtimeappid and the NoLobbyReservation mod
Contributor
Author
|
The new client's store page: https://store.steampowered.com/app/4465480/CounterStrikeGlobal_Offensive/
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Valve re-released Counter-Strike: Global Offensive as a standalone Steam app (App ID 4465480) in March 2026. The dedicated server is still downloaded with App ID 740, but the standalone client only connects when the server runs with App ID 4465480 and the NoLobbyReservation SourceMod plugin is loaded. This PR adds that support to
csgoserverusing the existing LinuxGSM fix and mod mechanisms.Runtime App ID
runtimeappid="4465480"setting incsgoserver/_default.cfg(730keeps CS2csgo_legacybranch clients).appid="740"stays the SteamCMD download App ID.fix_csgo.shwritesruntimeappidintosteam_appid.txtandcsgo/steam.inf(appID=) before every start, so values reverted by SteamCMD update/validate are restored. The fix is idempotent, keeps the CRLF line endings ofsteam.inf, reports write errors and ignores the trailing NUL byte the server writes intosteam_appid.txt.install_gslt.sh) state that the token must be created using the App ID set inruntimeappid.Mods
nolobbyreservationmod (eldoradoel fork, required for standalone clients to connect), listed right after SourceMod. It is installed intocsgolike other mods (modsubdirs="NoLobbyReservation-master/csgo")..spsource.fn_mod_compile_sourcemod_plugincompiles it with the installed SourceModspcompinto the staged mod files before the file list is built, so the.smxis installed, updated and removed with the mod. A compile failure aborts the install.mods-installrequires SourceMod first (fn_mod_exist "sourcemod", same as AMX Mod X requiring Metamod).mods-updaterecompiles the plugin.modsubdirsnow also accepts a path; single-level values behave as before.mods-remove nolobbyreservationkeeps SourceMod's shared directories, includinggamedata.Mods are not installed automatically. Install order:
metamodsource→sourcemod→nolobbyreservation.Known limitation (pre-existing): with
updateonstartenabled, if SteamCMD rewritessteam.infduring the update-on-start, the runtime App ID is restored on the next start. This applies to all pre-start fixes (e.g. the existing libgcc fix).Fixes #4883
Type of change
Testing
Please list the exact validation you performed and the outcome.
./csgoserver install(SteamCMD download of App ID 740, GSLT prompt)./csgoserver mods-install:metamodsource,sourcemod,nolobbyreservation./csgoserver startmeta list,sm plugins list, client connection,update,validatesteam_appid.txtcontains4465480. The server rewrites the file as4465480\n\0; the trailing NUL byte caused a Bash warning (ignored null byte in input) infix_csgo.sh, fixed by stripping NUL bytes before comparing.csgo/steam.inffrom the App ID 740 depot uses CRLF line endings andappID=730; the fix replaces only the value and keeps the line ending.meta listsm plugins listupdate/validateand restart, still successful client connectionRisk and rollback
runtimeappid="730"incommon.cfgto restore the previous runtime App ID (and keep using the existing App ID 730 GSLT). Remove the plugin with./csgoserver mods-remove(nolobbyreservation).Breaking changes
No breaking changes.
Breaking changes included (describe below).
Existing
csgoserverinstances switch to runtime App ID 4465480 on the next start afterupdate-lgsm. GSLTs created for App ID 730 must be replaced with a GSLT created for App ID 4465480. CS2csgo_legacybranch (App ID 730) clients can no longer connect unlessruntimeappid="730"is set (incommon.cfg, as all instances shareserverfiles).SourceMod for CS:GO is now 1.12. Instances that already have SourceMod 1.13 installed should run
mods-remove(sourcemod),mods-install(sourcemod), thenmods-updateto recompile NoLobbyReservation.Documentation impact
Checklist
PR will not be merged until all steps are complete.
Documentation
runtimeappid, mod install order, NoLobbyReservation, SourceMod 1.12 for CS:GO)Thank you for your Pull Request!