Steps to setup a dedicated TF2 server on Windows 7 machine.
- Install Steam client: http://store.steampowered.com/about/. See note 1 below.
- Install Server Installer hldsupdatetool.exe which can be installed from http://www.steampowered.com/download/hldsupdatetool.exe
- The server doesn’t need the game installed. hldsupdatetool.exe will install everything needed.
- Install hldsupdatetool.exe. I installed to C:\Users\Jeff\Applications\HLServer
Run hldsupdatetool.exe to install TF2 server in a differentdirectory.
hldsupdatetool -command update -game tf -dir C:\Users\Jeff\Applications\TF2Server
This is about 5 GB in size so take a while
- Create and edit
TF2Server\orangebox\tf\cfg\server.cfg. See cfg file below
srcds.exe -console -game tf -hostport 27015 +maxplayers 24 +map ctf_2fort
Note 1: Initially I didn’t have Steam client install and I get the message: http://www.facepunch.com/threads/961459. After installing Steam client, the problem is solved.
Config File server.cfg
// Team Fortress 2 Server Configuration File, To be used with TF2 only! // Server Name hostname "Team Fortress 2" // Rcon Cvars rcon_password "" //Set's remote control password sv_rcon_banpenalty 15 //Number of minutes to ban users who fail rcon authentication sv_rcon_log 1 //Enable/disable rcon logging. sv_rcon_maxfailures 3 //Max number of times a user can fail rcon authentication before being banned sv_rcon_minfailures 5 //Number of times a user can fail rcon authentication in sv_rcon_minfailuretime before being banned sv_rcon_minfailuretime 10 //Number of seconds to track failed rcon authentications // Server Password sv_password "" // Password protects server // Server Cvars mp_allowspectators 1 //Toggles whether the server allows spectator mode or not mp_autocrosshair 0 mp_autoteambalance 1 //Toggles server autoteambalance mp_bonusroundtime 5 //Time in seconds after round win until round restarts mp_chattime 5 //amount of time in seconds players can chat after the game is over mp_decals 1 mp_defaultteam 1 mp_disable_autokick 1 //Prevents a userid from being auto-kicked mp_enableroundwaittime 1 //Enable timers to wait between rounds. mp_fadetoblack 0 //fade a player's screen to black when he dies mp_falldamage 5 //Amount of damage players sustains from a fall mp_flashlight 0 //Toggles flashlight on or off mp_footsteps 1 //Toggles footsteps on or off mp_forcecamera 0 //Restricts spectator modes for dead players mp_forcerespawn 0 mp_forcerespawnplayers 1 //Force all players to respawn. mp_forcewin 1 //Forces team to win mp_fraglimit 0 mp_idledealmethod 2 //Deals with Idle Players. 1 = Sends them into Spectator mode then kicks them if they're still idle, 2 = Kicks them out of the game mp_idlemaxtime 1 //Maximum time a player is allowed to be idle (in minutes) mp_maxrounds 3 //max number of rounds to play before server changes maps mp_teams_unbalance_limit 2 //Teams are unbalanced when one team has this many more players than the other team. (0 disables check) mp_teststalemate 0 //Test the stalemate mode. Parameter: <0/1>. If 1, the map will reset at the end. mp_time_between_capscoring 5 //Delay between scoring of owned capture points. mp_timelimit 20 //game time per map in minutes mp_winlimit 10 //Max number of rounds one team can win before server changes maps sv_allow_color_correction 1 //Allow or disallow clients to use color correction on this server. sv_allow_wait_command 0 //Allow or disallow the wait command on clients connected to this server. sv_allowdownload 1 //Allow clients to download files sv_allowupload 0 //Allow clients to upload customizations files sv_alltalk 0 //Players can hear all other players, no team restrictions sv_alternateticks 0 //If set, server only simulates entities on even numbered ticks. sv_autosave 0 //Set to 1 to autosave game on level transition. Does not affect autosave triggers. sv_bonus_challenge 0 //Set to values other than 0 to select a bonus map challenge type. sv_cacheencodedents 1 //If set to 1, does an optimization to prevent extra SendTable_Encode calls. sv_cheats 0 //Allow cheats on server sv_clearhinthistory 0 //Clear memory of server side hints displayed to the player. sv_consistency 1 //Whether the server enforces file consistency for critical files sv_contact "" //Contact email for server sysop sv_downloadurl "" //Location from which clients can download missing files sv_enableoldqueries 1 //Enable support for old style (HL1) server queries sv_pausable 0 //Is the server pausable. // Lan or internet play, Server region cvars sv_lan 0 //Server is a lan server ( no heartbeat, no authentication, no non-class C addresses ) sv_region 255 // Region Codes: 0 - US East coast, 1 - US West coast, 2 - South America, 2 - South America, 3 - Europe, 4 - Asia, 5 - Australia, 6 - Middle East, 7 - Africa, 255 - world //server Logging sv_log_onefile 0 //Log server information to only one file. sv_logbans 1 //Log server bans in the server logs. sv_logblocks 0 //If true when log when a query is blocked (can cause very large log files) sv_logecho 0 //Echo log information to the console. sv_logfile 1 //Log server information in the log file. sv_logflush 0 //Flush the log file to disk on each write (slow). sv_logsdir "logs" //Folder in the game directory where server logs will be stored. //Server Rates sv_maxcmdrate 0 //(If sv_mincmdrate is > 0), this sets the maximum value for cl_cmdrate. sv_maxrate 20000 //Max bandwidth rate allowed on server, 0 == unlimited sv_maxreplay 2 //Maximum replay time in seconds sv_maxupdaterate 100 //Maximum updates per second that the server will allow sv_mincmdrate 0 //This sets the minimum value for cl_cmdrate. 0 == unlimited. sv_minrate 0 //Min bandwidth rate allowed on server, 0 == unlimited sv_minupdaterate 30 //Minimum updates per second that the server will allow