SelfServr Guide
Team Fortress 2 Dedicated Server Setup
How to get a Team Fortress 2 dedicated server running on your own machine, from downloading the server files to starting it up.
1. Get the server files
Team Fortress 2's dedicated server is distributed through Valve's SteamCMD tool, under Steam app ID 232250. If you don't have SteamCMD installed yet, follow our SteamCMD installation guide first.
From a SteamCMD prompt (or as command-line arguments), run:
force_install_dir "C:\GameServers\TF2" login anonymous app_update 232250 validate quit
A handful of dedicated-server tools require a Steam account that owns the base game instead of an anonymous login. If login anonymous is rejected, replace it with login <your-steam-username> and enter your password when prompted.
2. Required ports
Forward these ports to the server machine's local IP address on your router, and allow them through the server's firewall. See the port forwarding guide for how.
3. Start the server
Windows
srcds.exe -console -game tf +map cp_dustbowl +maxplayers 24
Linux
./srcds_run -game tf +map cp_dustbowl +maxplayers 24
Run this from the install directory, adjusting the map and player count.
4. Save it as a script (optional, but recommended)
Saving the commands above as scripts means starting and updating the server is a single double-click instead of retyping them, and it's what lets Task Scheduler or systemd start the server for you -- see keeping it running 24/7.
Start script
Windows -- start-server.bat
@echo off cd /d "%~dp0" srcds.exe -console -game tf +map cp_dustbowl +maxplayers 24
Linux -- start-server.sh
#!/bin/bash cd "$(dirname "$0")" || exit 1 ./srcds_run -game tf +map cp_dustbowl +maxplayers 24
Make it executable once with chmod +x start-server.sh.
Save either script in the same folder as the server executable -- %~dp0 (Windows) and $(dirname "$0") (Linux) both mean "wherever this script itself lives", so it works regardless of the exact path you installed to.
Update script
Adjust the SteamCMD path below if yours isn't at C:\steamcmd:
Windows -- update-server.bat
@echo off C:\steamcmd\steamcmd.exe +force_install_dir "C:\GameServers\TF2" +login anonymous +app_update 232250 validate +quit
Linux -- update-server.sh
#!/bin/bash steamcmd +force_install_dir "/home/steam/GameServers/TF2" +login anonymous +app_update 232250 validate +quit
Adjust the install path above to wherever you actually want the server on your Linux machine -- it's shown as an example, not a requirement.
5. Generate a config file
Use the Team Fortress 2 config generator to fill in server name, password, max players and more, and download a ready-to-use server.cfg.
Open the Team Fortress 2 config generator →Keep it running
Once your Team Fortress 2 server is working, see our guide on keeping it running 24/7 so it survives a reboot or crash without you needing to start it by hand.
Frequently asked questions
How do I install a Team Fortress 2 dedicated server?
Download it with SteamCMD using Steam app ID 232250, then run it from the install directory. See "Get the server files" and "Start the server" above for the exact commands.
What port does a Team Fortress 2 server use?
UDP 27015 by default, forwarded to the server machine's local IP address. See the port forwarding guide for how.
How do I configure a Team Fortress 2 server?
Use the Team Fortress 2 config generator to fill in server name, password, max players and more, and download a ready-to-use server.cfg.
How do I keep a Team Fortress 2 server running?
Set it up as a Windows Task Scheduler task or a Linux systemd service so it survives a reboot or crash without you starting it by hand -- see the keeping it running 24/7 guide.
Players still can't connect?
If the server starts fine but friends can't reach it, see the connection troubleshooting guide -- it covers CGNAT, firewall issues, port forwarding mistakes and more, and includes an interactive diagnostic.