merrymak3r/wow-llm-personas — explained in plain English
Analysis updated 2026-05-18
Give AI playerbots on a classic WoW private server distinct, consistent personalities instead of generic lines.
Run an offline roleplay experience where hundreds of bots each feel like a different character.
Let party bots banter with each other in character during a dungeon run, within safe limits.
Add a custom character by dropping in a plain text persona file, no coding required.
| merrymak3r/wow-llm-personas | 0petru/sentimo | agi-eval-official/forte | |
|---|---|---|---|
| Stars | 17 | 17 | 17 |
| Language | Python | Python | Python |
| Setup difficulty | hard | moderate | hard |
| Complexity | 4/5 | 3/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires an already working CMaNGOS 1.12 playerbots server plus a local Ollama install with a model pulled before this shim does anything.
This project gives AI controlled party members in vanilla World of Warcraft actual personalities, powered by a local language model instead of the bland scripted lines they normally speak. It is a small Python shim, only around 230 lines and using nothing beyond Python's standard library, that sits between a CMaNGOS classic WoW server running the playerbots mod and Ollama, a tool for running language models on your own computer. It does not include the game server or the bots themselves. Those are existing, separate projects you set up first. This repository is only the glue that gives those existing bots a voice: it intercepts the chat requests the playerbots system already sends out and answers them in character instead of with generic text. Three things make this work. First, any bot with a matching text file in a personas folder speaks using that written character, and bots without a custom file still get a consistent personality automatically generated from their name, so a large crowd of ambient bots still feels varied rather than repetitive. Second, each bot remembers the last few exchanges of a specific conversation, so its replies stay consistent instead of resetting with every line. Third, bots can banter with each other, not just with human players, with careful limits in place so one line does not spiral into an endless chain of bot replies flooding the chat. The shim is also built to fail safely: if the local language model is slow or errors out, the bot just stays quiet for a moment rather than freezing the game chat. It also cleans up messy output that smaller uncensored language models sometimes produce, such as stray narration, leaked prompt text, or broken formatting, before anything reaches the in game chat window. Everything runs locally on your own computer and network, with a small uncensored model suggested as the default so bots can talk casually and stay in character, since the author found that more heavily filtered, polite models refused to play along with rowdy NPC personalities.
A tiny local Python shim that gives AI playerbots in a classic WoW private server real, distinct personalities using a locally run language model via Ollama.
Mainly Python. The stack also includes Python, Ollama.
The README does not state a license, so the terms for using or redistributing this code are unclear.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.