Joining on Android

Typing a room code, scanning a QR invite, opening an invite link, adding a self-hosted server by address or its QR button, how a saved world is found again when its address changes, and the messages you can meet.

Android app

Four ways in

  • Join with a code on the title screen. Type the code a friend read out, ABCD2345-EFGH6789 for an or a shorter for a server you have already added. Spaces, dashes and lower case are fine.
  • Scan a QR code. The camera opens (the scanner asks for permission the first time) and a QR from a lobby, a party tab, or a server's own QR button joins or adds it. A code that is not an Open Dungeon Master invite is refused with a message.
  • Open a link. An odm:// link opens the app directly. An https://opendungeonmaster.com/j link opens the app once the Play listing's certificate is verified for the link; until then it opens the confirmation page in the browser, which offers the app.
  • Add a server from the title screen's menu or the drawer: one field that takes a room code, a server address like play.example.com ( is tried first, then http for a home server), or an invite link.

Signing in

On a world hosted from a friend's app you are asked for a name only; the code is the invitation and the app keeps your seat. On a self-hosted server you sign in or create an account there: username and password, Discord if offered, and an if the server is . Invite-only servers accept a live as your invitation.

Saved worlds

Every world you join is saved on the home screen and in the drawer with its cover and the host's name. A world hosted from a friend's app is shown offline when their app is closed, with the note that it becomes playable again when the host returns. The hide offline switch trims the list.

A saved world is recognised again by its address, or by its own identity when a comes back at a new address, and opens with your saved seat rather than being added twice. The app checks a code against the directory before it sends you anywhere, and a link can only move a saved seat to a trusted tunnel address, so a crafted link cannot rebind your seat to a stranger's server.

Messages

MessageMeaning
No table is online with that codeThe host is not sharing. The code only leads somewhere while its host is online.
That QR code is not an Open Dungeon Master invite or server addressThe camera read something else. Ask for the invite QR from the lobby.
Your seat could not be reopenedThe host removed your seat or the app lost its key. Join again with a name.
Every remote host is offline right now off Hide offline in Settings to see them.
This server needs an invite code or a live server: ask the administrator, or join through a campaign's code.
A fight on a phone: the chronicle, the message box, and the Hand as a rail of action cards beneath it
Once you are in, the phone is a full seat: , the map, the sheet, voice.

Checked against desktop and Android app 0.17.2 and server 0.26.2 on 2026-10-11. Something wrong or missing? Open an issue.

Download · v0.17.2
Server app · v0.26.2

Optional. Runs the table for a whole group on one machine that stays on. Everyone else just installs the app.

Free & open source · MIT licensed · served from GitHub releases