Game Server Monitoring & Analytics Platform

Developed a monitoring and analytics platform for Garry's Mod servers that collects operational metrics and player activity data, stores historical information, and exposes analytics through a REST API and web dashboard.

The project was designed to provide server operators with long-term visibility into player activity trends while maintaining a lightweight and configurable deployment model.

Overview

The platform periodically polls game servers using the SourceQuery protocol to retrieve server status and player information. Collected data is persisted for historical analysis and made available through a REST API that can be consumed by dashboards, external tools, or third-party integrations.

A configurable polling system allows operators to define monitored servers, adjust collection intervals, and run the platform in a simulation mode for development and testing.

architecture

Data Collection & Processing

Implemented a polling service responsible for:

  • Querying Garry's Mod servers via SourceQuery
  • Collecting server status information
  • Tracking player counts over time
  • Storing historical metrics for analysis
  • Supporting configurable polling intervals

For development and testing environments, the poller can operate in a simulation mode that generates realistic randomized datasets without requiring access to live game servers.

dashboard screenshot

Analytics & Visualization

Built a time-series analytics system capable of presenting player activity across multiple time ranges:

  • Last Hour
  • Last 24 Hours
  • Last 7 Days
  • Last 30 Days
  • Last 90 Days

To maintain readability and performance across larger datasets, multiple polling results are aggregated into individual chart intervals, providing:

  • Minimum player count
  • Maximum player count
  • Average player count

This approach enables efficient visualization of long-term trends while preserving meaningful statistical information.

dashboard screenshot

API & Configuration

The platform exposes collected metrics through a REST API, allowing integration with custom dashboards and external monitoring systems.

Runtime behavior is fully configurable through environment variables, including:

  • Monitored server list
  • Polling frequency
  • Database configuration
  • Poller operating mode
  • Development and testing settings

api

Technologies

  • Go
  • REST APIs
  • SourceQuery Protocol
  • Time-Series Data Processing
  • SQL Databases
  • Docker
  • Environment-Based Configuration

Key Achievements

  • Built an automated monitoring solution for multiplayer game servers
  • Implemented configurable SourceQuery-based data collection
  • Developed historical player analytics with statistical aggregation
  • Designed a REST API for dashboards and third-party integrations
  • Added simulation capabilities to simplify testing and development
  • Created scalable visualizations for long-term player activity analysis