Skip to content

Spectating

Frontier lets players spectate ongoing ranked matches. Pick a player who’s currently in a battle, run a command, and you’re watching live.

/ranked spectate <player>

This teleports you to the arena’s spectator position and lets you watch the battle unfold in real time. You’ll see moves, switches, and damage as they happen — the same view both battlers get.

The target player must be in an active ranked match. If they’re not, you’ll get an error message.

Run the command with no arguments to stop spectating:

/ranked spectate

You’re teleported back to your original position (or the fallback spawn if your original location isn’t available).

Each arena has a dedicated spectator spawn point, set during arena creation with:

/ranked admin arena setspectator

This is where spectators are teleported when they start watching a match. It should have a good view of the battle area — elevated positions or sideline spots work well.

Spectators watch the battle in real time:

  • Pokemon sent out, switches, and faints
  • Moves used and damage dealt
  • Weather, terrain, and field effects
  • The battle’s natural conclusion (win, loss, forfeit)

Spectators are passive observers. They can’t interact with the battle, send messages to the battlers through the battle UI, or influence the match in any way.

Admins with the frontier.admin permission have the same spectating capabilities as regular players — same command, same view. This is useful for:

  • Monitoring matches for rule violations or suspicious play.
  • Dispute resolution — watch a match in progress when a player reports an issue.
  • Tournament oversight — keep an eye on bracket matches.

Admins can also force-end a match if something goes wrong:

/ranked admin forceend <player>

Tournament matches can also be spectated:

/tournament spectate <id>

Spectate an ongoing tournament match. Run /tournament spectate stop to stop spectating.

Tournament matches support an optional cinematic camera mode that tracks Pokemon entities and provides smooth orbital movement around the battlefield.

CommandDescription
/tournament camera toggleEnable or disable cinematic camera

The camera automatically responds to battle events by focusing on the relevant Pokemon:

EventCamera Behavior
Battle startCamera sweeps to overview position
Move usedCamera focuses on the attacking Pokemon
Critical hitCamera focuses on the Pokemon that landed the crit
Super effectiveCamera focuses on the Pokemon landing the hit
FaintCamera focuses on the fainting Pokemon
Mega EvolutionCamera focuses on the mega-evolving Pokemon
TerastallizationCamera focuses on the terastallizing Pokemon
Pokemon switchCamera focuses on the switching Pokemon
Battle endCamera returns to overview position

Camera transitions use smooth interpolation for fluid movement. Orbital tracking orbits around the target Pokemon entity.

Each player has a personal machine learning model that learns their camera preferences over time.

  1. The model is stored persistently per player.
  2. Players provide feedback using /tournament camera rate <1-5>.
  3. The model uses a 15-dimensional input vector encoding event type and battle state.
  4. Over time, the model adjusts camera angles, distances, and transition speeds to match the player’s preferences.

When a tournament reaches its finals, all remaining players in the tournament are automatically pulled to spectate the final match.

Players who do not wish to be auto-spectated can opt out:

/tournament optout <id>
CommandPermissionDescription
/ranked spectate <player>frontier.userStart spectating a player’s match.
/ranked spectatefrontier.userStop spectating and return to your previous position.
/ranked admin forceend <player>frontier.adminForce-end a match involving a player.
/tournament spectate <id>frontier.tournamentSpectate a tournament match.
/tournament spectate stopfrontier.tournamentStop spectating.
/tournament camera togglefrontier.tournamentToggle cinematic camera.
/tournament camera rate <1-5>frontier.tournamentRate camera behavior (ML feedback).