~/hailcpy
all projects
rusttokiopython

GameTools

A management + analytics platform for community-hosted Battlefield servers, built by reverse-engineering EA's protocols. Used by 100+ admins; backing APIs serve 50k+ players.

▸ server-manager.mp4youtube ↗
// muted demo · servers list → live admin actions → streaming audit log

The problem

EA's Battlefield titles run on official servers that are overrun with cheaters, so players move to community-hosted ones to actually enjoy the game. The catch: every admin function - kick, ban, swap map, view live players, pull stats - only exists inside the in-game admin UI. That UI is buggy, partial, and effectively abandoned the moment EA stops supporting a title. BF5 didn't ship admin tooling to community hosts at all.

Community admins were moderating blind, and players had no way to look up real stats outside the game.

What I built

A complete external management + analytics platform for these community servers - every admin function, every player stat, every audit decision, lifted out of the game and into a proper web app, mobile, and Discord. Designed and built like a serious admin tool: identity, RBAC, evidence-backed actions, append-only audit logs.

How

EA exposes no public APIs for any of this. A small group of us reverse-engineered the surface:

  • HTTP gateway - captured with Fiddler (SSL pinning disabled), replayed, documented.
  • Blaze - EA's proprietary TCP wire protocol that carries the actual server/player data. We mapped the encoding, type system, and message shapes by combining packet capture with memory reads.

Then I built the platform alone:

TECHNICAL DECISION
Rust for Blaze SDK
Decision / Trade-off

Writing the core wire protocol parser in Rust instead of Python or TypeScript.

Rationale

The platform sustains ~15 MB/s of decoded Blaze traffic per active region. High throughput and low latency are critical; garbage collection pauses or interpreter overhead would stall live player views.

Outcome:Lower parser overhead and safer concurrency across the edge data streams.

Blaze SDK in Rust/Tokio

Decodes ~15 MB/s of proprietary Blaze traffic per region with async worker sessions.

FastAPI & Workers

Python FastAPI services handle 1M+ requests/day over REST and gRPC on MongoDB, Postgres, Redis, and Redis Queue.

Next.js Manager

TypeScript/React manager and public website for live analytics, admin controls, and SSE player lists.

Discord Identity & RBAC

Discord OAuth, Postgres-backed login state, and role-based server permissions.

Discord Bot & Audit Logging

Discord.py bot streams admin actions, evidence uploads, and server events into Discord channels.

Auto-ban Engine

Monitors live player stats to detect and ban bad actors matching set thresholds.

Architecture

Control plane through Python FastAPI services over REST/gRPC, Redis Queue for command fan-out, persistent Tokio-powered Rust worker sessions on the wire, Redis for hot cache and live coordination, MongoDB for EA/player data, and Postgres for login/RBAC state. The manager uses SSE for live player lists so admins can watch server state change without polling.

Built the FastAPI service on AWS and automated deployment and management of 100+ VMs with Hyper-V and PowerShell.

Player tracker

Per-player profile: every reported match, full stats, analytics, suspicion ratings.

▸ player-tracker.mp4youtube ↗
// muted demo · player profile → match history → suspicion ratings

Where it landed

The community I lead is now 18k Discord members. The manager runs 100+ admins across community servers; the public stats APIs serve 50k+ players and absorb 1M+ requests / day. A queue-skip VIP subscription on the manager pays for the infra at $400–500 / month.

This is the project I'd point at to answer "what does end-to-end ownership look like for you, outside of a job?" Reverse-engineering, protocol design, Rust on the wire, a real product layer, a real community, real money.

Project Info

TimelineDec 2021 – Present

Key Metrics

discord community
18k members
public api traffic
1M+ req / day
blaze throughput
~15 MB/s
subscription revenue
$400–500 / mo

Technology Stack

rusttokiopythonfastapitypescriptreactnext.jsredismongodbpostgresqlawsgrpctcp/udpwebsocketsrestssediscordhyper-vpowershell