diff --git a/docs/deployment-blueprints.md b/docs/deployment-blueprints.md index 78b2423..25c889a 100644 --- a/docs/deployment-blueprints.md +++ b/docs/deployment-blueprints.md @@ -26,8 +26,8 @@ destroy servers or change existing servers' files. 1. Choose **Create blueprint** on Deployments and name the lineup. 2. Add maps from Black Ops I or II and set the desired total lobbies for each. 3. Choose **Save & preview** to review every new server ID and game port. -4. Enter each lobby's Plutonium key, or leave its field blank to reuse the key - saved for that exact server ID. +4. Lobbies with a saved key show **Saved key ready** and reuse it automatically. + Enter a Plutonium key only for lobbies missing one. Update saved keys in **Keys**. 5. Choose **Queue N servers** and follow their collection progress page. If every target is already met, choose **Done**; no operation is created. diff --git a/src/lib/ui/components/DeployCollectionDialog.svelte b/src/lib/ui/components/DeployCollectionDialog.svelte index 69ef9be..ca19aaa 100644 --- a/src/lib/ui/components/DeployCollectionDialog.svelte +++ b/src/lib/ui/components/DeployCollectionDialog.svelte @@ -40,7 +40,7 @@ if (current === session) { const next = body as CollectionPreview; const names = new Set(next.servers.map(server => server.name)); - keys = Object.fromEntries(next.servers.filter(server => server.name).map(server => [server.name!, keys[server.name!] ?? ''])); + keys = Object.fromEntries(next.servers.filter(server => server.name && !server.hasSavedKey).map(server => [server.name!, keys[server.name!] ?? ''])); if (previous && (previous.servers.length !== next.servers.length || previous.servers.some(server => !names.has(server.name)))) keyNotice = 'Server assignments changed. Keys were retained only for the exact IDs still shown below. Review the new assignments.'; else if (previous) keyNotice = 'Preview refreshed. Entered keys are retained for these same server IDs.'; preview = next; now = Date.now(); @@ -84,14 +84,17 @@

{preview.servers.length ? 'Your launch order' : 'Nothing to create'}

{#each preview.blockers as blocker}{/each} {#if preview.servers.length} -

Add a key for each new lobby below, or reuse its saved key. Fleet counts and available slots are checked again when you queue the launch.

+

Saved keys are reused automatically. Add keys only where required below. Update saved keys in Keys (opens in a new tab). Fleet counts and available slots are checked again when you queue the launch.

{ event.preventDefault(); void launch(); }}>
    {#each preview.servers as server, index (server.name ?? `unavailable-${index}`)}
  1. {#if index === 0 || preview.servers[index - 1].entryIndex !== server.entryIndex}{preview.entries[server.entryIndex].recipe.game.toUpperCase()} · {preview.entries[server.entryIndex].recipe.mapName}{/if}{#if server.name}{:else}{preview.entries[server.entryIndex].recipe.mapName}{/if}{server.name ?? 'No available lobby'} · {server.port === null ? 'No available port' : `Port ${server.port}`}
    - {#if server.name}{/if} + {#if server.name} + {#if server.hasSavedKey}

    Saved key ready

    + {:else}{/if} + {/if}
  2. {/each}
@@ -104,6 +107,9 @@