The game server software is written in Java for stability, maintainability, security and performance. PostgreSQL has been chosen as our database software for its stability, integrity, scalability and openness.
Performance and scalability
The server software is based on a "few-threaded" design to avoid thread starvation and race conditions. Clients are handled in a round-robin fashion, guaranteeing that all clients get a fair time slice and equally fast response even under heavy loads.
In the case of server overload the server will scale down performance evenly for all clients who will experience the same increase in latency. The increased latency will make the games take longer and make the games feel a bit sluggish, but won't affect the outcome of the games since the server is aware of its own latency and takes it into account when handling timeouts.
The choice of Java as the language and careful programming with proper use of exception handling has made The Cybergaming game server exceptionally stable, with no unscheduled downtime for more than three years.
All hardware in use has a high level of redundancy with redundant, hot-swappable components and a surveillance system based on Nagios monitors the health of all our servers, proxies and connections. In case of irregularities an alarm is immediately sent by email and SMS to all responsible technicians.
The content of the database is replicated to a secondary database with latency less than 10 seconds using Slony. An offsite backup of the database is taken daily.
All servers are placed in a state-of-the-art server hall with redundant power, Internet connections, cooling etc. The personnel of the server hall is highly trained and trusted.
Random Number Generator and Card Shuffling
The random number generator (RNG) is state of the art and uses specific hardware to continuously seed a pseudo random generator (PRNG) of our own design and guarantees an unpredictable and balanced flow of randomness for shuffling the cards. Cybergaming's gaming software carries an official Certificate of RNG Evaluation from Technical Systems Testing (TST), an internationally recognized and respected Accredited Testing Facility.
TST has been working with industry operators, suppliers, manufactures and regulators to ensure that gaming products operate in a manner that is fair, secure and auditable and comply with some of the world's most stringent and comprehensive legislative and regulatory requirements.
TST laboratories provide fully independent and impartial testing and certifications for industry operators, suppliers, manufactures and regulators. TST analyzes system software and equipment, and the environments in which they operate, against manufacturer's specifications, legislative and regulatory requirements, and to generally accepted industry standards.