Rebalance instances

Spread existing instances across hosts according to CPU and memory use relative to each host’s capacity.

{#if checkedAt && !refreshError}{/if}

Only healthy, empty lobbies can move. Each move rebuilds the lobby on another host, causing a temporary outage; its address or port may change. The server identity, map, key, and recorded deployed files are retained. Local mutable files are not copied.

{#if refreshError}{/if} {#if actionError}{/if} {#if notice}

{notice}

{/if} {#if !report && loading}

Loading hosts and rebalance runs…

{/if} {#if report} {#if canManage}
{ event.preventDefault(); void act('preview'); }} >
Participating hosts

Choose at least two hosts. Existing lobbies may move between any selected hosts.

{#if preferredHost && !report.hosts.some((host) => host.id === preferredHost && host.eligible)}

The host opened from the shortcut is currently unavailable. Choose eligible hosts below.

{/if}
{#each report.hosts as host (host.id)} {/each}
{#if activeRun}

A rebalance is {activeRun.state === 'stopping' ? 'finishing its current move' : 'already in progress'}. A new run can start after it finishes.{#if activeRun.id !== run?.id} {/if}

{/if} {:else}

Operators and administrators can preview, start, and stop rebalance runs.

{/if} {#if preview} void act('start')} />{/if}

Rebalance runs

{#if report.runs.length} {/if}
{#if preferredRun && !report.runs.some((item) => item.id === preferredRun)}

The linked run is not in the recent history.

{/if} {#if run} void act('stop')} /> {:else}

No rebalance runs yet.

{/if}
{/if}