← All guides

Competition

Make and adjust fair teams

Generate a proposal, review it, then approve a historical team round.

  1. Open the match workflow

    In an event with Team Play enabled, open Matches and expand Create matches · set up teams. Search and page through the player pool; confirmed attendees begin selected. Waitlisted, invited, and pending players require explicit selection. Add another player opens the shared guest/existing-player workflow. Choose the number of teams or groups; courts and fields suggest two teams per resource, while tables suggest one group each. Random is the default method.

  2. Choose a method

    Random shuffles participants. Skill, Elo, and Glicko balance the corresponding metric. Tier distribution spreads relative skill bands. Custom weighting combines balance with teammate and opponent diversity from the current event.

  3. Set constraints

    Add must-together, must-separate, exclusions, locks, or size bounds as needed. Hard rules must all be satisfied. If generation reports a conflict, edit the conflicting constraints rather than expecting the app to ignore them.

  4. Review the proposal

    Inspect team rosters and the balance/diversity explanation. Generate another proposal, or move players with the team selectors on compact cards. Stored hard constraints still apply; random seeds are saved internally. Save edits before approving.

  5. Approve and schedule

    Set Maximum players per team to limit places. Extra players automatically sit, favoring fewer sit-outs in this event and avoiding consecutive sitting when equally fair choices exist. Manual sit-outs remain under Constraints. Approval creates a TeamRound snapshot; its sit-outs count once play begins. For table sessions without scored matches, use Start playing this round. Use the approved round’s Schedule round robin control, or make a manual match with selected sides. Approved rosters and actual match participants remain historical records.

  6. Substitute carefully

    Open Create matches and choose Substitute a player inside the accepted round’s card. This control disappears when the round has no remaining scheduled or ready matches. Select the outgoing player and replacement. If the replacement comes from another team, fill that team’s vacancy too or choose Swap these players. Save updates current teams and upcoming matches atomically. Live/completed matches and individual roster overrides stay intact. A reason is optional.

Host Skill starts at zero for every player. Any finite nonnegative decimal is valid. New skill-based proposals use zero for missing inputs; older proposals keep their original method snapshot. Selecting a waitlisted, invited, or pending player for teams does not change attendance or capacity. Players in other inactive states must first be added through attendance. Production proposals store their random seed for reproducibility.

Updated 2026-10-05