help me build the server (hardware)

Started by
29 comments, last by kman12 19 years, 2 months ago
hi, ive decided to give myself some motivation, and put togeather the server for my game. the game is a 2D action based persistant online RPG. the game is basically a (M)MORPG with action elements. my goal is to handle 30 players at once, with the server running on this machine i want to build, running on a cable connection. however i am aiming to make the game as scalable as possible, so that if i ever get the money (and players) i could host it on a fat connection and handle hundreds of players. the server tracks all projectiles - bullets, etc. it also does collision detection (2D bounding boxes). the server also runs a MySQL database as well. anyway, im just wondering what kind of specs you guys recommend. im trying to stay in the 300$ price range, but im willing to spend more if i have to (not more then 500$ though). heres what i have so far, from newegg.com: APEX Beige Mid-Tower Super Case with 350W Power Supply, Model "7C574-115" SONY Beige 52x32x52 IDE Internal CD-RW Drive, Model CRX230ED, OEM Mitsumi 1.44MB 3.5Inch Floppy Disk Drive, Model D359M3, OEM SAMSUNG 40GB 7200RPM Light and Slim IDE Hard Drive, Model SP0411N, OEM Drive only KEYBOARD-2000 KB-118W Beige Keyboard PS/2 104keys -RETAIL TWO of these: Rosewill 184-Pin 128MB DDR PC-3200, Model RW400/128 - Retail ASRock "K7VT4A+" VIA KT400A Chipset Motherboard for AMD Socket A CPU -RETAIL AMD Athlon XP 2700+, 333MHz FSB, 256K Cache Processor - Retail i have a few questions, since its been a while since ive put togeather a system. what exactly is the difference between ATX and MicroATX? ive always used ATX. however, i cant find the motherboard i want. i want a MB with built in video but the only ones that have this (at least in my price range) seem to be MicroATX. also, the MicroATX MB's seem to have better specs and are cheaper.. so whats the catch? if i go with MicroATX, is there anything else i need besides the motherboard and case to be MicroATX? or is it just those 2 things that are effected? next, what else am i missing? i think i need a few cables, but i cant remember which ones. also anything else i might be missing... also, what OS do you think i should use? does one have any specific advantage over the other? im most comfortable with Windows, but im want to use the most appropriate OS. does Unix / Linix really have an advantage over Windows? also, should i go with Unix or Linux? i have some (limited) experiance with both (RedHat and OpenBSD). im leaning towards going with Linux though, because the client itself is cross platform and im going to need to compile on Linux, and im not sure if i could do that with Unix or not. plus, i really dont want to use a text based IDE [grin]. also, i have 2 cable connections running into my house. i plan on hooking both up to the server, so this might effect other things. will it be OK if one of the connections goes directly in, and the other uses a wireless router? finally, do you think this is fast enough? AMD 2700 (2.17 ghz) and 256 RAM? i think it should be more then enough, and i could possible even go slower on the processor.. btw - so far the total is around 278$$. thats going to increase though when i get a better MB that has onboard video, and also, i plan on switching the internal CD burner i have with an external CD burner, so i can use it with my laptop. thanks a lot for any help. [Edited by - graveyard filla on January 27, 2005 3:26:47 PM]
FTA, my 2D futuristic action MMORPG
Advertisement
I only have one answer for one of your questions.


"Which OS?"

I'd go with linux for a server. Just use Redhat -


Version: 9.0 (or latest stable version, if no 9.0)
Kernel: Latest Stable version

The reason for Linux:

It's more stable than Windows. When was the last time you had a crash on Redhat? Now Windows? Now do you get the point? :P. I've had ONE fatal error that crashed my computer on Redhat, compared to the 50 that have crashed my computer/given me a BSoD on Windows.

----------------------------------------------------------------------------------

That's my thought on this.
I would use an Intel chipset, and a Pentium IV 2.8 GHz CPU. That gives you dual-DDR-400 memory; the biggest performance problem for your simulation is going to be memory latency.

I'd also get two of the 7200 RPM drives (Samsung's OK, especially if you get retail with 3 years warranty) and run them in RAID 1. RAID 1 does two things right: 1) it can reduce seek times if your controller (or soft raid) is really smart, and 2) it means you can lose a disk and still keep your data.

Remember: when players actually play your game, losing a disk may burn your chances of come-back forever.

I'm assuming you intend to back up your data using the CD-RW. That's fine, as long as the entire database is less than 600 MB. Which it might be for a while.

Personally, I use Linux with kernels, modules and software I compiled myself; I use the linux "md" driver for raid-1 and I use reiserfs. Coupled with LVM, this makes for a really flexible set-up; I can add space to any partition I want while the machine is still up (assuming I don't run out, of course :-)

I actually have the two drives running off two different IDE controllers (built-in, and a plug-in) because if I fry a controller, I don't fry both drives with it. I'm paranoid like that. I chickened out and only got a single power supply, though :-)

If you do nothing else of what I suggest, please still make sure you get two drives and run software RAID 1. It's really worth it for any server.
enum Bool { True, False, FileNotFound };
If you're hoping this might evolve into something serious I'd pay the extra bucks for ECC RAM. Single-bit errors in memory are rare but I've seen enough of them to make me a believer.
-Mike
I would put ECC RAM in third place, behind disk redundancy, and memory throughput, but ahead of something like a 3.6 GHz CPU instead of 2.8 GHz. Sadly, to get ECC RAM capable hardware, you have to pay extra for the motherboard and RAM :-(

And, yes, the rate at which memory goes (or gets delivered) bad is surprisingly high. But when you're running a single machine, you're likely to notice sooner than if it's one or a few in a cluster of hundreds...
enum Bool { True, False, FileNotFound };
You'll probably want more memory. 256MB might be a bit low for a server.but I'd play it safe and go for 512MB. Remember, your running your server software, a DB, SSH, and possibly FTP! If you're using Apache, you'll certainly want to up the RAM

Also, why do you need a CD-RW? Idealy, you'd just set up SSH, and tunnel in whenever you need to change something.

A word of warning, even on a cable connection, your server will still be slow - not because the box itself is slow, but because you're connection wasn't designed for servers. If you'd like this to grow, you'll probably just want to rent space from a hosting company. I've been very happy with 1and1 (I admin a few web sites).

If you do decide build you're own server, I'd go with either Fedora or Debian. If you are familiar with command line linux (I mean very familiar), use Debian. If this is your first linux box, use Fedora.
Get some P1 or 586 computer with 16 MB RAM from Ebay, should be more than enough for 30 players.
If you don't believe me, I know a guy who had a Q1 server, a webserver, and some other stuff on a 586 133 MHZ, 16 or 32 RAM. That was in 1998, but it worked fine.

[edit] Once you get over 50 players online at the same time, you can ask for donations to build a better server, so don't worry about it.

BTW, the Eternal Lands server, running on a P3 1.1Ghz, takes about 10% of the CPU with more than 400 players at the same time. So do the math yourself.
Quote:Onemind
why do you need a CD-RW


Spoken like someone who has yet to lose his first hard disk. :-)

You know it will happen to you, too, right?
enum Bool { True, False, FileNotFound };
Quote:Original post by Lenox
When was the last time you had a crash on Redhat?


You know, I've actually had Linux screw up on me fatally about.. 6 times (hence why I rarely use it)

But ever since I've gotten Windows XP, I've never had a fatal crash.

I swear Linux just hates me, its a good OS, but it must think I'm Bill Gates :/

-Limb
-Limb
Actually, I suggest FreeBSD for the OS, we are using it for more than 1 year and never had one single problem with it.

This topic is closed to new replies.

Advertisement