So.. you've been playing Counter-Strike and now you're wondering how to set up a server? This is one of the top most asked question we receive on our forums. For some, setting up a server can be a daunting task, but in reality, it is not that difficult.
Since about 2001 I've ran and tested many types of server configurations running a Half-Life based game. For some, running game servers can be a hobby during free time and also perhaps as a business, but lets face it, it's fun and you learn lots of other things in the process too. Hopefully, after reading this guide you will have no trouble creating a Counter-Strike server. On this page we'll talk mostly about things required to run a server.
Some people think you need massive amounts of bandwidth to host a Counter-Strike server, while that is not entirely true, in most cases you can run a small server with as little as 256-384kbps. Yes, even from your home DSL or cable internet broadband. We do not recommend you run a production server off your home DSL or cable connection, but you certainly can host a small server just for fun or for a couple of friends. How much bandwidth you need? Well, that depends on the size of the server you want to run. In general, a good rule-of-thumb is roughly 6KB (Kilo-Bytes) upstream (upload) per player slot, but this will vary depending how you adjust and optimize the cvars in HL/CS which I will get into later in the guide. Below is a graph we've created to illustrate and give you general an idea of how much upstream bandwidth you will need. The text on the far left of the graph is line speed in kbps (kilobits per second) and the numbers below the bars indicates the amount of player slots.
I recommend any server above 14-16 player slots having at least 1mbit upstream, anything less and you might run into lag especially when you start adding custom maps to the server which clients will have to download. I also recommend using the sv_downloadurl cvar if you have a lot of custom maps and have a spare webserver. I won't get into detail about sv_downloadurl in this guide; that will be part of another guide but in short, it will allow you to use bandwidth from another server (ie: a mirror) to serve the maps and custom files without bogging down the game server.
Insufficient hardware is just as bad as not having enough bandwidth to run the server, System requirements are much greater now with the release of Steam and the Source Engine than previous versions of Counter-Strike. The hardware you need will depend on the size of the server you want to run and whether it is going to be a dedicated server or a listen server (a server you host and play from at the same time - not recommended).
Memory. There is no such thing as "overkill". After having the proper hard-disks; lots of memory is the next most dominate factor in how well the server performs under heavy loads. Things like changing levels are very dependent on how much memory is available, along with fast drives, more memory will yield faster response time., having too little and you will run into long delays and occasional pauses.
Using the same concept we did earlier with bandwidth, we've created a chart to illustrate a rough estimate on how much memory you will need, based on the player count.
Again, these are rough estimates. The red bars would be the least amount of memory you should consider and the green bars is the recommended amount of memory. No one is to say you cannot less or more than what is listed in the chart, but it is advice you should highly consider.
CPU Speed and Processor
I won't go into great detail on which is better (Intel vs. AMD) but no matter which setup you choose, Dual CPUs would be the best solution for a dedicated server environment. If you do not have the budget for a dual CPU setup, consider at least a single 2.4Ghz CPU, which should be more than capable to host a 28 player server, bearing you have the bandwidth and memory available.
Hard disk - 5400, 7200, or 10,000 RPM?
If the budget is right go for the 10,000 RPM disk, you don't have to run out and purchase expensive SCSI drives as 10K SATA drives are also on the market these days. Even a 7200 SATA with a large cache size (8MB+) would perform quite well. If you plan on running multiple game servers off one system certainly consider the 10k RPM disk. Stay away from the older slow IDE 5400RPM disks, you will have very high disk I/O levels, they are slow and will create a huge bottleneck on your server. Today's games don't stand a chance on them., having faster drives will dramatically decrease the loading time it takes for the server to switch maps.
Now that we've covered the basic on what you need to run a server we can start on getting familiar with a basic server configuration.