Skip to content

$boss

$boss is a chat minigame command. Viewers join boss fights, choose a preferred class, and check their season stats. Moderators can manage fights and seasons.

Use $boss help in chat to get the public documentation link.

See the $boss changelog for public release notes.

How Boss Fights Work

From time to time, a boss fight opens in chat. When that happens, viewers can join the fight while recruitment is open. After recruitment ends, the fight is resolved and everyone who joined gets a result.

Each fight has a boss and usually an affix:

  • A boss is the enemy you are fighting. Some bosses are easier, some are harder.
  • An affix is an extra twist on the fight. It can make certain classes stronger or weaker for that fight.
  • A class is your preferred role for fights. The mix of classes in the party helps shape the overall fight chance and individual survival odds, depending on the boss and affix.

Classes are not meant to be a perfect ranking from best to worst. A class that looks strong in one fight might be less comfortable in another because the affix and boss can change the situation. If you do not want to pick a class, you can stay on random class rotation.

Class matchups use simple negative/positive values. 0 is neutral, positive values are good for that affix, and negative values are bad for that affix. Better matchups improve the party's chance to win and also make you more likely to be one of the named slayers or escapees. The strongest possible matchup is four times as likely to be selected for survival as the weakest possible matchup, but it never guarantees survival.

After a fight resolves, a configurable number of participants are named by outcome:

  • Slayers — named survivors on a winning fight. The slayer fraction is rolled randomly within a configured range each fight, then bounded by per-channel caps and floor.
  • Escapees — named survivors on a losing fight. Separate fraction range, cap, and floor apply.
  • Survivor is the neutral umbrella term used in fight headers and counts (e.g. survivors: 14/26).

When a fight finishes, viewers can earn points for things like joining, surviving, and landing the killing blow. Stats and leaderboards are tracked per season, so everyone gets a fresh race when a new season starts.

You can inspect the current setup with $boss info classes, $boss info affixes, $boss info bosses, $boss info points, and $boss info timing.

Viewer Commands

Join A Fight

text
$boss fight join

Joins the currently recruiting fight. $boss without a subcommand is an alias for $boss fight join.

When no fight is recruiting, $boss fight join reports the current game state instead:

  • No active seasonNo active season. Ask a moderator to start one.
  • Manual-onlyNo adventure — fights here are spawned manually by moderators.
  • Stream offlineNo adventure — stream is offline. Fights resume when the stream goes online.
  • Next fight scheduledNo adventure right now. Next fight in ~3 min. (or in <1 min when imminent)
  • Scheduling in progressNo adventure right now. Next fight is on its way.

When recruitment has already closed and the fight is resolving, the reply is: Too late! The fight has already started.

View Your Class

text
$boss class

Shows your preferred class. If you have no class set, fights use random class rotation for you.

Set Your Class

text
$boss class --name <class>

Sets your preferred class.

Class names can contain spaces:

text
$boss class --name Carian Knight

Use Random Class Rotation

text
$boss class --random

Clears your preferred class so each fight uses random class rotation.

View Stats

text
$boss stats
$boss stats --season <number>

Shows your stats for the active season, or for a specific season.

View Another Viewer's Stats

text
$boss stats --user <name>
$boss stats --user <name> --season <number>

Shows another viewer's stats.

Leaderboard

text
$boss leaderboard
$boss leaderboard --season <number>

Shows the season leaderboard.

View Season

text
$boss season
$boss season --season <number>

Shows the active season's start date and top 3 players on the leaderboard. Pass --season <number> to look up any season (active or closed).

View A Fight

text
$boss fight
$boss fight --fight <number>
$boss fight --fight <number> --season <number>
$boss fight --view stats [--fight <number>] [--season <number>]
$boss fight --view user [--user <name>] [--fight <number>] [--season <number>]
$boss fight --view participants [--fight <number>] [--season <number>]

Shows the result of the last completed fight in the active season. Pass --fight <number> to look up a specific fight by its sequential number. Pass --season <number> to look up any season. Combine both to look up a specific fight in a specific season.

Without --view, the reply contains the fight header: fight number, season, boss and affix, result, survivor count, total points, and timestamp.

text
Fight #15 (Season 3) — 'Goblin King' [Frenzied] | result: victory | survivors: 14/26 | pts: 145 | at: 2026-04-28T01:51:23Z

--view stats appends base and party win rates and per-class survival chances. Survival chances are approximations and are marked with ~. If fight statistics are not available for older fights, the reply says so.

text
… | base WR: 60% | party WR: 67% | warrior: ~85% (n=8) | rogue: ~30% (n=12) | cleric: ~50% (n=5)

--view user appends your class, outcome, points, and your approximate survival chance for that fight. Add --user <name> to check another viewer instead. If you did not participate, the reply says so.

text
… | @alice: rogue, killing blow, +5 pts | survival chance: ~30%
… | @alice did not participate

--view participants appends the survivors or escapees list and killing-blow details.

Victory:

text
… | slayers (12): @a (warrior), @b (cleric), … | killing blow: @c (warrior, survived) | fallen: 14

Defeat:

text
… | escapees (3): @a (cleric), @b (warrior) | perished: 23

When a fight is currently in progress, $boss fight returns a short notice instead of leaking the boss or affix ahead of the announcement.

Examples:

text
$boss fight
$boss fight --fight 5
$boss fight --season 2
$boss fight --fight 3 --season 2
$boss fight --view stats
$boss fight --view user
$boss fight --view user --user @bob
$boss fight --view participants
$boss fight --fight 5 --view stats

View Configuration

text
$boss info classes
$boss info classes --name <class>

Lists all available classes, or shows how that class performs against each affix. Positive values are favourable, negative values are unfavourable, and 0 is neutral.

text
$boss info affixes
$boss info affixes --name <affix>

Lists all available affixes, or shows which classes are favoured or punished by a specific affix.

text
$boss info bosses
$boss info bosses --name <boss>

Lists all available bosses, or shows the base win rate, class swing, and affix pool for a single boss.

text
$boss info points

Shows the current points awarded for attendance, survival, and killing blow.

text
$boss info timing

Shows recruitment duration and spawn intervals.

text
$boss info autoplay

Shows whether fights spawn automatically.

text
$boss info survival

Shows the per-side fraction range, cap, and floor used to determine how many slayers and escapees are named after each fight.

text
survival | slayer: 25-35% (cap 8, floor 1) | escapee: 5-15% (cap 3, floor 1)

Class, affix, and boss names can contain spaces:

text
$boss info classes --name Carian Knight
$boss info bosses --name Malenia, Blade of Miquella

Moderator Commands

Moderator commands require a moderator or broadcaster badge.

Set Another Viewer's Class

text
$boss class --user <name> --name <class>
$boss class --user <name> --random

Sets or clears another viewer's preferred class.

Spawn A Fight

text
$boss fight spawn
$boss fight spawn --name <boss>
$boss fight spawn --name <boss> --affix <affix>

Starts a fight manually. If no boss or affix is provided, they are selected from the configured pool.

Boss and affix names can contain spaces:

text
$boss fight spawn --name Starscourge Radahn --affix Scarlet Rot

Add --dry-run to run a full fight that is not counted — no stats or leaderboard updates. Useful for testing:

text
$boss fight spawn --dry-run
$boss fight spawn --dry-run --name Malenia, Blade of Miquella

Close Recruitment

text
$boss fight close

Closes recruitment early and starts resolving the fight.

Cancel A Fight

text
$boss fight cancel

Cancels recruitment and discards the fight without saving any results. Use this when a fight should not go ahead at all. A new fight will be scheduled shortly after the cancel.

Nullify A Fight

text
$boss fight nullify
$boss fight nullify --fight <number>
$boss fight nullify --fight <number> --season <number>

Without flags, reverts the most recent completed fight in the active season and removes the points and stats earned in that fight.

Pass --fight <number> to nullify a specific fight by its sequential number. Pass --season <number> alongside --fight to target a fight in a different season. Nullified fights are kept for history but excluded from all stats and leaderboard calculations.

Start The Next Season

text
$boss season next

Closes the active season and opens the next one (season number + 1). Rejects if a fight is in progress.

Open An Existing Season

text
$boss season open --season <number>

Reopens a closed season by number. If a different season is currently active it is closed first. Rejects if a fight is in progress.

Close The Active Season

text
$boss season close

Closes the active season and pauses the game — no further fights will spawn until a season is opened again. Dry-run fights still work. Rejects if a fight is in progress.

Options

OptionUsed ByMeaning
--name <value>class, fight spawn, info classes, info affixes, info bossesClass name, boss name, or entity name. Multi-word values do not need quotes.
--affix <value>fight spawnAffix name. Multi-word values do not need quotes.
--fight <number>fight, fight nullifyFight number within a season.
--randomclassUse random class rotation.
--dry-runfight spawnRun a fight without persisting results (no stat or leaderboard updates).
--season <number>stats, leaderboard, season, season open, fight, fight nullifySeason number.
--user <name>stats, class, fightTarget viewer display name.
--view <stats|user|participants>fightDetail block to append to the fight header. stats shows win rates and per-class survival chances. user shows your class, outcome, and survival chance. participants lists named slayers or escapees.

Notes

  • $boss without a subcommand is an alias for $boss fight join. When no fight is recruiting, it reports the game state and next scheduled fight time. Joining is silent on success — use $boss fight after the fight ends to see what class you were assigned and how the fight went.
  • Use either --name or --random when setting a class, not both.
  • Season mutations (open, close, next) are rejected while a fight is recruiting or resolving — run $boss fight close first if needed.
  • $boss fight during an active fight returns a short notice and does not reveal the boss or affix.
  • If a class you had set is not currently in rotation, $boss class will show a notice and you will get a random class until it returns. Your preference is remembered and will apply again automatically when the class comes back.
  • Survival chances shown by --view stats and --view user are approximations. They reflect how each class is weighted for the given boss and affix, but the actual fight outcome involves randomness.