PredatH0r/xonstat

Created Feb 16, 2021 · View the PredatH0r/xonstat repository page

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

Want this for your repo?

Render a free sample of any GitHub repo in seconds.

Visualize your own →

Contributors

17

Lines of Code

3,812

From

Mar 31, 2011

To

Feb 24, 2019

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