sonikro / sonikro/TF2-QuickServer

Add granular analytics for server utilization (player joins, ping, maps, rcon usage)

Open
#219 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
19
Forks
10
Avg merge
40m
Merged PRs (30d)
5

Description

Feature Request

Implement a new analytics system to gain more granular insights into server utilization. The analytics should include:

  • Tracking which players join each server
  • Recording their PING (latency)
  • Logging which maps are played
  • Identifying which RCON commands are used the most

Implementation Suggestions:

  • We already listen to all events from servers using the UDPCommandLister. This bot can be extended to generate the analytics.
  • Consider the data storage approach: storing all this data in the current SQLITE database may be too heavy and inefficient for large-scale analytics.
  • Explore options for exporting or sending this data to external analytics platforms (e.g., Databricks, or another cloud-based analytics platform with a free tier) to better handle and visualize high-volume analytics data.

Questions/Notes:

  • Should we keep basic stats locally (SQLITE) and ship granular event data to an external analytics service?
  • What platform is best for easy integration and low/no cost for small-scale analytics?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing UDPCommandLister event handling and the current SQLite storage mentioned in the issue. Define which player, ping, map, and RCON events must be captured, then compare local storage with an external analytics option. The scope is complete when the storage and export approach, event data, and visualization path are specified.

Written by the indexing model from the issue text.

Assessment

Tech stack
sqlite, typescript
Domain
analytics, backend, data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.