Skip to content

Getting started with your Team Fortress 2 server

Configure a clean tf/cfg/server.cfg, set up RCON, and understand why a GSLT is optional for Team Fortress 2 rather than required.

Updated September 12, 2026
Team Fortress 2

Team Fortress 2 has been a dedicated-server game for nearly two decades. The standard server setup uses SRCDS (Source Dedicated Server) with SourceMod for plugins, MetaMod as the SourceMod prerequisite, and a custom map cycle.

This guide gets you online and through the core server config. Then branch out to the focused guides:

First Boot

  1. Open your TF2 server in the panel.

  2. Click Start.

  3. First boot pulls TF2 server files (about 20 GB), which takes 15 to 25 minutes.

  4. When you see Connection to Steam servers successful and VAC secure mode is activated, you are live.

To connect, open TF2, press the ` key (backtick) to open the console, and:

connect 203.0.113.10:27015
text

Configuration: server.cfg

TF2 server settings live in tf/cfg/server.cfg. A baseline:

hostname "My GSK TF2 Server"
sv_password ""
rcon_password "STRONG_RANDOM"

sv_region 1
sv_lan 0
sv_pure 0

sv_cheats 0
mp_friendlyfire 0
mp_autoteambalance 1
mp_autocrosshair 0
mp_falldamage 0

mp_timelimit 30
mp_winlimit 0
mp_maxrounds 5
mp_chattime 8

sv_maxrate 0
sv_minrate 30000
sv_maxupdaterate 67
sv_minupdaterate 67
sv_mincmdrate 67
sv_maxcmdrate 67
sv_client_min_interp_ratio 1
sv_client_max_interp_ratio 2

sv_alltalk 0
sv_pausable 0

sv_voiceenable 1
sv_allow_voice_from_file 0

sv_downloadurl ""
sv_allowdownload 1
sv_allowupload 1

mp_tournament_redteamname "RED"
mp_tournament_bluteamname "BLU"

motd_enabled 1
hostfile "motd.txt"

exec banned_user.cfg
exec banned_ip.cfg
writeid
writeip
tf/cfg/server.cfg
Setting Notes
hostname Server name
sv_password Empty for public, set for private
rcon_password RCON access (set a strong one)
sv_region 0=US East, 1=US West, 2=South America, 3=Europe, 4=Asia, 5=Australia, 6=Middle East, 7=Africa
sv_pure 0=anything goes, 1=consistency.txt enforced, 2=strict
mp_timelimit Minutes per map before rotation
sv_maxupdaterate/cmdrate 67 for competitive, 33 for casual (less bandwidth)
sv_downloadurl Web server URL for fast custom file downloads (see Maps and Fast Downloads)

No restart needed after a config edit

After editing, reload with exec server.cfg from the console, or restart the server.

Basic Admin (RCON Without SourceMod)

For simple admin without installing anything, connect with the rcon_password set above. Anyone with the password can issue commands from the in-game console:

rcon_password yourpassword
rcon <command>
text

This is enough for occasional admin (kick, changelevel, etc.). For a real admin system with a menu, per-admin permissions, bans, and player-facing commands, install SourceMod. See SourceMod Plugins.

The older tf/cfg/users.cfg method also exists but is superseded by SourceMod's admin system.

Steam Game Server Login Token (GSLT)

A GSLT is optional for Team Fortress 2, and most guides get this wrong. Valve's own patch notes, from the update that introduced the feature, are explicit:

Added the server command "sv_setsteamaccount" for logging in with a persistent game server account using a login token. […] Using a login token is not required to run a game server, but allows Steam users to continue to access your game server from their favorites list if your game server changes IP in the future.

A server with no token logs into an anonymous game-server account instead. It still registers with Steam, still runs VAC-secure, and still appears in the Community Server browser. The one thing you give up is IP portability: if the server's address ever changes, players' Favorites entries will not follow it.

The LAN-only restriction people warn about is a CS:GO rule, not a TF2 one

Valve restrict Counter-Strike servers without a token to LAN connections. No equivalent restriction has ever applied to TF2, and no TF2 patch note has ever made a token required for anything. If you have read that your TF2 server will be invisible without one, that advice was carried over from CS:GO.

There is no GSLT field in your Startup tab because the token can only be supplied on the server's command line, as +sv_setsteamaccount, and the engine reads it before any config file runs — putting it in server.cfg is too late, and the server logs Game server already logged into steam. You need to use the sv_setsteamaccount command earlier. If you want a token applied to your server, open a ticket and we will add it to the launch command.

Tokens are created at steamcommunity.com/dev/managegameservers against app ID 440. Valve's only statement on expiry is that a token which "goes unused for a long period of time (the game server never logs in) will expire" and can be regenerated there.

Performance

TF2 is CPU-bound. Higher tick rate (sv_maxupdaterate 67) doubles CPU use compared to 33. Most casual servers run at 67 today.

Backups

The map files, cfg, and SourceMod configs are the things to back up. Daily snapshots through the Backups tab on your Team Fortress 2 game server are plenty.

Common Issues

  • "VAC could not validate your session": A client-side issue, not the server. Tell players to restart Steam.
  • Server not showing in browser: not a GSLT problem — TF2 servers list fine without one. Check the server actually reached Steam (Connection to Steam servers successful. in the console), that sv_lan is 0, and that players are looking at the Community server browser rather than Casual, which is Valve matchmaking on Valve's own servers.
  • High ping after a TF2 update: Network frame settings sometimes reset. Verify sv_maxupdaterate and sv_maxcmdrate are still 67.

(For plugin-specific and map-download issues, see the dedicated guides linked below.)


Made with 💜 by GameServerKings

Need a Team Fortress 2 server?

Deploy an instantly-provisioned Team Fortress 2 server on high-clock hardware — DDoS protected, no contracts, cancel anytime.

From $5.40 /month