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.
- discord community
- 18k members
- public api traffic
- 1M+ req / day
- blaze throughput
- ~15 MB/s
- subscription revenue
- $400–500 / mo
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. No spec, no proto files. We mapped the encoding, type system, and message shapes by combining packet capture with live memory reads against running clients.
Then I built the platform alone:
- Blaze SDK in Rust - the platform sustains ~15 MB/s of decoded Blaze traffic per active region. Anything slower stalled the live player views, which forced Rust on the wire layer.
- API + workers - FastAPI gateway in front of Rust workers, MongoDB + Postgres for state, Redis for hot caches, Kafka fanning out Blaze fetches across a worker pool. The public stats APIs on top serve 1M+ requests / day.
- Frontend - Next.js + TypeScript for the manager and the public stats site.
- Identity & permissions - Discord OAuth for sign-in, then a custom RBAC layer that pulls Discord roles into fine-grained per-server permissions. Admins can define their own roles.
- Accountability - every action (kick, ban, role change, config) writes an append-only audit log and streams into the community's Discord in real time. Bans require evidence uploads before they commit.
- Discord bot - same functions, surfaced inside chat for admins who live there.
- Auto-ban engine - rule engine over the live stats stream that flags or bans on configurable thresholds.
Player tracker
Per-player profile: every reported match, full stats, analytics, 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.