Home| What is Steam| Community| News| Cyber Cafés| Forums| Support| Stats

Go Back   Steam Users' Forums > Steam Game Discussions > T - Z > Team Fortress 2
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Rating: Thread Rating: 52 votes, 4.42 average. Display Modes
Old 08-22-2009, 07:32 AM   #1
FPS_Pat
 
Join Date: Nov 2007
Reputation: 66
Posts: 592
The Ultimate Guide to Running a Server

Table of Contents
Changelog
Introduction
Requirements
Getting a Server
Setting Up
Technical Support
Conclusion
FAQ

Change Log
08/29/09-Corrections,info about sv_pure
08/22/09-First part of guide written

Introduction
Hello, my username is FPS_Pat and I've been running Source Engine servers for 3 years. While I am no professional I can say I have a decent ammount of experience and have decided to use my spare time this morning to start a guide about running your own TF2 server. This guide will cover the following basic skills:Using a File Transfer Protocol program,Using the HLSW RCON program,Using a built in web interface,Troubleshooting,Setting up a download server,running and configuring a TF2 server, and getting feedback from players.

Requirements
Before we start, you are going to need the following programs. I will be going into further detail on how to use them soon.

HLSW is a Remote CONtrol program that allows you to directly interact with the server through the use of RCON commands. This is the most powerful of all server control utilities and can be accessed from any computer as long as you have the program installed and the RCON password (and connected to the Internet of course).Once you install the program, register an account so that you can log into other computers with HLSW and still have your server information available.

FileZilla is a freeware File Transfer Protocol tool that allows you to upload and download files from a remote web server. If you are running the server on a local machine then this program is not neccesary unless you wish to access your server through your main computer. FileZilla also stores multiple usernames,passwords and addressses in a quick list so that connecting to the FTP server is quick and easy (trust me, punching in everything before logging in is a pain).

Now that you have all the programs you need, here are the other requirements for running a (successful) game server.
  • Time
  • Dedication
  • Capable of taking criticism
  • Responsible
  • Charismatic

Time is a big one, if you are starting secondary education (college or university) then running a game server will be tough working into your school schedule but it is possible. Dedication is also important because there is almost always something you can do to improve the server and making sure the server is running %100 is something that demands dedication. With anything comes critisism and people will critisize you. ALOT. Getting angry about something that someone said about your server will not help you at all. Responsibility is another one, when something breaks and your buddy tells you to quit playing Killing Floor or whatever to fix it ASAP it is your responsibility to fix it for others to be able to enjoy themselves on it. Being charismatic helps with many things like:Getting feedback,getting people to return to your server,join your steam group,become an admin,getting people to let you use their webserver for free (guilty of that one),and building a reputation.

Getting a Server

Here comes the fun part. There are a couple ways of getting a server. The ones that I am familiar with are:Renting a server from a game server company,building a local server and getting your ISP to change your bandwidth to a commerical one, and renting space from your ISP to create a server with. The easiest one is by far the first because the server company takes care of updating and maintaining the server (they can also provide some tech support if you need it).You are also guarunteed your server is set up properly once you rent it and the rates and tick are correct.

There are several popular server renting companies out there that offer servers at various different prices. The cheapest I've found was a 24 slot server going for around $20 a month American. Feel free to PM me if you need help deciding where to get your server from.

WARNING:ANYONE SELLING YOU 100 TICK TF2 SERVERS ARE NOT WORTH IT

100 tick TF2 servers provide a neglible performance boost for an increased cost of about 50-70 cents a slot. TF2 does not rely on shot registration as much as games like CSS or DoD. A regular server will have no registration problems whatsoever.

If you rented your server, you will be given a username and password to log into the site's Control Panel. You will rarely be using this unless you need to update your server, or restart it when it is not responding from HLSW. If they offer to install mods from the CP DO NOT DO IT it is better to install it manually from FTP, it sometimes causes compatibility issues and other nasty stuff.

Setting Up

Once you have your server you are going to have to connect to it via FTP. Open up FileZilla (or your FTP program). The user control panel on your site should include the FTP information you need to connect. First of all, you are going to want to change the server.cfg. This dictates the base settings of your server. The server.cfg file is located at the /tf/cfg directory. It can be editted with any text reader.

Here's the server.cfg I currently use, I'll put notes on what each CVAR does.

Code:
//=== Server Name
hostname "My Awesome Server" //This is the server's name

//=== Round Settings
mp_timelimit "40" //This is the time limit per map
tf_flag_caps_per_round "3" //for CTF this is how many caps per round
tf_stats_track "1" //This is for keeping track of personal player stats
tf_playergib "1" //This enables gibs
tf_overtime_nag 1 //This makes the Announcer say OVERTIME over and over during overtime

//=== Passwords
rcon_password "password" //This is the server RCON password
sv_password "" //This is the server password, leave empty for a public server
tv_password "" //This is the password used to connect to SourceTV

//=== Source TV Parameters ===
tv_enable 1 //This turns adds the SourceTV bot to the game in spectator, SourceTV can allow other players to watch games in progress or record games.
tv_autorecord 1 //This makes SourceTV record every single game played on the server, each map is recorded as a seperate demo file
tv_maxclients 0 //This disables connecting to SourceTV to watch games,required for recording demos


//=== Pure settings, check your whitelist.txt ====
sv_pure 0     //Controls custom content, 0 is disabled, 1 is whitelist and 2 is pure game files (vanilla)
sv_pure_kick_clients 1	//Will kick the player with mismatching files
sv_pure_trace 1		//Will write to logfile
sv_consistency "1" //Enforces consistency on important files

//===  Multiplayer Parameters ===
mp_fraglimit "0" //Self explanatory
mp_forcerespawn "1" //Forces players to respawn automatically
mp_tournament "0" //Controls tournament mode (leave this off, used for scrims)
mp_tournament_stopwatch "0" //Controls the stopwatch for tournament
mp_stalemate_enable 1 //Enables games to go into Sudden Death
mp_respawnwavetime "10" //Respawn time for some maps, default is 10
mp_maxrounds 10 //Max rounds before map change
mp_autoteambalance 0 //Auto balances the teams, I have a custom plugin for this so it is disabled. If you don't have a plugin make this 1
mp_chattime 10 //Time after a map ends before it switches to the next one, default is 10
mp_allowspectators 1 //Allows spectators
mp_forcecamera 1 //Restricts dead spectating to only your team


//=== Server Side Parameters ===
sv_allowupload "1" //Allows spray tags to be used
sv_allowdownload "1" //Allows files to be downloaded from the server
sv_alltalk "1" //Allow alltalk, for serious gameplay turn this off
sv_alternateticks "0" //Old command, halfs tick when on
sv_cheats "0" //Cheats, LEAVE THIS OFF
sv_downloadurl "http://www.awesome.com" //FastDownload server, will go into depth with this later.
sv_region "0" //Where your server is, 0 means east coast
sv_visiblemaxplayers 25 //Sets how many players the server holds for the server browser, is only for looks.
sv_tags "rotation,rtv,sourcemod,stats" //Server tags

//=== SV Rates  === RATE SETTINGS
sv_maxrate 70000
sv_minrate 0
sv_maxupdaterate 100
sv_minupdaterate 10
sv_maxcmdrate 100
sv_mincmdrate 0

decalfrequency 10 //How often people can spray their spray

//=== Logging ===
log on //turns logging on
sv_logecho 0 //logs duplicate events
sv_logfile 1 //logs things to a file
sv_logonefile 0 //logs things to one big file

//=== Misc. ===
net_maxfilesize 128 //max file size for download
sv_voicecodec vaudio_speex //Audio codec for voice chat
exec banned_user.cfg //Banned user file
writeid //writes steamids
writeip //writes ips
//exec classlimits.cfg //Loads the server's class limits, this is an example of an external configuration file. Enabling this without the proper file will output an error message.
After you've done your basic configs you can start with choosing an administration plugin. There are a couple popular ones

The choice is yours, Beetlesmod and Mani Admin plugin provide very simple user interfaces and basic admin functionality.At the cost of simplicity, SourceMod allows for much greater customizability and the use of thousands of usermade plugins available on their forums to change basically anything on the server (like homing sentry crit rockets, good times).

Make your pick and follow the install instructions for the plugin of your choice. You can edit the plugin's settings by navigating to your cfg folder and finding the plugin's .cfg file. (There should be a seperate folder inside the cfg folder with the name of your admin plugin). Open it with any text editor and follow the instructions in the file on how to properly tweak it.

Running a FastDL Server
Since I'm running low on stuff to write about at the moment, I think I'll tell you about a FastDL server. A FastDownload server is a term which intercepts downloads from the server and redirects it to a website where the file can be downloaded much faster.

What you are going to need
This one requires some knowledge of a website and is hard to put into words. On your website you are going to have to make a tf folder that mimics the folders on your game server.Inside this tf folder you have to make folders for the files you want to download, sounds go in the sound folder, maps in the maps folder, and custom decals and stuff go in the materials folder.In your server.cfg, change sv_downloadurl to match the location of the tf folder on your webserver. This should be public access so it looks like this notice on my webserver you can download all the custom files directly to your computer. My sv_downloadurl is "www.ddtf2.com/fastdl".

Steps for adding a new file to the FastDL
  1. Upload the original file to the correct place on the game server (for example if it is a map it goes in the maps folder)
  2. Drag the file into the bzip2 application and it will become zipped with the .bzip2 extension.
  3. Drag this new file to the correct place on the webserver
  4. The file on the game server should exactly match the directory on the web server. In my webserver example, you can see that in the sound folder there is a dd folder, and in this folder are the custom sound files. On the game server, these custom sounds are located in the exact same directory (tf/sound/dd/)

Useful SourceMod Plugins
Technical Support

Since I'm dry for more Setting Up ideas I'll start on this section. This is going to cover using HLSW and some common technical issues.

Using HLSW
Open up HLSW (and register an account if you haven't already).Switch to a different tab other than Global and put your server's IP in the IP/Port bar. You should see your server appear on the list. If you click on it you can see some of the information such as your current ping,where the server is located,how many players are on. Ecetera. On the bottom click the Rcon Config tab and input your RCON password and click test. If it returns OK then you now have full access to your server, in order to see chat you have to click the Get Log(Internet) button and click the Chat tab on the bottom. To input console commands click the Console tab, to see the Ban List click the Ban List tab.

Right clicking on a player will open the admin commands menu, depending on what you have installed different commands become available, if you are NOT banning through an admin plugin make sure to Write the Ban List file or the ban will not be saved to the server.

Useful Commands
  • quit or _restart Causes the server to restart through the RCON console
  • map,changelevel Changes to map
  • status Outputs the info of players on the server

Using sv_pure CORRECTLY
I've read lots of topics debating about sv_pure and why it's good/bad so I'll just add a quick thing about how to use it properly.

When to use sv_pure 1
  • When you are running a pub server
  • When you want custom sound files (like quake sounds) to work on your server
  • When you want to restrict certain sensitive files (like wall textures or cloak sound files)

When to use sv_pure 2
  • When you are running a scrim/pug/competitve server
  • When you hate skins
  • When you are going for a "true vanilla" server

Detailed use of the whitelist for sv_pure 1 can be found in the whitelist config file located in the tf directory of your server.

What You Can Do
Feel like contributing? Think you're a pretty cool guy? Well here's how you can help!
  • Correct my spelling!
  • Bump this topic!
  • Rate this thread according to your satisfaction level!
  • Provide your own information!
  • Ask questions!

Last edited by FPS_Pat : 08-29-2009 at 10:42 PM.
FPS_Pat is offline   Reply With Quote
Old 08-22-2009, 07:32 AM   #2
FPS_Pat
 
Join Date: Nov 2007
Reputation: 66
Posts: 592
Frequently Asked Questions
Ask me some questions and I'll be sure to answer them and post them here. Feel free to post in the thread or PM me, I'll keep all questions anonymous and get to your answer as soon as possible!

Q:How do I get clan members to help fill the server?
A:Something I've done is offer a low admin reward for filling the server up 3 or 4 times. Works like a charm!

Q:How can I have my server update itself? (For a Linux server)
A:If you are running SourceMod, then this should help

Last edited by FPS_Pat : 09-01-2009 at 08:02 AM.
FPS_Pat is offline   Reply With Quote
Old 08-22-2009, 07:44 AM   #3
BFishY
 
Join Date: Aug 2005
Reputation: 30
Posts: 2,095
A big problem I have:
How do you get clan members to care enough so they invite a few friends to get the server going faster?

Also
How do you get others to start a server? Because I'm the only one who gets it going, and I'm sick of it and won't have time to keep this up.
Thnx
BFishY is offline   Reply With Quote
Old 08-22-2009, 08:52 AM   #4
FPS_Pat
 
Join Date: Nov 2007
Reputation: 66
Posts: 592
Quote:
Originally Posted by BFishY View Post
A big problem I have:
How do you get clan members to care enough so they invite a few friends to get the server going faster?

Well if you offer admin as a reward for filling the server a couple times it works, I've managed to keep it full when I was on vacation by doing this


Also
How do you get others to start a server? Because I'm the only one who gets it going, and I'm sick of it and won't have time to keep this up.
Thnx

I don't really know how to answer this one, if you are talking about the gray text I added it was an allusion to my buddy who lent me his webserver to use for a website and fast download server.

That should help
FPS_Pat is offline   Reply With Quote
Old 08-22-2009, 09:59 AM   #5
FPS_Pat
 
Join Date: Nov 2007
Reputation: 66
Posts: 592
bump
10guides
FPS_Pat is offline   Reply With Quote
Old 08-22-2009, 10:32 AM   #6
BFishY
 
Join Date: Aug 2005
Reputation: 30
Posts: 2,095
Well i'm giving them admin for donations because we have to pay for the server...
I don't even know how to get through to them... they start filling up the server without me or our clan is going to die over time (short time)

Thnx though, have some more rep
BFishY is offline   Reply With Quote
Old 08-22-2009, 11:52 AM   #7
FPS_Pat
 
Join Date: Nov 2007
Reputation: 66
Posts: 592
Bump while I write the next section.
FPS_Pat is offline   Reply With Quote
Old 08-22-2009, 02:53 PM   #8
FPS_Pat
 
Join Date: Nov 2007
Reputation: 66
Posts: 592
Bump for completed section.
FPS_Pat is offline   Reply With Quote
Old 08-22-2009, 03:04 PM   #9
Hermitb
 
Join Date: Aug 2008
Reputation: 90
Posts: 2,041
Nice guide, although most people probably won't find this particularly interesting. Should be in the sticky'd guides list, though. +REP (when I have some >.<) 5-star
Hermitb is offline   Reply With Quote
Old 08-22-2009, 03:07 PM   #10
stereophonical
 
Join Date: Apr 2009
Reputation: 117
Posts: 1,627
This is all basic must have stuff for every server out there:
http://www.sourcemm.net/
http://www.sourcemod.net/
http://www.sourcebans.net/
http://www.sourceop.com/modules.php?...download&cid=9

And a little bonus for the cheaters:
http://www.steambans.com/
stereophonical is offline   Reply With Quote
Old 08-22-2009, 03:15 PM   #11
HOUSEMASTER
 
Join Date: Jan 2009
Reputation: 6
Posts: 164
Quote:
Originally Posted by stereophonical View Post
http://www.sourcebans.net/

And a little bonus for the cheaters:
http://www.steambans.com/
If you want a good server please don't use any of the global ban plugins, they are based on opinions from angry people
HOUSEMASTER is offline   Reply With Quote
Old 08-22-2009, 03:25 PM   #12
Byte
 
Join Date: Jul 2008
Reputation: 185
Posts: 2,833
Bookmarking this. This is a great guide. 5-starred/repped, etc.
Byte is offline   Reply With Quote
Old 08-22-2009, 03:51 PM   #13
MumblingPyro
 
Join Date: Mar 2008
Reputation: 9
Posts: 206
This needs stickying.
MumblingPyro is offline   Reply With Quote
Old 08-22-2009, 03:58 PM   #14
stereophonical
 
Join Date: Apr 2009
Reputation: 117
Posts: 1,627
Quote:
Originally Posted by HOUSEMASTER View Post
If you want a good server please don't use any of the global ban plugins, they are based on opinions from angry people
Steambans is only such a plugin, sourcebans is not, that is for managing bans on your own server or servers only. Please continue if you have anything concrete to say about steambans.
stereophonical is offline   Reply With Quote
Old 08-22-2009, 04:31 PM   #15
foo
 
Join Date: May 2009
Reputation: 1
Posts: 50
mods
sticky



On a (slightly) more serious note, I found this a very interesting read, thank you very much. This has always interested me, I just never found the time or money to do it
foo is offline   Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


All times are GMT -8. The time now is 04:14 AM.


Powered by vBulletin® Version 3.6.10
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Site Content Copyright Valve Corporation 1998-2009, All Rights Reserved.