feat(tf2classified): add Team Fortress 2 Classified server#4898
Conversation
There was a problem hiding this comment.
Pull request overview
Adds LinuxGSM support for the Team Fortress 2 Classified dedicated server (appid 3557020) and introduces a two-stage SteamCMD install concept (download a required “base app” first, then the actual server app) to support servers that depend on another game’s files.
Changes:
- Add
tf2classifiedto the supported server list and install config handling. - Introduce
baseappidhandling in SteamCMD download flow to install base files intosupportdirfirst. - Add a new default config for
tf2classifiedserver(including start parameters and alert defaults).
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
| lgsm/modules/install_config.sh | Adds tf2classified handling for default config setup. |
| lgsm/modules/core_dl.sh | Adds SteamCMD download logic for optional baseappid installs. |
| lgsm/data/serverlist.csv | Registers the new tf2classified server entry. |
| lgsm/config-default/config-lgsm/tf2classifiedserver/_default.cfg | Introduces default config for the new server, including baseappid/supportdir and start parameters. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Add support for Team Fortress 2 Classified dedicated server (Steam appid 3557020). TF2 Classified requires the live TF2 server files (appid 232250) to be installed to a separate directory which is then passed to the server via the -tf_path parameter. Introduces a new baseappid config variable: when set, SteamCMD downloads the base app to supportdir first, then the main appid to serverfiles. Reference: https://wiki.tf2classic.com/wiki/Dedicated_Linux_server Co-authored-by: Daniel Gibbs <me@danielgibbs.co.uk>
…server Shorter, conventional name consistent with other Source mod servers (tfc, tf2, etc). The game directory is now tf2c, config dir tf2cserver, shortname tf2c. Also update startparameters game flag: -game tf2c
cp_badlands is a stock TF2 map. 4koth_frigid ships with the TF2C dedicated server files and does not require TF2 base content on the client.
The game's installed directory is tf2classified (not tf2c). Using -game tf2c created a secondary directory with hardcoded absolute paths in gameinfo.txt. Using tf2classified uses the proper install with |appid_440| tokens in gameinfo.txt.
- Move baseappid block before branch/betapassword checks so base app is always installed first when baseappid is set, regardless of whether branch/betapassword are also configured - Capture PIPESTATUS[0] after base app download and continue the retry loop on failure, preventing a failed base app install from being masked by a successful main app install - Add guard: fail with a clear message when baseappid is set but supportdir is empty/unset
31799b1 to
b346e68
Compare
|
Thanks for the work in fixing/adapting my original PR! I was using it on my server, and there was one day TF2 was updated, but TF2C wasn't. I tried running the update command but TF2C wouldn't update the base app. So I believe there may be some changes needed to the appmanifest update checking logic. Do you think an update to the steamcmd update logic is needed, to support updating the support app ID if it's updated? |
Description
Add support for Team Fortress 2 Classified dedicated server (Steam appid 3557020). TF2 Classified requires the live TF2 server files (appid 232250) to be installed to a separate directory which is then passed to the server via the
-tf_pathparameter.Introduces a new
baseappidconfig variable: when set, SteamCMD downloads the base app tosupportdirfirst, then the mainappidtoserverfiles. This avoids pollutingserverfileswith the base game's files.Finishes the work started in #4876 with the following fixes/additions:
_default.cfgcore_dl.shto use the current array-based command format (the original PR used the deprecated string-based format)tf2caftertf2inserverlist.csvandinstall_config.shfor consistencyReference: https://wiki.tf2classic.com/wiki/Dedicated_Linux_server
Fixes #4876
Type of change
Checklist
PR will not be merged until all steps are complete.
developbranch as its base.Documentation
If documentation does need updating either update it by creating a PR (preferred) or request a documentation update.