Platform Overview
Heir is competition infrastructure that lives in your Discord server. One bot runs the league; a public site publishes the results.
What it manages
- Teams — creation, editing, reforming, disbanding, and name/color history
- Rosters — captains, roster moves, free agents, and player syncing
- Ratings — margin-of-victory elo, regional leaderboards, seasons, and placements
- Scheduling — weekly matchmaking from availability and elo bounds, with captain DMs
- Results — reported manually, or recorded automatically from tracked play
- Stat tracking — live capture from your game servers, per round and per map
- Profiles — public player and team pages on heir.gg (opens in a new tab)
- Configuration — every rule above is per-guild; nothing is hard-coded to one league
Game agnostic by design
The league layer — teams, elo, scheduling, profiles, achievements — knows nothing about any particular game. A title plugs in as a module that defines two things: how a player proves their in-game identity, and where match data comes from. Mordhau is live today; see Stat Tracking.
Roles in a league
| Role | Responsibility |
|---|---|
| Organizer (or server admin) | Configures the guild, runs organizer commands, approves tracked stats |
| Captain | Manages one team's roster and availability |
| Player | Joins teams, links their in-game account, plays |
| Ref (optional) | Controls stat tracking from in-game chat |
Access is granted through Discord's own Integrations settings and your server's roles — there is no separate permission system to learn. Every organizer action is written to an audit log.
Access model
The bot is gated by guild activation.
- A server can invite the bot before activation.
- Commands stay blocked until the guild is activated.
- Activation is currently manual.
⚠️
If your server has invited the bot but commands are blocked, contact @peenie to activate the guild.
A typical league
- Install the bot and activate the guild — see Installation
- Run
/sync-usersand configure with/config - Create or reform teams; captains take over rosters and availability
- Schedules generate weekly (or on demand with
/schedule generate) - Results arrive from
/report-match, or record themselves from tracked servers - Ratings, standings, and profiles update on their own
Notes
- Almost all commands are guild-only; a few owner-only DM commands exist for platform operations.
- Matchmaking is guild-specific — every guild has its own configuration namespace.
- Seasons are per guild:
/admin season-endarchives placements and soft-resets elo.