-
Notifications
You must be signed in to change notification settings - Fork 0
Quick Start
Felipe Lippelt edited this page Jun 5, 2026
·
1 revision
- Node 20+ (use o
.nvmrcdo repo) - npm 10+
git clone https://github.com/flippelt/gm-control-room.git
cd gm-control-room
npm installnpm run devSobe server na porta 4000 (Express + Socket.io) e client na 5173 (Vite). O Vite faz proxy de /spotify/* e /socket.io pro server.
- Controle: http://localhost:5173/control
- Tela dos jogadores: http://localhost:5173/display
npm run build
npm start- O
buildcompilashared/→client/→server/(nessa ordem;sharedprecisa estar com JS pronto pro server consumir). - O
startrodanode server/dist/index.jsna porta 4000, servindo o client buildado como assets estáticos da mesma origem.
URLs:
- Controle: http://127.0.0.1:4000/control
- Display: http://127.0.0.1:4000/display (ou pelo IP da LAN — QR code aparece no boot)
Na raiz do projeto:
PORT=4000
# Spotify (opcional — sem isso, o painel mostra instruções e ignora a fase)
SPOTIFY_CLIENT_ID=
SPOTIFY_REDIRECT_URI=http://127.0.0.1:4000/spotify/callbackVeja Spotify pra detalhe de cada variável e do app no dashboard do Spotify.
gm-control-room/
├─ shared/ # tipos + helpers TS compartilhados (compila pra dist/)
├─ server/ # Express + Socket.io + persistência
├─ client/ # React + Vite (Control + Display)
├─ campaigns/ # *.json — uma campanha por arquivo
├─ assets/ # mapas/handouts/portraits/áudios (servido em /assets/...)
└─ .session.json # snapshot persistido (gitignored)
- Edite ou crie um
.jsonemcampaigns/(veja Campaigns pro schema). - Coloque mídias em
assets/(referenciadas como/assets/<arquivo>nas cenas). - Configure o
.envse quiser Spotify (Spotify). -
npm run build && npm start. - No painel, troque de campanha pelo seletor; ative cena na coluna esquerda; controle áudio, dados, tracker.
- Aponte a TV/projetor pro
/display.
Setup
Conteúdo
Ferramentas
- Combat Tracker
- Creature Library
- Encounter Library
- Clocks
- Party Resources
- Random Tables
- Dice and Roll History
- GM Notes
- RPG Systems
Display
Arquitetura