Today is a day I'm glad I'm in IT as it
makes what I'm doing tonight that much easier. Sooner or later I'm
going to need to be able to put together the network back end for my
game even if it's just a proof of concept. That requires equipment
which doesn't come super cheap. I need to plan months ahead to make
sure that I save enough $$$ set aside for equipment. However, if you
know what you're looking for and how to put together computers and
networks you can make yourself some pretty cool machines that will
let you do what you need to do at a pretty affordable price.
The first piece that you need is a
gateway device. Some people just call these firewalls but many
devices these days do so much more than that (content filtering, spam
filtering, antivirus, QoS, etc) and that is something that we should
be really interested in. SHOULD this become more than a hobby one has
to consider that you will have either paying customers who play your
game or you may offer a free to play solution but make your income
through in game advertising. I personally would always go for the
first even as a customer. When I have time that I can set aside to
play a video game the last thing that I want to do is look at
advertisements even it costs me a few bucks. That being said you're
likely going to need to have some means of keeping track of customer
financial records which you want VERY well protected (this device is
just the beginning of our overall security scheme – more to come).
You may be able to use a third party service but I'm an in-house kind
of guy because I want to be in complete control of my network
environment and I want to understand how every little piece works.
Regardless of the route taken we have to guard what we have to
protect our paying customers. And we should also pick the same kind
of product we plan to use in our production environment if possible
so that we don't need to be ramping up new skills when we're trying
to push out a game to production.
The product I will be using is a Linux
based gateway distribution called Untangle (www.untangle.com).
I originally heard about this through the Spiceworks online community
(community.spiceworks.com). They offer a free network
helpdesk/management/inventory/etc tool that is quite impressive and
they have become the single largest producer of network monitoring
software in the world with over a million users. You can find me
posting around there at times under the username Ethan1979. There
are some brilliant people that frequent the forums (Scott Alan Miller
and Justin Davidson are freakin IT ninjas of the ultimate degree)
from many different industries. I could go on and on about this
software but that will not happen until I start building the network
back end (there will be several posts for just the network monitoring
system itself). The point of this rant is that this software comes
highly recommended from the community and it's free for the basic
version. It's also modular in nature so we don't have to deal with
running more features than we need (important for saving $$$ on
hardware). If we were putting together a production environment I
would always go for the paid version as you get support. This is
invaluable when you are running a network that is making you $$$.
When your network is down you're losing $$$ and no matter how much
you pride yourself in your technical abilities shit happens....
To make this software work we obviously
need hardware and more importantly the right hardware. Since we are
on a shoestring budget we need need to find hardware that will give
us the best value for our $$$. In addition, the hardware needs to be
compatible with Untangle and be powerful enough to run all of the
features we want to use. I won't be using all of them but I will be
running the following modules
(http://www.untangle.com/untangle/features/
):
- Firewall
- Attack Blocker
- Intrusion Prevention
- Virus Blocker Lite
- Spam Blocker Lite
- Application Control Lite
- Phish Blocker
I picked these features as these are
the core ones that will help protect our network. This device will
scan each and every packet that goes through our Internet connection
and help to prevent would be troublemakers (mostly script kiddies
[wannabe hackers]) from messing with your network. Nothing is perfect
but just because there is no perfect solution doesn't mean you can
just ignore it. The Internet can be a dangerous place so just take
the time to protect yourself as much as you reasonably can.
Now we need to look at the system
requirements for this software and the number of users we plan on
having in our game. Since this will be proof of concept I probably
will never have more than a dozen players (various friends/family) in
the game at any given time but if interest takes off (if only for
exposure sake) I may find myself with 50-100 players or more. The
Internet is a big place so the number of players you could
potentially have in a production game could be in the hundreds of
thousands or more. For now, I'm going to plan for 100 users if its
economically feasible to give myself as much headroom as I can for
testing and make sure that this device doesn't become the main
bottleneck in my network.
So if we look at the system
requirements for this software
(http://wiki.untangle.com/index.php/Hardware_Requirements),
and the throughput we plan on having, I'm going to need the
following:
- Dual core CPU – This should not be a VIA or Atom dual core. As per the comments below the main system requirements these simply don't have the horsepower we need to effectively run this software for 51-150 users.
- 2GB RAM or more – RAM is cheap so 4 GB will be easy to come by
- 80 GB HDD – The cheapest of hard drives is 160GB so no problem there.
- 2 x wired NIC
In today's market this hardware should
come pretty darn cheap. I will be doing all of my parts shopping at
www.newegg.com. They have very
reasonable prices and most importantly to me thousands and thousands
of customer reviews for many of their products. This can really help
you narrow down what hardware you want to use.
In the end I decided on the hardware
shown in the screen shot below (Sorry for the small pic...too tired to make it better...zzz). I like Gigabyte boards because they
have been very reliable for me and they come with solid capacitors
(longer life). I also prefer SeaSonic power supplies for their clean
power and reliability. And finally, I picked Intel NIC's as they are
VERY well supported on Linux whereas a number of the integrated NIC's
are not. The rest is just filling in the blanks really.
So shipping and all we're looking at
about $430 for new hardware. To be honest I would prefer to find
something cheaper but if this is the route I need to go I will. And
like my previous post I may rebuild this thing virtually just for the
fun of it to see if I can find a better combination of parts. Or, I
may even go to one of the many PC recycling centers in the area and
see if they have any decent dual core hardware sitting around. This
can be a good route for proof of concept especially if it's a brand
name PC. There is a lot of info on the Internet about Linux hardware
compatibility so go do some searching!
I'd like to write more tonight but alas
I have to earn a living and 5:00 AM comes pretty quickly. The next
pieces of hardware I need to plan are beefed up computers (lots of
CPU cores, RAM and HDD's) to run my game lab on (these boxes will be
at least a year out). These boxes are going to be running a
virtualization hypervisor so that I can get the most out of that
hardware. I'll explain how that works more in my next blog post.
No comments:
Post a Comment