Gnasher’s Grimoire
The table, and the phones around it
Your screen runs the game. Their phones run Gnasher's Satchel, and the two halves link with one code read aloud. This page walks the whole thing: opening the table, the road that still works when a router refuses, what every word on a seat means, the check you run before anybody arrives, and what happens when somebody's phone drops out.
Open the table
One code, read aloud, and their phones are on your screen.
- Press Everything on the bar and choose Theater.
- Type a name for this table in the top box, and pick the party that sits at it.
- Press Open the table by code. A code appears, something like EMBER-42, with a small picture under it.
- Read the code aloud. Each player opens Gnasher's Satchel, taps the wax seal at the top left, types the code and taps Join.
- Or hold your screen up. That picture under the code is the Satchel with the join already in it, so a phone camera is enough.
The code belongs to the table, not to the night. A saved table keeps the same code, so your players type it once and it still works next week, and reloading your own page mid-session reopens the table on its own, seats and all, with nobody typing anything.
Honest limitsOnly Change the code makes everybody retype, so reach for it when a code has leaked and not otherwise. Lock the table admits only the seats this table already remembers: your own party keeps rejoining by itself, and a new face waits for you to unlock. Same room pairs on the room's own network for a venue with no internet at all, and + Invite by paste trades the same handshake as copied text.
When the router will not let them talk
Guest Wi-Fi in a hall or a cafe often stops two devices talking to each other. That is a setting on their router, not a fault in your app or in anybody's phone.
- Press The router won't let us talk in the Theater panel.
- A code appears on your screen and keeps turning over.
- Each player opens their Satchel, taps the pairing ring, presses Read the invite with the camera and points their phone at your screen.
- A reply comes back on their screen. They press Show my reply as a code, and you read their phone with Open the camera.
- The link opens and they are seated with a name and a seat number, exactly like a code join.
Nothing leaves the room on this road, so there is nothing for the network to block. It carries the handshake only: once the link is open, the board, the handouts and the rolls all travel the way they always do.
Honest limitsThis road hands things across by camera, so it carries sheets, rosters and notes and not maps, art or a whole Keeper: those are too big for a camera, and saying otherwise would waste somebody's evening. If a player's Satchel tells them this network will not let their phone and your screen talk to each other, this is the road it is pointing at.
The camera invite, and a box to paste into
For the desk with no webcam, and for the light that is never quite right.
- An invite made by camera has a row of its own that says it is a camera invite, and it stays in your list.
- Beside it is the same paste box the typed road has, and a Link control.
- The player reads your screen with their phone, then shows you their reply, or sends you the text of it.
- Paste it in. A single frame says it took a frame; a whole reply says so and goes where it belongs.
Honest limitsPaste something that is neither and it tells you in a sentence instead of doing nothing at all. Nothing on this road leaves the room, so there is nothing on it for a network to block.
What the line on a seat means
Every word on a seat is telling you something specific. Here is the whole vocabulary.
- Waiting for the next player. with no number on it: the table is listening and nobody is halfway in. A number belongs to a chair, and a chair exists once somebody sits in it.
- PAIRED: linked, awake, and getting everything you push.
- resting: their phone dozed off. The seat is held, and whatever you push is delivered the moment their screen wakes. Their Satchel rejoins by itself.
- waiting: a paste invite that has been made and not yet answered. A code seat that has not said hello is not drawn at all, so you never see a phantom row.
- seat 1, seat 2: the number that device keeps. A player who loses Wi-Fi and comes back is the same player, in the same chair, with the same number.
- older Satchel: that phone is running an older free copy, so newer table things like the turned grid and the condition dots do not reach it.
- grid not turned or board out of sync: their fog and tokens are sitting off the map, or some board updates never landed. Push the board again, or have them rejoin.
Honest limitsThe line under an open code tells you how many invites are out at once, because that depends on the code service and not on you. When it can take four players together it says so; when it takes one player at a time it says that instead, and a table of four simply sits down in turn.
The table-night check
One press, before anybody arrives, and it reads everything live.
- Open the Theater panel before your players get there.
- Press Table-night check.
- Read the rows: the code service, a relay for a network that blocks devices, the join link on the code's picture, the second screen, and whether the light of day is travelling to the table.
- It answers GO, or NO GO on however many of them failed, with the reason written on every row.
- A row can also come back as a note. A note is a note: it tells you something and it never counts against the night.
Write down what it says before your first player joins. That is your baseline for the night, and if the code service row is red there, nothing after it means very much.
Honest limitsThe join link row reads the page and says what the site answered, and a row it could not read from your machine counts as a no go rather than a pass. When the relay row says none, a table whose two halves are on different networks has nothing to fall back on, and the row names the road that still works instead of leaving you to guess.
When a player drops
The honest answer is that there is nothing for you to do.
- Their Satchel shows one line at the bottom of their screen, Reconnecting..., and nothing else. No join prompt, no new name.
- It comes back on its own, as the same player, in the same chair, with the same number.
- After two minutes it stops spinning and says so plainly: nothing is wrong with their Satchel, the table just is not reachable from there yet.
- After ten minutes it stops, says that too, and offers one button: Join by camera instead.
- It never asks anybody to sit down again as somebody new, so nobody ends up being called player ninety-six.
Honest limitsA sick code service no longer closes your table on one bad answer: it is retried, and the code closes only after two minutes of silence, with the line saying which and counting down. And if the evening is going badly anyway, your own screen runs the game perfectly well with nothing paired at all: put the board on a television and use metal minis.
What a seat tells you
Enough to run the fight without asking anybody for a number out loud.
- Every seat's row carries hit points as a bar and a number, temporary hit points, armour class, what they are concentrating on, the conditions they are wearing, and death saves as pips.
- Down, dead and back up each say so once, at the moment it happens, and never again on a redraw.
- A multiclass character reads Fighter 3 (Champion) / Wizard 1, each level beside its own class, and a level taken mid-session repaints without anybody rejoining.
- Tick a seat into the muster and it fights as itself. Seats in the muster.
Honest limitsThis is the list, and it goes to you and to nobody else. A player still chooses what the rest of the table sees of their sheet, and what they hold back is never sent in the first place. A payload that carries another chair's credential is dropped rather than believed.
Your dice, and the rolls a sleeping phone missed
One log for the night, instead of two halves of one.
- Table rolls in the Theater panel starts on, and belongs to the table, so it travels with the table.
- Your rolls land in the table's log marked as yours, with a natural 20 or a natural 1 called out.
- A creature whose name you have hidden travels as its number and nothing else.
- Press the hold on a card to keep that roll behind the screen. It stays in your own log and goes nowhere.
A player who comes back into the chair after a phone has slept gets the table's recent rolls straight away, newest first, with the ones from while they were away marked as such. A catch-up that arrives twice does not double anything, and a roll you held is not in it.
Their marks, their thread, and taking a seat off
Three small things that were each wrong in their own way.
- An erase lands. A player who takes their own marks off the board takes them off yours. Their Satchel says it is asking, then says the marks are off the table, because it waited for your screen to answer.
- It works on a layer you have locked, because locking a layer stops new drawing rather than trapping somebody's own marks.
- A whisper thread belongs to the seat, not to the name on it. A player who drops and comes back is the same conversation, and a rename does not start a second one. The heading reads the name and the seat number together.
- Take off beside a seat drops that phone and bars nobody. They can come straight back on the same code.
Honest limitsEvery control in both halves of the app says Erase now, so there is one word for one thing.
What you send, and what you keep
Handouts, whispers and dossiers all have a face for the table and a side that never leaves your screen.
- Handouts: a title, then text or a picture, then Push text or Push image. Pick a name in the To row first and it goes to that chair alone.
- The quiet word: a whisper thread with one player. Nobody else ever sees it, and a resting seat gets it when the phone wakes.
- Packets: a dossier you hand somebody. The top half is headed The face: this is what they get; the box underneath is headed Yours only, never sent. Press Send it and only the face travels.
- Table rolls: every roll a player makes lands in the Theater log and in your session dice log, under the name of the seat that rolled it.
Honest limitsA packet's private box is never sent, and it is left out of the handout faces shown on the second screen too. The one thing worth remembering: an open link is not a pair of eyes. A resting seat gets what you pushed when it wakes, which is not the same as somebody having read it.
The second screen, and a television
The half of this that worked at a real table on the first night, with no phones paired at all.
- Press Everything on the bar and choose Second screen.
- Drag the window it opens onto the television.
- Press Full screen on that window.
- Open the War Board and run the fight on it, with minis on the table if you like.
It shows the board your players may see and nothing of yours, it needs no network at all, and it works whether or not a single phone is paired.
Honest limitsPrivate drawings and hidden tokens you do not own are left out. With lighting on, it shows what their eyes reach right now rather than everywhere they have been, so a dark corridor reads as dark. Token art is drawn as labelled markers rather than as pictures.
Try it on two phones
Ten minutes with two phones and the airplane mode switch tells you more than any page can. Open a table, join with one, turn its network off for a minute, and watch it come back as the same player in the same chair.
Download Gnasher’s Grimoire, free Everything else it doesStill stuck? Write to grimoire@longislanddungeonmaster.com or say so in the LIDM Discord. It goes to me, and bad news is the useful kind.
The companion line: Gnasher’s Grimoire™ (DM app) · Gnasher’s Satchel™ (player app) · Gnasher’s Quill™ (session recorder).