Windows dedicated server
This is a setup guide that allows you to install a basic Team Fortress 2 Windows dedicated server. In the below example the server is installed onto the C drive in a folder called 'hlserver'.
Contents
Download and install the SteamCMD Tool
It is recommended you create a separate user to install and run game servers.
- Download steamcmd_win32.zip
- Unzip steamcmd_win32.zip to a directory, for example 'c:\hlserver'
Create a steamcmd script
- Create a file called tf2_ds.txt in the folder where you install the tool, i.e. 'c:\hlserver'
- Edit the file with this text:
@ShutdownOnFailedCommand 1 @NoPromptForPassword 1 login anonymous force_install_dir c:\hlserver\tf2 app_update 232250 quit
If you want to opt in to the prerelease version of the TF2 dedicated server, add this line before the app_update line:
beta prerelease
Create an updating batch file
- Create a file called update.bat in the folder where you installed the tool, i.e. 'c:\hlserver'
- Edit the file with this text:
steamcmd +runscript tf2_ds.txt pause
Start the download/update
- Run the update.bat to start the download, may take several hours as dedicated server content is currently 4.4GB
- You may need to run the file *multiple* times until the message "Success! App '232250' fully installed." displays.
Create/Update server files
- Create a file called server.cfg in 'C:\hlserver\tf2\tf\cfg'
- Edit the file with these details
hostname "Your_Servers_Name" rcon_password "Your_Rcon_Password" sv_contact "admin@yourdomain.com" mp_timelimit "30"
- Edit the files motd.txt, maplist.txt and mapcycle.txt all found in the 'C:\hlserver\tf2\tf' folder
Create a batch file to run the server
- Create a file in 'C:\hlserver\' called tf.bat
- Edit the file with this text:
tf2\srcds.exe -console -game tf +sv_pure 1 +map ctf_2fort +maxplayers 24
- Run the file tf.bat to start your server
Other comamnd line options
Some other common command-line options for TF2 are:
+ip 1.2.3.4
- Bind to a specific IP. By default, listens on all network interfaces-port 27015
- Bind to a different port (27015 is the default)-strictportbind
- If a server is already running on the specified port, stop the server from running+randommap
- Use instead of +map to select a map at random+serverconfigfile
- Which tf\cfg\ file to execute on map change, defaults to server.cfg+mapcyclefile
- Which tf\cfg\ file contains this server's mapcycle, defaults to mapcycle.txt. Will also look in tf\-replay
- Executes replay.cfg and adds an additonal slot for the replay bot, but removes it from the player count.