What is built and running

A society, not a crowd of chatbots

AzerothCore and mod-playerbots fill a realm with hundreds of computer-run characters, and mod-ollama-chat lets them talk. Headless DM builds a society on top of that. Nine things, all of them live on the realm today — each one measured, and each one visible in the dashboard.

What changes when the world comes alive

With the stock modulesWith Headless DM
Who a bot isOne of a few personality types, such as "Roleplayer" or "Trickster"A written life — a past, a temperament, a goal, a trade and a household, checked against the Classic era
What it remembersThe last few lines of chat with youHow it feels about everyone it has met, and what happened to it, in its own words
GuildsGenerated names with nothing behind them20 companies with histories, rivals, lands and grudges. You join one by winning its members over
NewsNoneScribes write up each four-hour watch, and rumours travel the roads and distort as they go
Group chatAny bot may answer any lineOne quick check decides who you were talking to. Replies per line fell from 2.50 to 1.06
The marketRandom items from every expansionGoods that existed in Classic, loot the bots sell themselves, and prices learned from real sales
Watching itA server consoleA live world map with ten panels and five full archives

1 · Everyone has a past

Live 1,283 written lives

Every character on the realm has a life story of its own: where they came from, what they lost, what they are after. It shapes everything they say.

A story, a temperament, a goal

Each character has a backstory, a way of speaking and a motivation. The motivation points at something real — a person, a place, a cause or an old enemy.

A trade and a household

What you do with your hands and who your people are. 1,275 of 1,283 carry both, and both ride in every prompt they speak from.

True to the Classic era

A judge model reads every story and turns back anything from a later age: no Lich King, no Outland, no place that does not exist yet.

33 temperaments from the world

The stock "Gamer" and "Trickster" personalities are gone. No character thinks it is a player. Every prompt speaks to them as a person of Azeroth.

Company histories

Every company has a founding story, and members' pasts are written to match it. Even a joke name gets an explanation that makes sense in the world.

Write your own in the browser

The Lore Gate lets you write your character's history on a web page. A model shapes it to fit the era, or refuses and says why.

2 · Feelings that last

Live 104,391 ties · 41,810 moments

Characters remember more than your last few lines. They remember you: whether you fought beside them, let them die, or insulted their company.

A feeling for everyone they've met

Each character holds a feeling from −100 to +100 toward each person they know, and a sense of how well they know them. Ties are directed — what she feels for him is not what he feels for her.

Earned, with the reason recorded

Fights, deaths, invitations and insults all count. A judge model weighs the harder cases and writes down why, from each side: they blamed your poetry for the world's pain, −5.

Spoken in words, never numbers

A character is told "you trust her" or "he let you down", never "+64" — so what they say sounds like a person, not a stat sheet.

They talk when you're not around

1,976 conversations between bots with no player present, each one changing how the two feel about each other.

Acquaintance grows by nearness

Characters who keep crossing paths slowly come to know each other. Strangers who barely registered are forgotten.

A held tongue

A character who does not get to answer remembers what they nearly said. Others can tell something was held back, but never what.

3 · What they carry

Live 36,376 memories

Not everything that happens is worth remembering. What is gets written down by the character it happened to, in their own words, and weighed out of ten.

Written by whoever lived it

A model turns the evening's deeds into a memory in that character's voice — the place, who was there, what happened and what died.

Weighed, and the heaviest kept

A 10/10 was a defining night; a 3/10 was an errand. The heaviest tend to be deaths and near-misses.

Companions by name

Measured over two real dungeon runs: 85% of the party's memories name a companion, and every boss memory named the right killer.

Nothing is lost

When a character's store fills, the oldest are archived rather than dropped. A memory can outlive the room it was made in.

4 · Companies that fight for land

Live 20 companies · 38 lands · 122 relations

Guilds are no longer a name over someone's head. Companies hold territory, keep grudges that go back years, and push into each other's ground. Membership is earned.

History, seats and rivals

Every company has a founding story, home lands and relationships with reasons behind them — one disturbed a rival's ritual to seal a Scourge crypt, and neither has forgotten.

Land won by deeds

Members earn their company influence in a land by what they kill there, rare beasts counting most. Lands change hands, and every change is written down.

Joining is earned, not granted

Bots answer your charter based on how they feel about you. Win them over and an officer whispers you an invite. If they refuse, they say why, in character.

Loyalty and defection

Unhappy members leave. A bot who likes you more than its own company may leave it for yours — and its old companions will not forget that.

Bot companies move on their own

They recruit people they like, lose members who have soured, and trade members over time, with no player involved.

An ending with a story

When a company dies its history is archived, its neighbours hear of it, and its members carry the memory into their own stories.

5 · News that travels, and changes

Live 60 entries · 2 faction scribes

What happens in one corner of the world does not stay there. It is written down, carried along the roads, and retold a little differently in every town it reaches.

A scribe for each faction

Brother Anselm Marlowe writes for the Alliance and Mokra Oathkeeper for the Horde, each writing up every four-hour watch from what actually happened.

Rumours move along real roads

A tale travels one land further per watch, following a hand-drawn map of Classic borders, the Deeprun Tram, the ships and the zeppelins.

Every retelling drifts

A silent rogue becomes a beast that steals sound from the air. A company called Expendable Shadow becomes an army of shadows.

Locals repeat what reached them

Characters mention the version of a story that has arrived in their own town. Two towns may flatly disagree, and both will argue.

Your own chronicle

A scribe in Booty Bay writes up your household's deeds every watch, in a reader of its own.

6 · Talk that sounds like people

Live 2.50 → 1.06 replies per line

A crowd of chatbots is not a crowd of people. Who speaks, how much they say and what they notice were all rebuilt, so a party feels like company rather than a wall of text.

Knows who you're talking to

Before anyone answers, a small fast model decides who your line was meant for. One person replies, not the whole party.

Bots start conversations

A character can turn to someone by name instead of remarking to the room — and bots standing together hold conversations with no player there at all.

The right length, in whole sentences

Each line gets a length that suits the moment. Caps cut at the end of a sentence, never mid-thought.

Words, not numbers

Level-ups, quests and the state of a fight reach the model as plain description. "A task you took on" replaces quest IDs, and no gold figures leak into speech.

Nothing reminds them it is a game

83 prompt and event templates and 173 knowledge entries were rewritten in-world. A typo becomes a joke about dwarven ale, not a broken illusion.

The tics get hunted

Repeated verbal habits are measured and driven down — one stock phrase went from 11.3% of lines to 3.0%, confirmed against the null.

7 · Every life, in the order it happened

Live 965 journeys · 56 places · 26 instances

Under everything is the ledger: an append-only record of every kill, death, quest, level, group, sale and word spoken. Everything else is built from it.

One character's whole record

Every kill, quest, level, journey, conversation, feeling and memory, in order, grouped by day and by place, with the companions they were with.

Filter it into a transcript

Leave only Talk and you have every word they ever said. Leave only Deeds and you have a plain campaign log.

Follow a friendship from both sides

Names inside a record are links. Click a companion and you are reading their journey of the same night.

Offline characters too

A journey survives its character being logged out, re-levelled or asleep for a week.

8 · The era, and the market

Live 16 phases · 11,215 Classic goods

The realm launches as Classic and moves forward only when you decide — and the people move with it.

A release schedule you control

Classic at level cap 60, then Onyxia, Blackwing Lair, Zul'Gurub and Ahn'Qiraj; then five Burning Crusade phases and five Wrath phases.

Only the races and classes of the age

Blood elves, draenei and death knights stay off the realm until their expansion arrives.

The Classic court

Bolvar Fordragon and Lady Prestor hold Stormwind Keep. King Varian and the later Jaina are set aside until their time.

Merchants, and bots who sell

Named traders stock three auction houses from an era-checked list, characters list what they loot, and prices are learned from what actually sells.

9 · Runs at home, on your own models

Live no cloud service, no per-message bill

Every word is generated on machines on one home network, and the work is shared out so the game never waits.

One router, many machines

A router speaks the same API as Ollama, so the chat module needs no changes. Behind it the work spreads across every machine, and if one is busy or down another takes over.

The right model for each job

A fast model handles everyday chatter, a large one careful replies, a novelist model the chronicles, and a small one the quick calls — who was spoken to, and whether a story fits its era.

The world server never waits

No prompt assembly makes a database query or an HTTP call. The slow thinking happens in Python services that write rows; the module reads them from memory.

Every feature has a switch

Feelings, companies, the chronicle, the lore gate and each chat behaviour can be turned off on its own, without touching the rest.

Built on open source, and kept up to date with it

Headless DM does not replace the community's work — it sits on top of it. The core server is never patched. Every change to a public module is a separate commit, off by default, so each module still updates from its original project.

LayerWhat it isOurs?
Five servicesRegard (feelings and companies), Chronicler (scribes and rumours), Market, Lore Gate, and a model routernew
mod-ledger · mod-dashboardThe permanent record of every deed and word, and the live window onto the worldnew modules
mod-ollama-chatBots reply through a language modelforked, changes off by default
mod-playerbotsHundreds of bots that quest, fight, group and take ordersforked, changes off by default
mod-progression-systemOpens raids and content in release orderconfig only
AzerothCore 3.3.5aThe server itselfuntouched