Home

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.

Before you start, check Can My PC Run a Team Fortress 2 Server? to see whether your hardware meets Team Fortress 2's requirements, and read the port forwarding guide if you want players outside your home network to connect.

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.

ProtocolPortPurposeRequired
UDP27015Default Source dedicated-server game portYes

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.