Appearance
$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 joinJoins 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 season —
No active season. Ask a moderator to start one. - Manual-only —
No adventure — fights here are spawned manually by moderators. - Stream offline —
No adventure — stream is offline. Fights resume when the stream goes online. - Next fight scheduled —
No adventure right now. Next fight in ~3 min.(orin <1 minwhen imminent) - Scheduling in progress —
No 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 classShows 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 KnightUse Random Class Rotation
text
$boss class --randomClears 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: 14Defeat:
text
… | escapees (3): @a (cleric), @b (warrior) | perished: 23When 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 statsView 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 pointsShows the current points awarded for attendance, survival, and killing blow.
text
$boss info timingShows recruitment duration and spawn intervals.
text
$boss info autoplayShows whether fights spawn automatically.
text
$boss info survivalShows 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 MiquellaModerator 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> --randomSets 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 RotAdd --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 MiquellaClose Recruitment
text
$boss fight closeCloses recruitment early and starts resolving the fight.
Cancel A Fight
text
$boss fight cancelCancels 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 nextCloses 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 closeCloses 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
| Option | Used By | Meaning |
|---|---|---|
--name <value> | class, fight spawn, info classes, info affixes, info bosses | Class name, boss name, or entity name. Multi-word values do not need quotes. |
--affix <value> | fight spawn | Affix name. Multi-word values do not need quotes. |
--fight <number> | fight, fight nullify | Fight number within a season. |
--random | class | Use random class rotation. |
--dry-run | fight spawn | Run a fight without persisting results (no stat or leaderboard updates). |
--season <number> | stats, leaderboard, season, season open, fight, fight nullify | Season number. |
--user <name> | stats, class, fight | Target viewer display name. |
--view <stats|user|participants> | fight | Detail 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
$bosswithout 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 fightafter the fight ends to see what class you were assigned and how the fight went.- Use either
--nameor--randomwhen setting a class, not both. - Season mutations (
open,close,next) are rejected while a fight is recruiting or resolving — run$boss fight closefirst if needed. $boss fightduring 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 classwill 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 statsand--view userare approximations. They reflect how each class is weighted for the given boss and affix, but the actual fight outcome involves randomness.