The battle between AMD and Intel has, as of late, become a particularly fierce one.
Many gamers swear by AMD, and thus end up choosing an AMD-based server to host game
daemons on. If you don't already know, the key difference between AMD and Intel is
both the clock speed, and how much is done per clock cycle. The best analogy I've
ever heard is that an Intel processor is like having 10 buckets constantly being
filled with water and dumped into an empty lakebed at a time, at approximately
three times per minute. AMD is similar, but the men moving the buckets are only 2/3
the speed of Intel's buckets, but their buckets are much larger, almost 2/3 larger.
In real terms, Intel does better handling lots of smaller calculations, and AMD
prefers fewer, larger calculations.
When it comes to gaming, these "bigger buckets" if you will are very effective; the
majority of the physics computations in a multiplayer game are done on the client
and securely synced to a server. This is not unreasonable as well, as in single
player you rely only on your own machine. When you pick a gaming computer, the
generally ideal setup is a single AMD Athlon 64 CPU with plenty of ram and of
course, a massive graphics card, (with the GPU handling many of the physics
calculations as well, taking a bit of stress off the CPU; a benefit a server does
not have.) This is excellent, and exactly what is needed. As far as a client versus
server goes, as you can imagine, these are big numbers and difficult calculations,
which AMD eats right up, while the server generally handles more little numbers,
such as data transfer over the network interface, and very minor calculations
involved in syncing the virtual worlds of all the players.
Simply enough, an Intel processor is the best choice for a game server in general.
Xeons are preferred over Pentiums, and Pentiums are preferred over Celeron. Dual
core and Dual Xeon servers become another debate. To double the essential number
of players gaming on one physical server, you can have a dual core, or dual
processor server, having one server application running on each respective
processor. AMD does outperform Intel in the dual core range, but I would personally
not suggest using a dual core processor. Instead, Dual Xeons are an expensive, but
effective option. Generally, a single Xeon processor is costlier than a Pentium,
and performs better to match. They are specifically engineered to excel in
multitasking environments, particularly across multiple processor environments.
Another big piece that can add to your cost is HyperThreading. If you have the
funding and options, and you go for one processor with one core, by all means go
for HyperThreading. Intel in a gameserver environment can give nearly a 50%
performance boost depending on the scenario, and hyper threading can almost be
another 50% increase on top of that. Because of how the Source Dedicated server is
designed, at any given time there will be a BARE MINIMUM or however many players
are on your server, one socket and thread for each. Depending on the game though,
there can be as many as five threads per client, which can add up. HyperThreading
can do some very clever things with this. When running multiple daemons on one CPU,
it can reduce the load.
In short, my view of the ideal gameserver hardware, price with performance, would
be an Intel 3.2ghz HyperThreaded, with 2gb of DRR, (obviously preferably DDR2,)
333mhz+ ram. As SRCDS actually does use a fairly large amount of File IO, I
would suggest at least a SATA drive, or any drive that transfers faster than an
IDE, and spins at 10,000 RPM or more. Of course, depending on the drive, SCSI is
I suggest purchasing a server from http://www.layeredtech.com, as I have had incredible experiences
with them, as have other SF hosting veterans.
If you want to run a very serious SourceForts server, or any Source Dedicated Server for that
matter, you will want to use either Linux, or a very high end Windows machine. If you are the
latter, you should be able to figure out how to start the server yourself.
I recommend Linux or FreeBSD. As for specific versions, I would suggest CentOS, Fedora, or FreeBSD.
Use the most recent stable releases of any of these. For Linux, use a 2.6 kernel, and if possible,
customize it to your hardware and load requirements. This will give you an incredible performance
increase compared to the bulky kernels included by default with most distributions. The same can be
done for FreeBSD more easily, as it uses a user-friendly kernel configuration file, as well as full
source availability for the kernel.
On BSD, make sure to use a "buildworld" method in kernel compilation after updating the global
sources. For Linux, I recommend the Reiser4 file system, and if you really can"t use it, use ext3
file system. Make sure to defragment this at least once a month if it is not an issue for you. On
FreeBSD, I recommend the default UFS, as giving Reiser4 support is too much of a hassle. (Also,
on FreeBSD installation, do not select the option for Linux binary support.)
On Linux, the only real component you need to have for SrcDS installation is the application
"ncompress," which you can usually grab through your distributions local package manager, such as
Yum, up2date, apt, or portage. All others should be covered in any standard installation of your
distribution, and if they aren"t there, SrcDS will allow you to install what you"re missing.
FreeBSD requires an extra step; When installing, make certain you install the "Ports" collection.
If you did not select this, then execute "pkg_add -r cvsup" as root, and if prompted, choose to
install samples and examples. Then, open up the file "/usr/share/examples/cvsup/ports-supfile"
with ee, (executed with the simple command "edit" in a default configuration,) and edit the line
that resembles ...
*default host = CHANGE_THIS.FreeBSD.org
and change it to be...
*default host = cvsup4.FreeBSD.org
Be certain you do not edit the version of this text than includes a preceding "#" mark. Then,
execute the command "cvsup /usr/share/examples/cvsup/ports-supfile" as root and let it sit until
finished. Once done, execute "cd /usr/ports/emulators/linux_base-rh-9 && make install" and let it
run for as long as it takes. Now edit the file "/etc/rc.conf" and add this line to the bottom.
And go ahead and give "er a reboot. Now you"re ready to install Source Dedicated Server and
Linux / BSD InstallationZ:
To begin the installation of SourceForts, you must install the base Source Engine to begin, with
hl2mp compatibility, to do so, do these commands as root ...
chmod +x http://www.steampowered.com/download/hldsupdatetool.bin
And answer "Yes" to the license agreement, should you feel that way and wish to continue the
installation. Then, do this command ...
./steam -command update -game "hl2mp" -dir .
Now, to install SourceForts itself. Download the Linux package file from any of the mirrors listed on http://www.sourcefortsmod.com. Download it to your /usr/home/steam directory using "wget" and then we can begin.
tar xvjf (thefileyoudownloaded.tar.bz2)
Remove the quotes and fill in that stupid note with the actual name of the file you downloaded.
To execute your server, use this command, filling in your own values as necessary.
./srcds_run -console -game sourceforts +map sf_magma +maxplayers 16 +ip 220.127.116.11
This will begin a functional SourceForts server, all nice and happy. Something to realize of
course, is that SourceForts is very CPU unfriendly compared to other game such as Half Life 2:
DeathMatch and CounterStrike: Source, as the nature of the game simply dictates that it uses
so many more objects than a normal game. This is being worked on in future releases, and you
should be able to run much larger servers in the future. If you have any problems with the
installation, please feel free to comment or ask for amendments to this article on our forums,
found at this link.