How to Run a Real RPG on Janitor AI (2026)
Janitor AI’s own character records count exactly four fields into the prompt — personality, scenario, example dialogue and first message — and price each one in tokens. There is no rules field. No state field. No dice, no sheet, no saved variables.
That single piece of plumbing is the whole reason RPGs on Janitor succeed or fail, and it is why most “RPG bot template” advice you will find is padding. Whatever your game consists of has to fit inside those four boxes, it is re-read from scratch on every single turn, and every token it occupies is a token not being spent remembering what happened twenty messages ago.
So the job is not “write a longer card”. The job is to build a game that keeps its own books in public, where the model can see the state because the state is sitting in the chat where it was printed a moment ago.
This guide is for players who want to run an actual adventure — a world, stakes, progression, consequence — on a platform that was built for character chat. It can be done well. It requires knowing exactly what the platform is not going to do for you.
What Janitor Gives You, and What It Does Not
Janitor is a very large character library with a model layer underneath it. On 20 September 2026 its own browse endpoint reported between 638,920 and 639,000 public characters across repeated calls, and rpg is one of its 53 official tags, so plenty of people are already doing this.
What you get is genuinely useful for a game: an enormous catalogue to borrow from, character work that holds a voice well, and the ability to bring your own model instead of accepting whatever the platform hosts.
What you do not get is an engine. We say so in our Janitor AI entry and at more length in the full review — the platform has no state persistence, no mechanical layer, no world simulation, and it is strongest at exactly the thing it was designed for. Its weakest showings in our scoring are memory and depth, and an RPG is the use case that leans hardest on both.
None of that makes an RPG impossible. It makes it a writing problem rather than a configuration problem.
The Four Boxes
Here is what Janitor’s character data actually tracks per card, with a token count kept against each:
| Field | What it is counted as | What it should hold in an RPG |
|---|---|---|
| Personality | personality_tokens | The game master: what it narrates, what it refuses, how it adjudicates |
| Scenario | scenario_tokens | The world, the situation, and what would end the campaign |
| Example dialogue | example_dialog_tokens | A demonstration of the exact turn format, including the status block |
| First message | first_message_tokens | The character sheet and the opening scene, together |
There is also a description, tags, and support for multiple alternate first messages — useful, as we will come to, for shipping several starting scenarios in one card. The general version of all this, for bots that are people rather than games, is in how to make a Janitor AI bot.
Notice what is missing. There is no field for rules that sits outside the prompt and gets consulted when needed. There is no variable store. The token counter exists because all four boxes are paid for on every single turn, forever. A 2,000-token ruleset is not a one-time setup cost; it is rent, charged per message, deducted from the same context window that is supposed to be holding your campaign.
That is the budget every decision below is spending.
Write the Personality Field as a Referee, Not a Character
This is the change that separates an RPG card from a character card, and most cards tagged for RPG never make it.
A character card describes a person so the model can be them. A game master card describes a function so the model can run it. It is not a person with a mood; it is a set of behaviours with edges. The useful shape is three parts:
What it narrates. The world, the NPCs, the consequences of actions, and nothing else. State explicitly that it never writes the player’s dialogue, actions, thoughts or decisions. This one line prevents the single most common complaint about roleplay bots — the model happily playing your character for you — and it needs to be in the personality field rather than buried in scenario, because this is a rule about the narrator’s behaviour.
What it refuses. A game is defined by what does not work. If the model says yes to everything, you are not playing, you are dictating. Give it permission to fail you: attempts can be refused by the world, NPCs can decline, plans can go wrong for reasons that were already true before you tried. This is the difference between a world and a wish.
How it adjudicates. State how a risky attempt resolves before the first one happens. The honest version is that the model decides, so tell it how to decide: by what the character is established to be good at, what the situation allows, and what the status block currently says. A rule of thumb that works well in practice is to require a cost on partial success — you get what you wanted, and something else got worse.
Keep this field tight. Everything in it is charged per turn.
Put the World and the Stakes in Scenario
Scenario is the session contract: where we are, what is happening, and what would make this campaign end.
The last part is the one people skip, and it is the one that makes a story feel like a game. An adventure without a terminal condition drifts, because nothing is being approached. Give it a shape — a thing to reach, a thing to stop, a countdown that is already running — and every turn acquires a direction.
Three things belong here and nowhere else:
- The setting, in specifics rather than adjectives. “A silver-mining town whose seam ran out two winters ago” outperforms “a dark fantasy world” by a wide margin, because the first one generates events and the second only generates tone.
- What is already true. Two or three facts the world will keep referring back to: who holds power, what everyone is afraid of, what recently changed.
- The ending condition. What victory looks like, or what the thing chasing you will do if it catches you.
If you are writing a fandom RPG — Naruto, One Piece, Pokémon, a school setting, any of the variants people search for constantly — this is also where you anchor which part of the canon we are in. Models know these worlds well; what they do not know is which moment you want to play in, and without that they average across the whole franchise and produce something slightly wrong in every scene.
The Status Block: Making the Game Keep Its Own Books
This is the technique the whole guide is built around, and it is the answer to “why does my RPG bot forget my stats”.
Nothing on Janitor is stored. There is no variable holding your hit points. But the model can see the conversation, and the most recent turn is the part of the context it reads most reliably. So if the state is printed at the end of every turn, the state survives — not because the platform saved it, but because it was just said.
A block at the end of each response, in a fixed format:
---
HP 14/20 · Coin 6 · Torches 2
Location: the flooded lower gallery
Heat: 2 — the Warden's men are asking questions
Four rules make this work, and breaking any of them breaks it:
- Three or four numbers, maximum. Every tracked value is something the model has to carry correctly forever. A full character sheet reprinted each turn is both expensive and fragile; a model that is juggling twelve numbers will start quietly getting them wrong, and a wrong number that looks official is worse than no number.
- Same format every time, no exceptions. Consistency is what lets the model read its own previous block as data rather than prose.
- It goes at the end. The end of the previous message is the closest thing to the model’s working memory.
- Include at least one number that only moves in one direction. A countdown, a rising alert level, a dwindling resource. This is what stops a session becoming a pleasant loop where nothing is ever spent — and it is the cheapest way to make a Janitor RPG feel like it is going somewhere.
When a number does go wrong, correct it in the chat rather than sighing at it. Type the right value as a plain statement and continue. The next block will pick it up, because the model is reading the recent conversation, and you just put the truth in it.
Example Dialogue Is Where the Format Is Actually Taught
Janitor counts example dialogue as its own field for good reason: it does a different job from instructions. Describing a format gets you an approximation of it. Showing the format gets you the format.
So do not spend this field on personality samples. Spend it on one complete turn that demonstrates the shape you want: a short piece of narration, an NPC speaking, the turn handed back to the player, and the status block rendered exactly as it should look.
{{user}}: I check the gallery for another way out.
{{char}}: The water has taken the eastern stair — you can see the
handrail below the surface, bending. But there is a maintenance
hatch at head height, rusted, with a padlock that has seen better
winters.
"Don't," says Ferrow, not moving. "That's Warden ground."
---
HP 14/20 · Coin 6 · Torches 2
Location: the flooded lower gallery
Heat: 2 — the Warden's men are asking questions
One example of a normal turn is worth more than three examples of dramatic ones, because the normal turn is what you will be playing almost all of the time. If you want a second, make it the case you are most worried about: an attempt that partially fails, so the model learns what failure sounds like in your game.
The First Message Is the Character Sheet and the Opening Scene
The first message does something no other field does: it sets the starting state, and it sets it inside the conversation, where the model will keep seeing it.
So put both halves in. The opening scene, and then the status block in its starting condition. If the player needs a character, this is also where to establish one in a line or two — or to offer a choice between two or three, which costs almost nothing and makes the opening feel like a game rather than a prompt.
Janitor supports multiple alternate first messages on a card, and for RPGs this is the most underused feature it has. One card can ship three separate openings — three entry points into the same world — and the player picks which campaign they are starting. Same personality, same scenario, same rules, three games.
Models, Proxies, and Why the Free Option Struggles Here
An RPG card is long before a single word of play has happened, and it demands instruction-following across a long context. Those are exactly the conditions that separate models.
The practical advice is to connect your own model rather than using the hosted free option, which is the architectural strength of this platform anyway: the character layer is Janitor’s, the model is yours. Our setup guide covers the account and connection path, how to get and connect an API key covers the key itself, and we have separate write-ups on running DeepSeek and on what a proxy is and when you need one.
For the model itself, the useful test is not which one writes the prettiest prose. It is this:
At turn thirty, is the status block still correctly formatted, and do the numbers follow from what happened?
That is a five-minute test and it sorts models faster than any benchmark. A model that drifts on format at turn ten will not hold a campaign. Current frontier models from Anthropic, OpenAI and Google all handle a small status block reliably; budget models through a proxy can do it, with more drift, and the drift shows up in the block before it shows up in the prose — which makes the block an early warning system as well as a memory.
If responses start arriving truncated, repetitive or blank rather than merely worse, that is a different problem with different causes, and Janitor AI not working covers the error families.
Surviving Turn Thirty
Everything decays in the same way, for the same reason: the context window is finite, and the oldest part of your campaign falls out of it and stops existing. This is not a Janitor flaw — it is how these systems work, and we wrote up the mechanism in why LLMs forget.
Three habits keep a long Janitor campaign alive.
Restate what matters, in play. When something becomes permanent — an alliance, a debt, a death — have a character mention it, or say it yourself in the chat. Anything that gets restated re-enters the window. Anything that does not, will not survive.
Keep a ledger outside the chat. A note on your phone with names, debts and open threads. It costs nothing, and when the model loses a thread you can hand it back in one line instead of rebuilding it. Our guide to summarising a campaign covers doing this properly, including the trick of periodically pasting a compressed summary back into the conversation.
Edit the card mid-campaign. Nothing stops you adding a line to scenario that says who now rules the town, because the world changed in session four. The card is not a contract signed at the start; it is the part of the prompt you control, and updating it is the closest thing Janitor has to a save file.
And expect the numbers to be soft. When a model prints a dice roll it is not sampling — it is producing a plausible-looking number, and it will lean toward whatever suits the story. If fairness matters, roll real dice or use any dice roller and type the result in as a fact the world must accept. If drama matters more, drop the numbers and let it narrate outcomes. Both are honest choices. Pretending the model rolled fairly is the only dishonest one.
When Janitor Is the Wrong Tool
It is worth naming, because building around a limitation is only smart until a platform exists that does not have it.
Janitor is a good choice when the game you want is fiction-shaped: characters, factions, intrigue, consequence, a world that reacts. Its character work is its best quality and an RPG can lean on it entirely.
It is the wrong choice when you want the mechanics to be enforced rather than described — real initiative order, hit points that are arithmetically correct, rules the system will not let you break, a world that persists whether or not you reminded it. A status block is a convention the model is cooperating with. It is not a rule, and nothing checks it.
If that is the game you want, it exists elsewhere. Our directory of AI RPG platforms covers the ones built for state and mechanics, and the best platforms for a long campaign is the shorter answer to which of them hold up over months rather than evenings. For a client-agnostic version of the craft itself, how to play an AI RPG covers the habits that transfer to any of them, and how to write a character card covers the card format that Janitor shares with the wider ecosystem.
The Short Version
- Janitor counts four fields into the prompt and charges for all of them on every turn. Your whole game lives in those boxes.
- Write personality as a referee: what it narrates, what it refuses, how it adjudicates. Ban it from playing your character.
- Put the world and an ending condition in scenario.
- Use example dialogue to show the turn format, including the status block, rather than describing it.
- Make the first message the opening scene plus the starting status block.
- Track three or four numbers, one of which only moves one way.
- Connect your own model, and test it by whether turn thirty still holds the format.
- Keep a ledger outside the chat, restate what matters, and edit the card as the world changes.
Frequently Asked Questions
Can you play an RPG on Janitor AI? Yes, but you are building it rather than loading it. Janitor AI has no mechanical layer — no dice engine, no character sheet, no state that persists outside the conversation. An RPG on Janitor is a character card written as a game master plus a status block the model reprints every turn. That works well for exploration, factions and consequence, and badly for anything that needs numbers to be exactly right.
What fields does a Janitor AI bot actually use? Janitor’s own data counts four fields into the prompt and prices each one separately: personality, scenario, example dialogue and first message. Its character records carry a token count for each of those and a total. Everything a game needs — the rules, the setting, the status block format, the opening scene — has to fit inside those four boxes, because there is no fifth box for rules or for saved state.
How do you make an RPG bot on Janitor AI? Write the personality field as a game master rather than a character: what it narrates, what it refuses, how it handles player attempts. Put the world and the win condition in scenario. Use example dialogue to demonstrate the exact status block format you want, because that field teaches shape better than instructions do. Then make the first message the character sheet and the opening scene in one. Keep the whole ruleset to three or four tracked numbers.
What is the best model for an RPG on Janitor AI? Use a model you connect yourself rather than the free hosted option, because an RPG card is long before the game even starts and instruction-following over a long context is the thing that breaks first. Any current frontier model from Anthropic, OpenAI or Google handles a status block reliably. Budget options run through a proxy work, with more drift on format. The practical test is whether the status block is still correctly formatted at turn thirty.
Can Janitor AI roll dice? Not really. There is no dice engine, so when a model prints a roll it is producing a plausible-looking number, not sampling one. It will also tend to produce numbers that suit the story it wants to tell. If fairness matters to you, roll physical dice or use any dice roller and type the result into the chat as a fact. If drama matters more than fairness, let the model narrate the outcome and skip the number entirely.
Why does my Janitor AI RPG bot forget the plot? Because nothing is stored. Every turn is the card plus as much recent conversation as fits in the context window, so older events fall out of the window and stop existing. The fix is to make the state visible: a status block reprinted every turn keeps the numbers alive because they are re-read each time, and anything that matters long-term has to be restated in the chat or edited into the card by hand.
Is Janitor AI good for D&D? It is good for the fiction around D&D and poor at D&D’s rules. Tone, NPCs, improvisation and consequence are its strengths; initiative order, exact hit point arithmetic and rule lookups are not, because there is no engine checking any of it. Players who want the mechanics enforced rather than described are better served by a platform built to track state, and our directory covers the ones that do.
Field structure and library size checked against Janitor AI’s own public browse and character endpoints on 20 September 2026; the platform’s character records count personality, scenario, example dialogue and first message separately toward a card’s token total. Janitor AI is a third-party platform and Arcanum is an independent publication with no affiliation to it or to any model provider named here; all names are used nominatively. Dungeons & Dragons is a trademark of Wizards of the Coast, referred to here only to describe a style of play.