Autonomous Game Bot Fleet

C# Python ZeroMQ FastAPI Redis OpenCV GPT-4o Docker

Autonomous Game Bot Fleet — 8-Repo Distributed System (Personal Project)

A fully autonomous gold farming operation: 18 bots across GPU-VPS and local NUCs, from behavior tree execution to eBay fulfillment, with zero human intervention and zero anti-cheat detections.

Show more ↓

1. Problem

I wanted to build a fully autonomous system that could farm virtual currency in an MMO, sell it on a real marketplace, and deliver it to buyers — all without human intervention. The engineering challenge: coordinate 18 bot instances across distributed infrastructure, read game state without triggering anti-cheat detection, and bridge the gap between an in-game economy and a real-world marketplace.

2. Solution Overview

I engineered an 8-repository distributed system spanning 3 languages (C#, Python, Lua):

Component Purpose Key Tech
TreeNetRunner Game-independent behavior tree execution engine with Blazor monitoring UI C# .NET 8 · Groot2 XML · MediatR
SocketPulse Custom IPC library for low-latency command/response between tree runner and game client C# · ZeroMQ ROUTER/DEALER · Reflection-based command discovery
WarrIO.NET Game client interface — pixel-based state reading, runtime Lua addon generation, 150+ sensors, 114 action handlers C# .NET 7 · Win32 GDI · OpenCV · Lua codegen
WarrIO.Profiles Behavior tree definitions: 337 waypoint routes, 120+ node types, 25+ zones, both factions BehaviorTree++ XML · JSON waypoints
WarrIO.NavMesh Pathfinding server with TSP-optimized multi-waypoint routing Python · FastAPI · Recast/Detour (C# DLL via ctypes) · 630 MB mesh data
WarrIO.Server Central coordination: inventory tracking, gold order lifecycle, Redis Pub/Sub broadcasting Python · FastAPI · Redis · SQLite · CQRS
WarrIO.Ebay Fully automated eBay auction management, buyer communication, and order fulfillment Python · FastAPI · eBay REST + Trading API · GPT-4o
SocketPulseHub Fleet deployment and orchestration across 18 bot instances Python · FastAPI · Docker · Git-based IaC

3. Key Technical Innovations

Pixel-Based Game State Encoding. Instead of memory reading (easily detected by anti-cheat), I generate Lua addons at runtime that encode 150+ game state values as pixel colors. The C# client reads the top pixel row via Windows GDI BitBlt — no memory hooks, no DLL injection, no shared signatures. Result: zero anti-cheat detections across 18 bots over 6 years.

Game-Independent Framework. TreeNetRunner sends named commands over ZeroMQ and receives success/failure/running responses. It has no knowledge of any specific game. Command handlers are discovered via reflection — drop a new IAction class into the assembly and it's automatically available as a behavior tree node. The entire framework is reusable for any application that accepts the SocketPulse protocol.

LLM-Powered Buyer Parsing. Buyers send freeform eBay messages like "pls send to björk on thunderstrike thx." GPT-4o extracts structured character names and server names, enabling fully automated gold delivery. Turned a 95% automated pipeline into 99.5% automated.

End-to-End Autonomous Pipeline. eBay purchase → order detection → GPT-4o character extraction → Redis Pub/Sub broadcast → atomic order claiming → in-game navigation to mailbox → gold delivery → screenshot upload → buyer confirmation → eBay fulfillment. Zero human intervention.

4. Impact

  • Scale: 18 simultaneous bot instances across GPU-VPS and local NUCs, running 12-16 hour daily windows
  • Autonomy: Full purchase-to-delivery pipeline with zero human intervention
  • Detection: Zero anti-cheat detections over 6 years of operation
  • Coverage: 337 waypoint routes across 25+ game zones, both factions, 5 profession chains
  • Architecture: 8 repositories, 3 languages, Clean Architecture throughout, CQRS, event-driven coordination

5. Key Challenges & Mitigations

Challenge Mitigation & Result
Anti-cheat detection Pixel-based state encoding via runtime Lua addon generation → 0 detections in 6 years
Game-independent extensibility SocketPulse IPC + reflection-based command discovery → new actions added in minutes
Freeform buyer messages GPT-4o extraction with structured output → 95%+ automatic parsing success
Distributed bot coordination Redis Pub/Sub + atomic SQL order claiming → no distributed locks needed
Navigation in 3D game world Recast/Detour pathfinding + TSP optimization → dynamic routing across 1,291 map tiles
Fleet deployment at scale Git-based IaC + pull-based updates → add a bot by committing a JSON file

6. Architecture

┌─────────────────────────────────────────────────────┐
│              SocketPulseHub (Orchestrator)           │
│         Deploys configs to 18 bot instances          │
└──────────────────────┬──────────────────────────────┘
                       │
         ┌─────────────┼─────────────┐
         ▼             ▼             ▼
   ┌──────────┐  ┌──────────┐  ┌──────────┐
   │Bot Inst 1│  │Bot Inst 2│  │ ... ×18  │
   │          │  │          │  │          │
   │TreeNet   │  │TreeNet   │  │TreeNet   │
   │Runner    │  │Runner    │  │Runner    │
   │  ↕ ZMQ   │  │  ↕ ZMQ   │  │  ↕ ZMQ   │
   │WarrIO.NET│  │WarrIO.NET│  │WarrIO.NET│
   │  ↕ Pixels │  │  ↕ Pixels │  │  ↕ Pixels │
   │Game Client│  │Game Client│  │Game Client│
   └─────┬────┘  └─────┬────┘  └─────┬────┘
         │             │             │
         └─────────────┼─────────────┘
                       ▼
            ┌─────────────────────┐
            │   WarrIO.Server     │
            │  Redis · SQLite     │
            │  Pub/Sub · CQRS     │
            └──────────┬──────────┘
                       ▼
            ┌─────────────────────┐
            │    WarrIO.Ebay      │
            │  eBay API · GPT-4o  │
            │  Order State Machine│
            └─────────────────────┘