CASE 01 C++, AzerothCore, mod-playerbots fork and patches, mod-ollama-chat, mod-ah-bot 2026 3,000 bots

The world stays busy with no player connected, and the model is asked for a line only when a real player is near.

4 SHOTS text only

1 / 4
Auction house, seller is the mod-ah-bot character, 2026-10-30 18:48
itemqtyhousebuyoutleft
Glyph of Blink12Alliance22s 56c9.5 h
Elixir of Major Frost Power12Horde6g 75s3.5 h
Vileprey Cord1Neutral26g 74s 53c10.5 h
Bolt of Silk Cloth16Alliance1g 48s 80c8.6 h
Heavy Stock10Horde1g 19s 50c4.6 h
Ruined Leather Scraps16Alliance2s 24c17.6 h
Dense Stone16Alliance96s10.7 h
Slimy Murloc Scale10Alliance17s 60c21.7 h
Headhunter's Buckler1Alliance3g 46s 12c23.7 h
Goblin Rocket Helmet1Alliance7g 34s 50c18.8 h
Keeper's Hooves1Horde11g 70s 97c19.8 h
Wrathfin Waistband1Horde19g 94s 64c16.8 h
Hunter's Ink3Horde1g 47s4.9 h
Braxxis' Staff of Slumber1Horde135g 91s 19c1.9 h
Khorium Scope2Alliance7g 7s 50c21.9 h
fig. 1 Auction house, every 253rd auction id, 15 of 4052 listings, read from the characters database 2026-10-30 18:48. All 4052 listings have one seller, the mod-ah-bot character, so no seller column is shown. Time left is counted from the read.

mod-playerbots, mod-ollama-chat and mod-ah-bot are the open-source base, and the life layer on top is my work: a patched fork of the bot module, so 3,000 bots read as a lived-in world when nobody is connected.

At the time of the read there was no real-player session, the bots were logged in and moving, and the module’s own counter read submitted=0 for chat requests since the server started. That counter is the decision: where the spend goes. A random chat line is asked for only when a real player is within 150 yards or the bot’s guild has one online, and a reaction to an event only within 40.

Shot 2 is what the bots do alone: go grind, go camp, travel flight, a quest, or loiter at a bank or fountain for 600 to 1800 seconds. mod-ah-bot lists all 4052 auctions from one character across three houses, and none of the 3,000 random bots has a listing.

Start-up, 2026-10-30