Merrymak3r GitHub avatar

wow-llm-personas

Merrymak3r

A stdlib-only Python shim that routes CMaNGOS + playerbots AI chat through Ollama to give bots real personalities, memory, and banter, all on a local GPU.

Stars

17

7-day growth

No data

Forks

5

Open issues

0

License

MIT

Last updated

2026-07-19

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It lets anyone run a classic WoW server where hundreds of bots have unique, persistent personalities and can banter with each other—using a tiny, dependency-free script and a local LLM—making the game world feel alive without external services.

Who it is for

  • CMaNGOS server operators and WoW private server enthusiasts
  • AI/LLM hobbyists interested in character-based NPC interactions
  • Homelab tinkerers who want to run local AI services for games
  • Roleplay server admins looking for immersive bot behavior

Use cases

  • Give AI-controlled party members distinct personalities in a vanilla WoW server
  • Enable bot-to-bot banter so NPCs riff off each other in party chat
  • Test and prototype LLM character prompts in a real-time game environment
  • Run a private, low-latency AI backend for legacy game server mods

Strengths

  • Zero external dependencies (stdlib only, no pip install) – runs on stock Python
  • Deterministic procedural personalities for hundreds of bots without manual files
  • Per-conversation memory scoped per (bot, speaker) pair to avoid cross-player leaks
  • Fail-quiet behavior (empty line on error) and extensive output sanitization

Considerations

  • Requires a pre-configured CMaNGOS + playerbots server (not included)
  • Works only with the KoboldCpp-shaped LLM hook in that specific playerbots fork
  • Uncensored model by default may generate inappropriate content; operator must manage safety

README quick start

wow-llm-personas

A tiny (~230-line, stdlib-only) Python shim that gives CMaNGOS + playerbots AI playerbots real personalities by routing their in-game "ai chat" through your local Ollama.

Party bots roast you in character, remember the last few things you said, and banter with each other, all on one consumer GPU, nothing leaving your LAN.

This is the shim behind [that r/homelab post] about ~1,800 vanilla-WoW bots with AI personalities. The bots and the server are stock projects; this repo is the glue that gives them a voice: the persona injection, the per-bot memory, and the bot-to-bot banter tuning.

Prerequisites

This shim only handles the personality layer. You need a working CMaNGOS 1.12 + playerbots server first (the one with the native LLM-chat hook). The fastest path, and the one I used, is the prebuilt Eluna-CMaNGOS-Classic Windows builds, which bundle the bots, Eluna, and the extractors:

You supply your own 1.12 game client. This repo distributes no game data and links to none. Once your bots chat at all server-side, point AiPlayerbot.LLMApiEndpoint at this shim and you're set (see Quick start).

How it works

The playerbots module already has a native "LLM chat" hook: when a bot talks, it POSTs a KoboldCpp-shaped request to whatever endpoint you configure:

POST /api/v1/generate   {"max_length": 100, "prompt": ""}
->                       {"results": [{"text": ""}]}

So instead of running KoboldCpp, you point it at this shim, which speaks that shape on the front and talks to Ollama on the back. In between, it does the three things that turn "an LLM answered" into "a character answered":

1. Per-bot persona injection

The server's prompt always contains Your name is .. The shim pulls that name out and, if personas/.txt exists, loads it as the **system me

Description

Give your CMaNGOS/playerbots AI companions real personalities with a local LLM — a tiny, dependency-free Python shim over Ollama. Per-bot personas, memory, and bot-to-bot banter, fully offline.

Related repositories

Similar projects matched by category, topics, and programming language.

gavamedia
Featured
gavamedia GitHub avatar

deltafin

Deltafin is a research project that runs the 2.8-trillion-parameter Mixture-of-Experts model Kimi K3 on a single Apple Silicon Mac (e.g., M1 Max with 64 GB) at about 16 seconds per token, using exact, reproducible inference with local or streaming expert loading.

AI & Machine LearningLarge Language Models
304
uzairansaruzi
Featured
uzairansaruzi GitHub avatar

hermex

Hermex is a native SwiftUI iPhone app that lets you control a self-hosted Hermes AI agent directly from your phone, with no subscriptions, tracking, or third-party relay.

AI & Machine LearningLarge Language Models
941
S40911120
Featured
S40911120 GitHub avatar

recensa

Recensa is a self-hosted web viewer that indexes Claude Code session transcripts into a local SQLite database, enabling full-text search, replay, and audit of all past agent conversations without uploading data anywhere.

AI & Machine LearningLarge Language Models
67