sonikro / sonikro/TF2-QuickServer
Add granular analytics for server utilization (player joins, ping, maps, rcon usage)
Nobody has claimed this yet.
- 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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