for the curious, and
potential webmasters, here's what it takes to build and run this site.
|Hardware and Operating System
|Boardspace runs on
a "cloud" based unix server. From the inside, it looks like
it runs all alone on a Linux machine, but the actual hardware is
allocated out of a large amorphous pool. This arrangement is
very flexible in the sense that the amount of memory, cpu, disk and
bandwidth can be turned up or down at will. Maintenance for
the operating system, the real hardware, power, and network access are
all handled by the service provider, Steadfast.net. The
service has been excellent. The total cost of this package,
including domain registration and other incidentals, is about $400/year.
Historically, this is the fourth incarnation of Boardspace in 6 years
as hosting options have evolved. Only a naive optimist would
assume this will be the last.
|In addition to the
basic Linux tools, Boardspace uses the Apache web server, Mysql
database, and Perl.
|The game server is
a custom application written in C, approximately 5000 lines of
code. It's really a pretty simple application whose primary
job is to multiplex the I/O among game clients. It knows very
little about games, and nothing about any particular game.
|All the game
specific software, including the Robots, is written in Java and
actually runs on the clients machines, not on the server. The
"core" Java code in the framework that serves all the games is about
20,000 lines. Each game has it's own support structure which
amounts to another 3000-5000 lines.
|Development and Testing
|Most of the
development and testing occurs on a Windows platform. Windows
versions of Apache, Perl, and Mysql are basically identical to unix
versions. A little care is needed to keep the C server
compatible with both MSVC and GCC. Eclipse is used as a
development platform for Java.
|volunteers 1: paid
0. Maintenance time (in the absence of emergencies) is less
than an hour a week, but periodic "emergencies" are predictable.
The bottom line:
As you can see from this rundown, provided you have the software in
hand, you don't need a rich benefactor or to have a lot of time on your
hands to run a site like this, but if you add up the number of lines of
code, you can expect to spend a lot of time and/or a lot of money
developing the custom software.