Run a Session
From an empty campaign to a room your players are actually in, GM side.
Last looked at 2026-08-17
The shape of it
Three objects, and it helps to keep them apart:
- A party is people. It doesn't end.
- A campaign is a game that party plays. It has a roster, a schedule and a status.
- A session is one sitting β a VTT room with a code on the door.
A campaign can point at a party, and sessions belong to a campaign. You can also make a room with no campaign behind it, for a one-shot or a pick-up game.
1. Start the campaign
Go to /table/workshop and find the Your games bench at the top. It wants a name, a game system, and β if you have any parties β which one is playing. Press Write it down and you land on the campaign's own page.
A new game starts reserved: every table you roll it out on shows the room that a game is happening there and nothing else β nobody outside can sit down, watch, or talk to your players, and your own party still walks straight in. Open it up on the campaign's page when you want strangers to be able to find it.
You're the GM of it automatically, as the person who made it.
2. Get players in
Two completely separate credentials, which is the single most common source of confusion here.
| What it opens | Where it lives | |
|---|---|---|
| Invite code | The campaign roster | Invite code row on the campaign page, with a Copy button |
| Room code | One VTT session, format ABC-1234 | On the room itself |
An invite code doesn't get anyone into a room and a room code doesn't put anyone on your roster. Players redeem an invite code on the same bench, in the Invite code slip.
If you'd rather be found than send codes out, the Recruiting panel has two toggles β Looking for players and Listed publicly β and you need both for the campaign to show up on the notice board where strangers can ask to join. The page nudges you about that; it's not a bug that flipping one alone does nothing visible.
3. Open the room
The button on the campaign page says Start session. It creates a VTT session, seeds a seat for every campaign member (carrying their role, character and colours across), and drops you into /vtt/{room code}.
It's safe to press twice. If the campaign already has a session that hasn't ended, you get that one back rather than a second empty room.
4. Prep, then open it
A new room starts in setup, and there's a banner saying so: Setup Mode β Players cannot join yet. This is where you build a scene β see Set Up a Map, which walks the wizard.
Two things do not work while a session is in setup, both on purpose and both surprising the first time:
- Nobody can join by room code.
- Fog of war doesn't render at all. If you're testing fog and seeing nothing, this is almost always why.
When you're ready, press Open to Players. That's the same action as the wizard's last step. There is no way back β a room goes setup β active, and ending it is separate (End Session in the session info panel).
Do this before you hand the code out. A player who follows a room link into a session that's still in setup currently just sits on "Connecting to sessionβ¦" indefinitely rather than being told what's wrong. Open the room first, then share.
5. Running it
- Initiative. GM only.
Roll Initiativerolls a d20 plus each token's modifier server-side and sorts them;Next Turnwalks the order and bumps the round when it wraps;End Combatclears it. Players see the order and can't touch it. Click a total to correct it. - Chat. In the room, for everyone in it.
- Rolls. The bit that catches people: there's no dice roller inside the VTT room. The room has a roll log, not a roller. Rolls arrive from the roller on the Dice page, where you pick which session to broadcast to β the picker only lists sessions that are currently active, and
Roll offlineis there when you don't want the table to see it. - Tokens. A player can move their own tokens and nothing else. Colours, visibility, layers, HP and deletion are all yours.
- You can't leave your own session. The GM has no exit; end the session instead.
The one that will bite you
Players who join the campaign after you opened the room don't get a seat in it. Seats are seeded once, when the session is created. Joining the campaign later adds them to the roster and not to the live room, and if the room is still in setup they can't even room-code their way in.
The workaround for now: get everyone on the roster before you press Start session, or end the sitting and start a fresh one once the latecomer is in.