github.com/PredatH0r/xonstat

Pyramid application using xonstatdb to parse and store Xonotic statistical data.

Open this visualization on its own page →

Contributors

17

Lines of Code

3,812

From

2011-03-31

To

2019-02-24

About PredatH0r/xonstat

Qlstats is a web application for tracking player statistics in Quake Live, built on top of the xonstat framework which originally tracked statistics for Xonotic. The project uses PostgreSQL as its database backend and provides both a public-facing website and administrative tools for game server operators.

The system is composed of several interconnected components. Nginx serves as the reverse proxy and public-facing HTTP server, routing requests to backend processes based on URL patterns. The paster process, written in Python using the Pyramid framework, hosts the main website. Multiple Node.js feeder processes handle real-time data collection from game servers via ZMQ sockets, convert Quake Live stats into the xonstat format, and run various modules including player rating calculations, game server administration panels, and APIs. Cron jobs perform scheduled maintenance tasks like updating rankings and assigning geographic regions to servers and players.

The architecture scales through multiple feeder processes to work around limitations in the Node.js ZMQ library, with the production setup running five feeders performing different functions while the development setup consolidates everything into a single feeder process. The project is licensed under GPLv2 and includes complete configuration files for both production and local development environments.

Share this video