Skip to content
PEERLESSDocs

Parties and shared launches

How friends launch your game together, and what your game receives.

The player's side

  1. A player creates a party and invites friends, by name or with an invite link.
  2. The leader selects a game. Every member needs access and the party must fit the game's capacity.
  3. Friends choose Ready to play. The leader chooses Start shared game.
  4. Ready members are launched together. Starting with unready friends asks the leader to confirm their exclusion.

Free games are playable by every verified member without a separate claim. Guests can join invitations for free games.

What your game receives

A shared launch arrives as a normal launch with a verified launch intent in Peerless.runtime().intent:

{
  id: string;
  mode: string;          // the selected game mode
  status: "loading" | "ready" | "queueing" | "active" | "paused" | "cancelled" | "error";
  leaderId: string;      // game-scoped player ID
  members: { playerId, playerName, ready, state }[];
}

For relay games the cohort joins the same room. For queue games, sessions reserve the complete group together. A player without a pending launch can always start solo.

Things the launcher handles

  • Selecting the same game again keeps everyone's readiness.
  • A Library or ordinary play link inherits a pending launch when that player is already included.
  • Nobody is enrolled silently, and nobody is moved into a match that already started.
  • Leaving, removal, leader changes and game switches invalidate the old cohort.

Test with two real players

Use two accounts in separate browser profiles. Create a party, invite, ready up and start. Then test leaving, a leader change, switching games and a solo start after leaving. Repeat the game's own flow outside PEERLESS to confirm standalone still works.