Due to the Recent SteamPipe Conversion for basically many of the games we normally play, many other tools to create Servers are now becoming obsolete (i.e: HLDSUpdateTool). There may be others out there that have taught tutorials on how to make these recent servers for other games, but after looking at some of them, I just thought it would be nice to create my own tutorial on how to create your own server for Team Fortress 2 and how to optimize it.
Here is what I plan to cover (things may be added in the future):
1) Installing SteamCMD 2) Installing your TF2 Server 3) Checking to see if your server works and going through your RCON 4) Port Forwarding 5) Installing MetaMod and SourceMod 6) Customizing your server MOTD (Simple Text) 7) Customization 2 8) Other
At first, I think I will Create video tutorials, then move on to make a Full Guide and MAYBE a Wiki Page, if I have the Time.
I know there are Valve Developer Sites out there to help you, but in my opinion, I think it would be helpful to show people visually how to do these things, and I will do my best to show you how to create your server.
Come back once in a while as I cover each part and add videos to my Youtube Channel. IF you have any questions, it is now OKAY to reply to this thread! I will do my best to help you out, if possible.
Server.cfg My Example (copy from First //) EDITS ARE NEEDED!!! Especially if you didn't add the Robot Plugin, delete the plugin CVARS:
// General Settings //
// Hostname for server. hostname <servername>
// Set to lock per-frame time elapse host_framerate 0 // Set the pause state of the server setpause 0 // Control where the client gets content from // 0 = anywhere, 1 = anywhere listed in white list, 2 = steam official content only sv_pure 0 // Is the server pausable sv_pausable 0 // Type of server 0=internet 1=lan sv_lan 0 // Whether the server enforces file consistency for critical files sv_consistency 1 // Collect CPU usage stats sv_stats 1 //Tags sv_tags <your Tags> //Server Player Password //sv_password <your server password>
// Contact email for server sysop //sv_contact <your email>@gmail.com // The region of the world to report this server in. // -1 is the world, 0 is USA east coast, 1 is USA west coast // 2 south america, 3 europe, 4 asia, 5 australia, 6 middle east, 7 africa sv_region 0
// Rcon Settings //
// Password for rcon authentication rcon_password <your RCON Password> // Number of minutes to ban users who fail rcon authentication sv_rcon_banpenalty 1440 // Max number of times a user can fail rcon authentication before being banned sv_rcon_maxfailures 5
// Log Settings //
// Enables logging to file, console, and udp < on | off >. log on // Log server information to only one file. sv_log_onefile 1 // Log server information in the log file. sv_logfile 1 // Log server bans in the server logs. sv_logbans 1 // Echo log information to the console. sv_logecho 1
// Rate Settings //
// Frame rate limiter fps_max 600 // Min bandwidth rate allowed on server, 0 == unlimited sv_minrate 0 // Max bandwidth rate allowed on server, 0 == unlimited sv_maxrate 20000 // Minimum updates per second that the server will allow sv_minupdaterate 10 // Maximum updates per second that the server will allow sv_maxupdaterate 66
// Download Settings //
// Allow clients to upload customizations files sv_allowupload 1 // Allow clients to download files sv_allowdownload 1 // Maximum allowed file size for uploading in MB net_maxfilesize 64
//Enable Scramble Vote sv_vote_issue_scramble_teams_allowed 0 //Enable Restart Game sv_vote_issue_restart_game_allowed 0 //Enable NextLevel Vote sv_vote_issue_nextlevel_allowed 0 //Enable Kick vote sv_vote_issue_kick_allowed 1 //Kick Duration (0 for no ban time, non-0 for minutes to ban) sv_vote_kick_ban_duration 10 //Allow Spectator Votes sv_vote_allow_spectators 0 //Vote Timer Cooldown sv_vote_failure_timer 360
// Team Balancing //
// Enable team balancing mp_autoteambalance 1 // Time after the teams become unbalanced to attempt to switch players. //mp_autoteambalance_delay 30 // Time after the teams become unbalanced to print a balance warning //mp_autoteambalance_warning_delay 5 // Teams are unbalanced when one team has this many more players than the other team. (0 disables check) mp_teams_unbalance_limit 1
// Round and Game Times //
//Wait for Players mp_waitingforplayers_cancel 1 // Enable timers to wait between rounds. WARNING: Setting this to 0 has been known to cause a bug with setup times lasting 5:20 (5 minutes 20 seconds) on some servers! mp_enableroundwaittime 1 // Time after round win until round restarts mp_bonusroundtime 10 // If non-zero, the current round will restart in the specified number of seconds mp_restartround 0 //Enable sudden death mp_stalemate_enable 1 // Timelimit (in seconds) of the stalemate round. mp_stalemate_timelimit 300 // game time per map in minutes mp_timelimit 20 //Max Round Wins mp_winlimit 3 //Disable Respawn Times mp_disable_respawn_times 1 // Overrides the max players reported to prospective clients sv_visiblemaxplayers 24 // Maximum number of rounds to play before server changes maps mp_maxrounds 5
// Client CVARS //
// Restricts spectator modes for dead players mp_forcecamera 1 // toggles whether the server allows spectator mode or not mp_allowspectators 1 // toggles footstep sounds mp_footsteps 1 // toggles game cheats sv_cheats 0 // After this many seconds without a message from a client, the client is dropped sv_timeout 900 // Maximum time a player is allowed to be idle (in minutes), made this and sv_timeout equal same time? mp_idlemaxtime 9 // Deals with idle players 1=send to spectator 2=kick mp_idledealmethod 1 // time (seconds) between decal sprays decalfrequency 10 //Overtime Nagging tf_overtime_nag 1
// Communications //
// enable voice communications sv_voiceenable 1 // Players can hear all other players, no team restrictions 0=off 1=on sv_alltalk 1 // amount of time players can chat after the game is over mp_chattime 10 // enable holiday modes: 0none,1birthday,2halloween,3birthday tf_forced_holiday 0
//Be The Robot! by MasterOfTheXP //Plays Bot FootSteps sm_betherobot_footsteps 1 //Robot when Joined? sm_betherobot_default 0 //Restricted Classes? Add up the numbers for each class: 1Sco,2Sol,4Pyr,8Dem,16Hea,32Eng,64Med,128Sni,256Spy,0None sm_betherobot_classes 0 //Voices be Robotic? sm_betherobot_sounds 1 //Taunts? sm_betherobot_taunts 1 //Cooldown, in Seconds sm_betherobot_cooldown 10 //Wearables? sm_betherobot_wearables 0 //Remove all Wearables on Unbot if above is 0? sm_betherobot_wearables_kill 0