CyberGamingArena
A game launching daemon. The purpose of this project is to create a distributed
game network that allows members to launch a game servers (Quake III for example)
and control them. This is achieved by running a specially designed daemon
on each host in the game network. The system is in fact a heterogeneous
cluster, and can be modified to launch any application on any host.
Key features:
- cross-platform: available on Linux and Windows 2000
- multi-threaded on Windows, multi-process on Linux
- uses mysql backend to collect and store various info
- implements specially designed proprietary protocols
to pass control messages between hosts
- load balancing engine and built-in load monitoring
- creating the game config files prior to the game launch
- billing (decrease the users' balance) in real time
- chat rooms and lobbies
- querying the game servers about stats (like the QStat does)
- monitor network bandwidth using Linux IPTables
- log files
My duties in this large project were:
- development coordination
- architectal concept
- database design
- creating the protocols for daemon intercommunication
- development of the daemon
- development of the web admin area (with lots of config tools)
- development of the web user area (reg.form, some stats, balance replenishment form)
For information, there is also a client part - to create a clientside app. similar
to the GameSpy Arcade, with game rooms, lobbies etc.
Tools and languages: C (without ++), MS Visual C++ 6.0/7.0, GCC,
autoconf/automake/make, rpm .spec package file, getopt library,
MySQL, PHP (web pages), Perl (misc scripts)