Arbiter includes a local seed script for repeatable demos, screenshots, and smoke tests. It creates a clearly marked fake organization with a Valorant match, an Apex Legends BR lobby, referee logs, warnings, evidence metadata, roster submissions, rulebook entries, audit records, and standalone referee logs.
Start Postgres and apply migrations first:
docker compose up -d
npm run db:generate
npm run db:migrateSeed the demo:
npm run demo:seedThe script resets only the demo organization whose guild ID is configured by DEMO_DISCORD_GUILD_ID
or, by default, arbiter-demo-guild.
- Organization:
Arbiter Demo Org - Org settings with fake role/channel IDs
- Demo admin, referee, and player profiles
- Referee shift marked on-shift
- Rulebook entries for technical pauses and evidence proof
- Valorant tournament and BO3 match:
- public code:
DEMOBO3 - teams:
SentinelsvsFnatic - status:
LIVE - score:
1-0 - roster submissions, veto actions, pause log, warning, evidence, score report, audit logs
- public code:
- Apex Legends BR lobby:
- public code:
DEMOAPEX - 18 teams
- one scored game
- point adjustment
- pause, warning, evidence, note, and audit logs
- public code:
- Standalone
/logexamples for external tournaments
For a Discord test server, point the demo org at that guild before seeding:
$env:DEMO_DISCORD_GUILD_ID="your-test-guild-id"
npm run demo:seedOnly do this for a disposable test guild or local development database. The script deletes and recreates the demo organization for the configured guild ID so the seed stays repeatable.
In Discord:
/match lookup code:DEMOBO3
/br standings code:DEMOAPEX
/log list
If the bot is installed in the same test guild and /org setup uses real channels/roles, you can
also create fresh panels with:
/match-admin panel code:DEMOBO3
/br standings code:DEMOAPEX