Launching the mixer with URL parameters
Pre-load a roster and settings into the mixer with URL query parameters — what each one does, how they are encoded, and what happens when players already exist.
URL query parameters let you pre-populate the mixer's roster and algorithm settings on load — handy for a bookmark, or a shareable setup link you build yourself. (Launching from the dashboard doesn't need any of this: it hands your saved group's players straight to the mixer.)
After the parameters are applied, the mixer strips them from the address bar, so a later refresh won't re-trigger the import.
Player data parameters
These four parameters work as parallel arrays: the Nth value in each list
applies to the Nth player in players.
| Parameter | Type | What it sets |
|---|---|---|
players |
Comma-delimited names | The roster. URL-encode the list; spaces may be + or %20. |
ratings |
Comma-delimited numbers | Starting rating for each player. Blank slot or 0 → no rating (null). |
gender |
Comma-delimited flags | Gender for each player: m or male, f or female. Blank → unset. |
link_names |
Comma-delimited names | Fixed-partner name for each player. Blank slot → no partner link. |
A link_names entry names the partner's display name as it appears in
players, not a player ID. If the named partner isn't found, the link is
skipped with a warning.
Example
/mixer?players=Ali+Johnson,Andre+V,Petra+L,Sam+W
&ratings=1420,1385,,1501
&gender=f,m,f,m
&link_names=,,,
Ali gets rating 1420 (female), Andre 1385 (male), Petra has no rating (female), Sam 1501 (male), and nobody is linked to a fixed partner.
Court count
| Parameter | Type | Range | Default |
|---|---|---|---|
num_courts |
Integer | 1–20 | 3 |
How many courts are active when the mixer opens.
Algorithm weight parameters
All weight parameters accept integers 0–99 — except mix_quality, which is
a search-depth setting and accepts 1–40. They map to the same sliders
found in Mixer settings.
| Parameter | What it controls | Default |
|---|---|---|
sitting_out_weight |
Priority for rotating sit-outs fairly | 98 |
played_with_weight |
Avoid repeating partners | 4 |
played_vs_weight |
Avoid repeating opponents | 1 |
mixed_weight |
Preference for mixed-doubles courts | 0 |
rating_weight |
Balance opponent teams by rating | 0 |
partner_rating_weight |
Balance partners by rating | 0 |
highest_rated_partner_weight |
Pair stronger players with weaker partners | 40 |
court_number_weight |
Spread players across court numbers | 0 |
court_side_weight |
Balance which net side players occupy | 0 |
max_algorithmic_sitters |
Cap how many players sit out per round | 0 |
mix_quality |
Search depth, 1–40 (higher = better mix, slower) | 15 |
Boolean flag parameters
Use 1 for on, 0 for off.
| Parameter | What it controls | Default |
|---|---|---|
duplicate_dissuasion |
Penalize repeating the exact same four-player court | 1 (on) |
participant_diversity |
Spread which players get paired together | 1 (on) |
mixed_doubles_courts |
Allow mixed-gender courts | 1 (on) |
all_men_women_courts |
Allow same-gender courts | 1 (on) |
sort_courts_by_rating |
Sort court cards by average rating | 0 (off) |
Bad court
| Parameter | Type | What it sets |
|---|---|---|
bad_court_number |
Integer 0–10 | The court number to treat as the "bad court" (e.g. a cracked surface). 0 clears the setting. |
What happens when the mixer already has players
If your current session has players in the roster, a dialog appears before any new players are added:
Existing Players Found
You are bringing in N new player(s): … BUT you already have M player(s) in your roster: … You can either combine them all into one session OR start a brand new session using only the new players you just launched with.
Combine — adds the URL players to the existing roster. Duplicate names are skipped with a warning. If you have existing game history, a second prompt titled Existing Games Found asks whether to Keep Games or Clear Games before adding the new players.
Start New — clears the current roster and game history automatically (no second prompt), then loads the URL players fresh.
Closing the dialog cancels the import; nothing changes.
Settings (court count and algorithm weights) are applied before the player dialog fires, regardless of which option you pick.
Players from a link on a free account
On a free account — or with no account — the names in a players URL
aren't added to the roster automatically. They arrive in the
"These players need to be added manually" list
above the roster, each with a Copy button, and you add the ones you want.
The list says so in as many words — that player links don't auto-load on a free
account — so a link that looks like it did nothing never goes unexplained.
Court count and the algorithm weights still apply exactly as described above,
and the roster you build from the list mixes like any other — nothing about
mixing is capped. Lite and above load the whole list straight into the
roster.
Launching the mixer from the dashboard is unaffected: your own saved group's players always import in full.
Building a launch URL
Append a query string to /mixer:
https://picklefriend.net/mixer
?players=Name+One,Name+Two,Name+Three,Name+Four
&num_courts=2
&ratings=1500,1480,1510,1460
&sitting_out_weight=98
&played_with_weight=20
Spaces in names encode as + or %20. The comma between players is a literal
delimiter — only encode it as %2C when a comma appears inside a name itself.
Ratings of 0, null, or a blank slot (e.g. 1500,,1510) are treated as
"no rating" — the player lands on the roster unrated.
What's next
- Save a named setup so you can reload it without rebuilding the URL every time — see Presets.
- Understand how the algorithm weights interact — see Mixer settings reference.
- Manage multiple mixer setups — see Sessions.