Wiki contents
Configuration

Accounts and permissions

Player accounts, room roles, host approval, and account recovery.

Players and hosts

A player can use quick join without a password, providing a username and email identity. The browser keeps a device session; using the same display name in a new account does not reclaim an old hand. An approved host or site administrator can create rooms. An account with a password can request host access, but an administrator must approve it.

Room codes let people request access. With room approval enabled, a GM must admit each joining player. Without it, players are admitted immediately.

Room roles

Role Access
Player Move pieces and play their own hand.
Helper Player actions plus Library access for permitted decks, dice, objects, dispensers, mats, and notecards, scoreboard editing, and private notecard passing.
GM Helper actions plus table settings, boards, scenes, skyboxes, concealment, and game snapshots. Manage Helpers and Players; only the Owner can promote or demote GMs.
Owner The room creator, with GM access and protection from management by other GMs.

Site administrator is a separate, server-wide permission. Administrators manage users, host approval, rooms, and the asset library. They can join rooms as GMs and use private library assets.

GMs can use Room info > Members > Time-out / End time-out for members they can manage. Players choose More > Spectate / Return to play, or Watch beside an admitted lobby room. These modes block gameplay while retaining permitted chat, camera, and inspection. Existing hands and reserved seats remain; a new spectator starts without a seat. Returning to play requires a free seat when needed and does not end a GM time-out.

Passwords and recovery

Use Account security in the lobby to set or change your password. Setting a password does not automatically request or grant host access. Changing an existing password requires the current password.

Enroll recovery before you lose access:

Use Recover account / reset password to recover with a verified email or a saved recovery code. Recovery preserves the account's rooms, roles, hands, and library ownership. It does not grant host or administrator access.

A successful password change or recovery ends previous device sessions and invalidates existing recovery codes. Save a new set afterward. An unverified email address alone cannot recover a passwordless account.

Password lengths and host requests

Signup and account-security forms require matching passwords of 8-128 characters. The separate initial administrator bootstrap password accepts 12-1024 characters. A password signup requests host approval; setting a password later through Account security does not. Choose Request host access to enter the approval queue.

Administrator recovery

On the server, promote an existing account with:

npm run admin:grant -- user@example.com

For Compose, prefix the command with docker compose exec app. Run the command where the application's database environment is available. Native Linux/Proxmox services use a systemd environment file, so run this as root on the installed host or inside the LXC:

runuser -u open-tabletop -- /usr/bin/node \
  --env-file=/etc/open-tabletop/open-tabletop.env \
  /opt/open-tabletop/current/scripts/admin-role.mjs grant user@example.com

Promotion changes permissions; it does not reset a password or sign you in. Bootstrap settings create the first administrator only on an empty users table; they do not reset existing accounts.

Sources checked: docs/ACCOUNT_SECURITY.md, server/permissions.js, public/landing.js. Reviewed September 29, 2026 against the working source. Published releases may differ; check the changelog for your version.