Alpha Game Server Manager

Dedicated server guide

Team Fortress 2

Manage teamfortress2 with AlphaGSM. Choose a runtime supported by the recorded module capabilities.

Recorded lifecycle pass · Support evidence: 2026-10-16.

Anonymous Workshop Process and Docker load passed for public dedicated-server content. Mod installation explains add, apply, and cleanup.

Build setup commands
Runtime familysteamcmd-linux

Declared runtimes: Docker or a Linux host process.

Network bindings

27015/UDP, 27015/TCP, 27016/UDP, 27020/UDP. Named port values remain unknown; review the game guide and configuration for additional requirements.

Mods and plugins

Declared curated families: metamod, prophunt, sourcemod. The optional sourcemod example installs its dependencies and applies the mod plan before launch. For Workshop content, use the setup builder with an actual game-compatible item ID; review supported content types in the guide. Anonymous Steam Workshop content for this module passed both process and Docker load. After setup, record an item with mod add workshop using a numeric ID or Steam Workshop URL, then run mod apply. Select a validated multiplayer map with set map workshop/ITEM_ID. Cosmetic uploads are rejected.

Backup hook

Backup hook support is unknown in this snapshot; review the game guide for backup and restore procedures.

Choose a supported runtime

Linux and Docker quickstart

Review the game guide for installation, account, licensing and runtime prerequisites before setup.

Docker

Complete interactive setup and review game-specific configuration before starting the server. Review the game guide for installation, account, licensing and runtime prerequisites before setup. Optional curated example: sourcemod. Omit all optional mod steps for a base server.

  1. Start the Docker manager ./alphagsm-docker start
  2. Create the game instance ./alphagsm-docker my-teamfortress2 create teamfortress2
  3. Complete interactive setup ./alphagsm-docker my-teamfortress2 setup
  4. Optional: add metamod # Optional curated mod: sourcemod; add metamod ./alphagsm-docker my-teamfortress2 mod add manifest metamod
  5. Optional: add sourcemod # Optional curated mod: sourcemod; add sourcemod ./alphagsm-docker my-teamfortress2 mod add manifest sourcemod
  6. Optional: apply the mod plan # Optional: apply the mod plan ./alphagsm-docker my-teamfortress2 mod apply
  7. Start the game server ./alphagsm-docker my-teamfortress2 start
  8. Check the instance status ./alphagsm-docker my-teamfortress2 status
./alphagsm-docker start
./alphagsm-docker my-teamfortress2 create teamfortress2
./alphagsm-docker my-teamfortress2 setup
# Optional curated mod: sourcemod; add metamod
./alphagsm-docker my-teamfortress2 mod add manifest metamod
# Optional curated mod: sourcemod; add sourcemod
./alphagsm-docker my-teamfortress2 mod add manifest sourcemod
# Optional: apply the mod plan
./alphagsm-docker my-teamfortress2 mod apply
./alphagsm-docker my-teamfortress2 start
./alphagsm-docker my-teamfortress2 status

Host process

Complete interactive setup and review game-specific configuration before starting the server. Review the game guide for installation, account, licensing and runtime prerequisites before setup. Optional curated example: sourcemod. Omit all optional mod steps for a base server.

  1. Create the game instance ./alphagsm my-teamfortress2 create teamfortress2
  2. Complete interactive setup ./alphagsm my-teamfortress2 setup
  3. Optional: add metamod # Optional curated mod: sourcemod; add metamod ./alphagsm my-teamfortress2 mod add manifest metamod
  4. Optional: add sourcemod # Optional curated mod: sourcemod; add sourcemod ./alphagsm my-teamfortress2 mod add manifest sourcemod
  5. Optional: apply the mod plan # Optional: apply the mod plan ./alphagsm my-teamfortress2 mod apply
  6. Check the host prerequisites ./alphagsm my-teamfortress2 doctor
  7. Start the game server ./alphagsm my-teamfortress2 start
  8. Check the instance status ./alphagsm my-teamfortress2 status
./alphagsm my-teamfortress2 create teamfortress2
./alphagsm my-teamfortress2 setup
# Optional curated mod: sourcemod; add metamod
./alphagsm my-teamfortress2 mod add manifest metamod
# Optional curated mod: sourcemod; add sourcemod
./alphagsm my-teamfortress2 mod add manifest sourcemod
# Optional: apply the mod plan
./alphagsm my-teamfortress2 mod apply
./alphagsm my-teamfortress2 doctor
./alphagsm my-teamfortress2 start
./alphagsm my-teamfortress2 status

This guide covers the teamfortress2 module in AlphaGSM.

The checked-in support tracker currently marks the canonical Team Fortress 2 surface as PASSED on the documented Ubuntu 24.04 Linux baseline under the tf2 module id. teamfortress2 is the package-backed canonical import surface behind that validated TF2 server path.

Requirements

The current AlphaGSM process integration requires Linux because it uses srcds_run and Linux Steam client libraries. Setup rejects incompatible hosts before downloading. Docker requires a Linux-container daemon, including when Docker runs on a Windows desktop. Installation still uses the Linux SteamCMD client on the manager host; run AlphaGSM itself in Linux or in the manager container for this setup path.

  • Optional screen or tmux; the subprocess backend is also available
  • SteamCMD runtime libraries (lib32gcc-s1, lib32stdc++6)
  • For source installations, Python packages from requirements-runtime.txt

Quick Start

Create the server:

alphagsm myteamfort create teamfortress2

Run setup:

alphagsm myteamfort setup

Start it:

alphagsm myteamfort start

Check it:

alphagsm myteamfort status

Stop it:

alphagsm myteamfort stop

Setup Details

Setup configures:

  • the game port (default 27015)
  • the install directory
  • SteamCMD downloads the server files

The native TF2 config lives at tf/cfg/server.cfg. AlphaGSM keeps the following values in sync through set:

  • set gamemap aliases map, startmap, and level
  • set servername updates the hostname entry in server.cfg
  • set rconpassword updates rcon_password
  • set serverpassword updates sv_password

Examples:

alphagsm myteamfort set gamemap --describe
alphagsm myteamfort set gamemap cp_dustbowl
alphagsm myteamfort set rconpassword secret

Useful Commands

alphagsm myteamfort update
alphagsm myteamfort update -r
alphagsm myteamfort backup

-r restarts after the SteamCMD update. -v validates the files. See Updating Servers And AlphaGSM.

Installing Mods

The supported path is AlphaGSM's checked-in manifest list. Add what you want, then apply it. The full operator guide is Installing Mods.

alphagsm myteamfort mod add manifest metamod
alphagsm myteamfort mod add manifest sourcemod
alphagsm myteamfort mod apply
alphagsm myteamfort mod list

sourcemod can be pinned to a registry channel such as 1.12. curated is still accepted as an alias for manifest. Files land under tf/addons/ and tf/cfg/. mod cleanup removes only AlphaGSM-owned addon files.

GameBanana and Mod DB ids/URLs are also accepted. Workshop maps use the engine's native loader described below.

mod add workshop-collection COLLECTION_ID also imports a collection snapshot. Both item and collection identifiers accept Steam Community Workshop URLs. Steam metadata must identify every item and nested collection as TF2 (AppID 440) before AlphaGSM saves additions.

Notes

  • Module name: teamfortress2
  • Default port: 27015

Server variables

After create teamfortress2, inspect or change these with set:

alphagsm myserver set --list
alphagsm myserver set KEY --describe
alphagsm myserver set KEY VALUE
Key Aliases Type What it does
dir — string Install directory for the server.
exe_name — string Server executable filename.
map gamemap, startmap, level, worldname string The currently selected map or level. Example: cp_dustbowl.
maxplayers users integer Maximum number of player slots. Example: 16.
port gameport integer The primary game port. Example: 27015.
rconpassword rconpass, querypassword, query_administrator_password string Remote console password for administrative access. Stored as a secret.
servername hostname, name string The server's public name shown to players. Example: AlphaGSM TF2 Server.
serverpassword sv_password, password string Password required for players to join the server. Stored as a secret.

Developer Notes

Run File

  • Executable: srcds_run
  • Location: <install_dir>/srcds_run
  • Engine: Custom (SteamCMD)
  • SteamCMD App ID: 232250

Server Configuration

Maps and Mods

  • Map directory: Check game documentation
  • Curated mod directories: tf/addons and tf/cfg
  • Curated mod examples: sourcemod, metamod
  • Workshop support: Native multiplayer maps with verified anonymous process and Docker activation.

Native Workshop multiplayer maps

alphagsm mytf2 mod add workshop 454299390
alphagsm mytf2 mod add workshop-collection YOUR_COLLECTION_ID
alphagsm mytf2 mod apply
alphagsm mytf2 set map workshop/454299390
alphagsm mytf2 start

Official Steam Community item/collection URLs also work. AlphaGSM validates AppID 440 and map-mode metadata, then configures the engine's native tf_workshop_map_sync commands in tf/cfg/alphagsm_workshop.cfg. Cosmetic uploads are rejected. Native Workshop map names are workshop/ITEM_ID; the engine resolves the full map name and downloads the current map itself. No Steam account token or Workshop API key is supplied. The existing curated map and addon commands stay available. See Valve's native map-loader update. AlphaGSM supplies an absolute -ugcpath under the install's steamapps/workshop directory while native Workshop maps are enabled. Docker uses the mounted container path and the host user's identity, with a private writable HOME and Steam library metadata that identifies both dedicated-server app 232250 and Workshop consumer app 440. Native download readiness still needs to be confirmed by the engine. TF2 containers also use Docker's init process so Steam crash uploaders are reaped independently of the console relay. With util-linux 2.39.3, an orphaned uploader exiting while script is PID 1 can enter an incorrect child-wait loop and freeze console forwarding even though the game and Workshop transfer remain alive. See the upstream child-wait implementation.

Apply while stopped. AlphaGSM refuses a preexisting unowned sync configuration and externally edited managed files. mod cleanup removes only its unchanged sync configuration; engine-managed Workshop caches and the operator's selected map setting remain. Choose an ordinary installed map before restarting after cleanup if you want to stop playing the Workshop map.

The public cp_orange_x3 fixture was verified as AppID 440 on 2026-10-13. The complete process lifecycle passed on 2026-10-13 with real A2S and fresh native mount evidence. The normal stop-timeout fallback was used before shutdown verification; owned configuration cleanup also passed. Its opt-in check requires actual custom-map A2S responses together with a fresh tf_workshop_map_status row marking the exact item and canonical .ugcITEM_ID map ready, and a fresh console status showing that same canonical map running. The check first requests tf_workshop_map_sync and waits for native ready status before sending changelevel, which otherwise blocks the engine's command loop while a download is pending. Both download and execution checks share a ten-minute deadline, and each console probe uses a new response token. Smoke waits up to 15 seconds for that token's complete response before replacing it, so delayed Screen log writes cannot make it abandon every valid response. A failed Docker check includes bounded native Steam Workshop/content log tails and the managed library mapping for diagnosis. CI run 38748333313 passed both process and Docker lifecycle and Workshop integration cases on 2026-10-15, including exact canonical ready/current-map evidence and real A2S. The bounded response wait correction passed the complete Screen Workshop smoke case in run 38775144746 on PR head 6a446839, including fresh native ready/current-map frames, real A2S, shutdown and configuration cleanup. The same run retained passing process and Docker native Workshop integrations. A pending workshop/ITEM_ID advertisement cannot satisfy it. TF2 resolves its Workshop BSP through Steam's native item-install API rather than requiring the item directory in the engine's search paths. The check also requires full CLI shutdown and configuration cleanup.

ALPHAGSM_WORK_DIR=/path/on/large/disk \
ALPHAGSM_RUN_INTEGRATION=1 ALPHAGSM_RUN_STEAMCMD=1 \
ALPHAGSM_RUN_TF2_WORKSHOP=1 \
python3 -m pytest tests/integration_tests/test_tf2.py -k workshop

ALPHAGSM_WORK_DIR=/path/on/large/disk TF2_WORKSHOP_ITEM=454299390 \
make smoke-test SMOKE_TEST=run_tf2.sh

A collection override uses ALPHAGSM_TF2_WORKSHOP_COLLECTION; select its test map with ALPHAGSM_TF2_WORKSHOP_LOAD_ITEM and ALPHAGSM_TF2_WORKSHOP_MAP. Smoke accepts TF2_WORKSHOP_COLLECTION, TF2_WORKSHOP_LOAD_ITEM, and TF2_WORKSHOP_MAP. Process and Docker validation above ran in GitHub CI.

Configuration templates

Reference files from this source revision. Review paths, passwords and game-specific settings before use.

Share your server

Sector Alpha server directory

When your server is ready, you can publish its connection details and community information on Sector Alpha. Review your listing and keep the information current.

Find a community

Browse the directory for game servers and their published connection details.

Browse server directory

Publish your server

Prepare a name, address and description for your listing.

Publish a server

Manual server sharing instructions

Frequently asked questions

What support evidence is recorded for Team Fortress 2?

Recorded lifecycle pass. Review the game guide for installation, account, licensing and runtime prerequisites before setup.

Which runtimes can run Team Fortress 2?

Declared runtimes: Docker or a Linux host process.

Which ports does Team Fortress 2 use?

27015/UDP, 27015/TCP, 27016/UDP, 27020/UDP. Named port values remain unknown; review the game guide and configuration for additional requirements.

Can I add mods to Team Fortress 2?

Declared curated families: metamod, prophunt, sourcemod. The optional sourcemod example installs its dependencies and applies the mod plan before launch. For Workshop content, use the setup builder with an actual game-compatible item ID; review supported content types in the guide. Anonymous Steam Workshop content for this module passed both process and Docker load. After setup, record an item with mod add workshop using a numeric ID or Steam Workshop URL, then run mod apply. Select a validated multiplayer map with set map workshop/ITEM_ID. Cosmetic uploads are rejected.

How should I back up Team Fortress 2?

Backup hook support is unknown in this snapshot; review the game guide for backup and restore procedures.

Source and support evidence

This guide mirrors AlphaGSM’s upstream documentation at 32cef5ba9e03053c8e461fffa0ba133b160b528d. Commands and prerequisites can change. Check current support notes before installation.

All game guides