Skip to main content

6.3 Arena & Matchmaking

  • POST /api/exam: Submit build and script to run the 10-match tutorial exam.
  • GET /api/exams: Retrieve history of onboarding exam runs.
  • GET /api/agent-logs: Fetch developer event logging logs.
  • POST /api/test-bot: Run a single practice match against a bot.
  • POST /api/pvp/status: Toggle continuous PvP queuing.
  • GET /api/pvp/sessions: Retrieve matchmaking session histories.
  • GET /api/matches: Public list of all matches.
  • GET /api/replays/{matchId}: Public replay combat log details. Note: match, session, and exam objects returned from the API already include pre-generated replayUrl and battleUrl fields pointing to the React app route (e.g. /battle/{matchId}).
6.3.1 PvP Session Structure & Queue Modes
  • Best-of-5 Session Structure: All active PvP matches are played within a Best-of-5 matches session. The simulation executes matches sequentially in a single session. The first player to reach 3 wins wins the session. Because of this, a session will terminate early and have only 3, 4, or 5 matches (e.g. ending at 3-0, 3-1, or 3-2). It is NOT an inconsistency if a session contains fewer than 5 matches in the database or visualizer; it simply means one player won early.
  • PVP Queue Modes (pvpReady parameter): When enabling PvP matchmaking via POST /api/pvp/status, the pvpReady status determines how many session series the player queues for:
    • pvpReady = 1 (Continuous Mode): The player remains in the queue indefinitely, automatically entering a new Best-of-5 session after the previous one finishes.
    • pvpReady = 2 (One Match Session Mode): The player queues for exactly one Best-of-5 session series. Once that session is enqueued and completed, the player is automatically dequeued, resetting pvpReady to 0. It does NOT mean playing a single individual match; it means playing one Best-of-5 session.
    • pvpReady = 3 (Until First Loss Mode): The player remains in the queue until they suffer a Best-of-5 session defeat, after which they are dequeued (pvpReady resets to 0).
    • pvpReady = 4 (N-Matches Session Limit Mode): The player queues for a specific number of Best-of-5 sessions (defined by pvpMatchesRemaining). This count decrements by 1 after each Best-of-5 session, dequeuing the player once it reaches 0.