Docs
Getting Started

Basic Usage

Once your league is live you can run it from the web (heir.gg/<league>), from Discord (slash commands), or both — they act on the same league. This page shows the common flows both ways.

Organizer setup

After installation, finish configuring the league:

  • Web — open heir.gg/<league>/manage. Set regions, roster size, match nights, and series format under League → Competition, and stat tracking under Play → Stat tracking. The save bar tracks unsaved changes and blocks navigation until you save or discard.
  • Discord — run /sync-users, then /config to set the same options.

Player flow

To join a team:

  • You need the Free Agent role (Discord leagues grab it from #get-roles).
  • A captain adds you — /roster add in Discord, or the Roster card on the team page on the web.

To leave a team, use /leave-team (or the web team page). The command shows you what will happen before it does anything — a leaving captain hands captaincy to a random remaining member, and the last player leaving disbands the team — and asks you to confirm.

Captain flow

Captains manage one team, from either surface:

  • Roster — add, kick, and set captain
  • Team identity — name, region, and a two-color gradient team color
  • Availability — the web availability grid is the primary way to set when your team can play (it shows your region's real slot times and edits the whole week at once); /team-availability view and vacation remain in Discord
  • Locations — preferred server locations for matchmaking
  • Tournaments — enter open cups with one click from the team page

Weekly matchmaking flow

The weekly schedule uses team availability, region, elo bounds, a per-team weekly match cap, and recent-history penalties to reduce back-to-back repeats.

  1. Captains set availability (web grid).
  2. An Organizer configures matchmaking (web Competition card or /config).
  3. Schedules generate automatically each week, or an Organizer builds them in the schedule editor on the web (or /schedule generate / draft in Discord).
  4. Published schedules post to the league and DM both captains of every fixture.

See /schedule for the full scheduling model.

Reporting results

Results can be recorded three ways:

  • Tracked servers — competitive matches record and score themselves.
  • /report-match — the winning captain reports in Discord.
  • /elo match or the schedule's Report result button — organizer entry.

If a result must be undone, void the match (/admin match-void — it shows the score and the elo it will reverse, then asks for confirmation).

Running without Discord

A web-native league (created without a Discord server) runs entirely from the browser — the flows above apply, minus the Discord commands. Teams are records rather than roles, and there's no bot to invite. See Installation.

On this page