Dragon Disco

Dragon Disco

Mix, cue, and play TTRPG encounters

About & Documentation

Looking for quick answers? See the FAQ & Documentation.

About Dragon Disco

Dragon Disco is a free, browser-based encounter builder for tabletop RPG game masters. Build and balance encounters with live XP and difficulty calculations, manage your monster database, export initiative commands to Avrae, and sync tokens to Owlbear Rodeo — all without any server-side account or sign-in. Your data lives in your browser; nothing is stored on our servers. Use Export/Import to back up or move between devices.

Contact

Questions, feedback, or bug reports? Join the Discord or email contact@dragondisco.com.

Support Development

Dragon Disco is free to use. If you find it helpful, you can support development on Ko-fi or Buy Me a Coffee. Donations are optional but appreciated!

Getting Started

1) Open the Builder

Go to the Builder tab. Add your party and any enemies you want to test. You'll see difficulty and XP update live.

2) Import or Add Monsters (Recommended)

Dragon Disco works best when your Monster Database is populated. Import from the 5e SRD (JSON/CSV) or add your own entries in Settings > Monster Database. The database powers autocomplete, CR/HP/Type lookups, and faster encounter building.

3) Add PCs

Enter each character's level (and optional AC/HP). Party thresholds update automatically for 2024 encounter math.

4) Build & Export

Use the Builder's export tools to generate Avrae commands or mirror enemies to Owlbear Rodeo. You can also use the Encounter Table for weighted random encounters and one-click exports.

Core Features

Encounter Builder

Add PCs and monsters, adjust counts, and see real-time difficulty. Export initiative and drop commands for Avrae, or mirror to Owlbear.

Avrae: Initiative Name Replacements

You can customize names that appear in Avrae using tokens in the Display Name field:

  • # – sequential number for duplicates (e.g., Goblin # > Goblin 1, 2, …)
  • %I% – initials from the monster name (e.g., "Ice Mephit" > IM)
  • %T% – creature type; %ST% – subtype; %ST-T% – subtype or type if no subtype
  • %FW%/%LW% – first/last word; %FI%/%LI% – first/last initial
  • %DFW%/%DLW% – drop first/last word
  • %S% – size
  • %TAG% – auto initials of the final rendered name (also usable in Init Effects)
  • Special: set Display Name to * to use the original name.

If you do not include # and there are duplicates, numbering is appended automatically and may not be correctly in sync with what is expected by Avrae.

Note: The Display Name field in the Enemies table controls both the names used in Avrae initiative commands and the token name labels in Owlbear Rodeo.

Encounter Tables

Keep a library of weighted encounters with notes. Roll, preview, and export quickly during play.

Monster Database

Import SRD or custom data (JSON/CSV/Sheets) or add manually. Fields like CR, Type, Size, HP, and URLs power autocomplete and lookups. The more data you have, the faster encounter building becomes.

Custom Monsters

For custom monsters, Dragon Disco works best when those monsters also exist in Avrae. Create them with Bestiary Builder, export to JSON and import here, then import the bestiary into Avrae (!help bestiary) so names match and initiative commands work as expected.

Avrae Integration

By default, Dragon Disco generates copyable initiative commands that you can paste into Avrae. If you prefer direct sync, store your Avrae API Token in Settings and (optionally) enable Auto-Sync to push updates automatically. With this enabled, you can take advantage of our companion Avrae Workshop alias, which allows you to start combat with a single command. No copy+paste required! You can also access the data synced to your Avrae User Variables (UVARs) and create your own custom aliases.

Important Security & Privacy Information

Your Avrae API token is sensitive. Only enter it in a trusted browser on a device you control. Anyone who obtains this token could act as you and may gain access to your Discord account. Never store your token (or any other sensitive information) on shared or public machines.

Dragon Disco works without automatic Avrae syncing via copy+paste without the need for an Avrae API Token. If you do connect, your Avrae API Token is stored only in your browser's local storage (that's also how avrae.io keeps it). It's your choice—and your responsibility—if you store it here.

When Avrae integration is active, your API token is sent to avrae.io with every request, as it is required to authenticate. When you sync encounter data (manually or via auto-sync), that data is sent to and stored in your Avrae User Variables (UVARs) on avrae.io.

Owlbear Rodeo

Add the custom extension in Owlbear Rodeo with this manifest URL: https://dragondisco.com/owlbear/manifest.json. Then open Dragon Disco Token Importer in Owlbear and keep this page open while editing enemies—tokens update automatically. NOTE: you may need to disable your browser's popup blocker for https://www.owlbear.rodeo/.

Data note: The Owlbear extension communicates with www.owlbear.rodeo and shares token and combat data with other instances of the extension in the same room, via Owlbear Rodeo's infrastructure.

Avrae Combat Sync

When connected to the Dragon Disco Avrae Workshop alias, the Owlbear extension can display live combat data synced from Avrae: initiative order, round number, HP, conditions, and active effects for every combatant. HP bars and condition icons are overlaid directly on map tokens. Players in the same Owlbear scene can view the combat state; the GM controls what information is visible to them.

Setup

Requires an Avrae API Token and the Dragon Disco Avrae Workshop alias. One-time setup:

  1. Enter your Avrae API Token in Settings > Avrae Integration and click Export to Avrae.
  2. Enter your Avrae API Token in the Owlbear extension Settings tab.
  3. Enable Show Combat Tab in the extension settings.

During combat:

  • Use !disco eot instead of !i next to advance turns and automatically sync combat state.
  • Use !disco sync to manually push the current state at any time.
  • Use !disco end to end combat and clear the display in Owlbear.

Settings & Data

Configure themes, integrations, and data. Everything is stored locally in your browser; use Export/Import to back up regularly.

Tips & Shortcuts

Quick Add

Type part of a monster name; autocomplete uses your database to fill CR/Type fast.

Inline Editing

Most fields can be edited in place; press Enter to commit or click away to cancel.

Troubleshooting

Owlbear extension isn't connecting

Confirm you added the exact manifest URL https://dragondisco.com/owlbear/manifest.json and that this page is open.

Avrae export failed

Re-check your API token in Settings > Avrae Integration. If Auto-Sync is on, try a manual Sync to surface errors.

Combat Sync not updating in Owlbear

Confirm your Avrae API Token is set in the Owlbear extension Settings tab and that Show Combat Tab is enabled. Use !disco sync to push state manually and check for errors in Discord. If you recently changed your Avrae account, update your token.

Import issues

Make sure your JSON/CSV follows the expected fields. You can always add or fix entries manually after import.

Privacy & Data

Dragon Disco is primarily a client-side app. Your encounter and settings data is stored locally (e.g., LocalStorage/IndexedDB). Export your data routinely to avoid loss if you clear your browser storage or switch devices. We are not responsible for any lost data.

Some features communicate with external services:

  • Avrae (avrae.io): Your API token is sent to avrae.io with every request as required for authentication. Sync features send encounter data to your Avrae User Variables (UVARs) on avrae.io.
  • Owlbear Rodeo (owlbear.rodeo): The Dragon Disco extension communicates with www.owlbear.rodeo and shares token and combat data with other extension instances in the same room.
  • Character sheet imports: Fetching character sheets from D&D Beyond or Dicecloud may route through a Dragon Disco CORS relay. No data is collected or stored, but the character sheet URL and ID pass through Dragon Disco's server.
  • Token images: Token images may load through the third-party image proxy images.weserv.nl, which receives the original image URL.
  • Google Sheets: The Google Sheets integration accesses your sheets via Google's APIs. See the full details in Legal.