Having gotten the hardware installed, we set about installing an operating system. But which to choose? We could happily get up and running using Linux or Windows server, or maybe even BSD. In the end, we decided to do the difficult thing - and do all of them. How so?
Well, we'll come to the topic of virtualisation in a minute, but for now, we'll just say that we did a base install of Windows Server 2003 64-bit. Installation was pretty much a case of sticking the DVD in the drive and rebooting - just like Windows XP.
However, we hit a hiccup. We had previously set up our RAID array to include two disks for storage and one separate disk for installing the main operating system. However, since the ports on the motherboard weren't labelled (alpha hardware, remember) we couldn't work out which drive in the Windows installer to copy too, and were pretty much left with trial, error and reboot until we found the right one. D'oh!
Go Gadget Gaming
With Windows Server installed, and all our hardware drivers happily humming away, it came time to get some gaming server action going. What would we install? Our obvious first choice was Counter-Strike: Source. Counter-Strike is the most popular online first person shooter out there, and Counter-Strike: Source is Valve's recreation using the Source Engine. It's, without doubt, the one we spend the most time cursing at here, so it seemed like an obvious choice.
Getting the CS server installed means heading over to steampowered.com
and grabbing the downloader. Duly grabbed, this goes and leeches all the required dedicated server files directly from the Valve master servers. Running a dedicated server is free and doesn't require a Steam account, since you can't actually play the game via the server, only facilitate other people playing (for which they obviously need to buy CS via a Steam account).
With the files down, running the server is simply as easy as clicking on the shortcut and choosing the map and player limit. However, as CS server pros will tell you, using the graphical interface is a little lame. We duly set up a batch script that would run on startup with the correct command line switches to get the server running as we wanted it. This means that whenever the server needs a brief reboot, the server will automatically start back up again.