Component
|
Details
|
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 fifth incarnation of Boardspace, as hosting options have evolved. Only a naive optimist would
assume this will be the last.
|
Stock Software
|
In addition to the
basic Linux tools, Boardspace uses the Apache web server, Mysql
database, and Perl.
|
Game Server
|
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.
|
Game Clients
|
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.
|
Personnel
|
volunteers 1: paid
0. Maintenance time (in the absence of emergencies) is less
than an hour a week, but periodic "emergencies" are predictable.
|