From 588c4d8e0eb15bcf813bb0838b6c5d217d3df8bc Mon Sep 17 00:00:00 2001 From: josh Date: Mon, 21 Sep 2026 19:20:20 -0400 Subject: [PATCH] Remove system status section from settings --- src/routes/+layout.svelte | 4 +-- src/routes/settings/+page.svelte | 46 ++++---------------------------- 2 files changed, 7 insertions(+), 43 deletions(-) diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 378cbda..afa74b4 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -110,7 +110,7 @@ ? [{ href: '/scripts', label: 'Scripts' }, { href: '/configs', label: 'Configs' }, { href: '/plugins', label: 'Plugins' }] : tabs[2].match($page.url.pathname) ? [{ href: '/deployments', label: 'Server deployments' }, { href: '/campaigns', label: 'Campaigns' }] - : tabs[4].match($page.url.pathname) ? [{ href: '/settings', label: 'Preferences & status' }, { href: '/server-keys', label: 'Server keys' }] : []); + : tabs[4].match($page.url.pathname) ? [{ href: '/settings', label: 'Preferences' }, { href: '/server-keys', label: 'Server keys' }] : []); @@ -149,7 +149,7 @@ -
{#each [['g f','Fleet'],['g s','Scripts'],['g c','Configs'],['g p','Plugins'],['g d','Server deployments'],['g a','Campaigns'],['g b','Betas'],['g h','System status'],['g k','Server keys'],['g l','Leaderboard'],['g m','Metrics'],['?','This help']] as [keys,label]}
{keys}
{label}
{/each}
+
{#each [['g f','Fleet'],['g s','Scripts'],['g c','Configs'],['g p','Plugins'],['g d','Server deployments'],['g a','Campaigns'],['g b','Betas'],['g h','Settings'],['g k','Server keys'],['g l','Leaderboard'],['g m','Metrics'],['?','This help']] as [keys,label]}
{keys}
{label}
{/each}
diff --git a/src/routes/settings/+page.svelte b/src/routes/settings/+page.svelte index f1e4f32..5a8b301 100644 --- a/src/routes/settings/+page.svelte +++ b/src/routes/settings/+page.svelte @@ -2,27 +2,11 @@ import { timeFormat, timeZone, timeZonePersistenceError } from '$ui/stores/time-zone.js'; import { availableTimeZones, DEFAULT_TIME_ZONE } from '$lib/time-zone.js'; import { onMount } from 'svelte'; - import type { SystemStatus } from '$lib/system-status.js'; import SectionHeader from '$ui/components/primitives/SectionHeader.svelte'; - import Button from '$ui/components/primitives/Button.svelte'; - import Badge from '$ui/components/primitives/Badge.svelte'; import PlutoniumMaintenance from '$ui/components/PlutoniumMaintenance.svelte'; - let data = $state(null); - let loading = $state(false); - let error = $state(''); + let exampleDate = $state(null); const zones = $derived([...new Set([...availableTimeZones(), $timeZone])].sort()); - async function refresh(probe = false) { - if (loading) return; - loading = true; error = ''; - try { - const response = await fetch('/api/system-status' + (probe ? '?probe=1' : '')); - if (!response.ok) throw new Error('Could not load system status. Try again.'); - data = await response.json(); - } catch (cause) { error = (cause as Error).message; } - finally { loading = false; } - } - onMount(() => { void refresh(); }); - const labels = { ready: 'Ready', attention: 'Needs attention', unconfigured: 'Not configured', unverified: 'Not verified' }; + onMount(() => { exampleDate = new Date(); }); Settings · Electric Cherry @@ -36,37 +20,17 @@

Dates and times throughout the app use this timezone, including daylight saving changes. Saved automatically in this browser.

- {#if data}

Example: {$timeFormat.dateTime(data.checkedAt)}

{/if} + {#if exampleDate}

Example: {$timeFormat.dateTime(exampleDate)}

{/if} {#if $timeZonePersistenceError}

Browser storage is unavailable. Your timezone applies for this visit but cannot be saved.

{/if} -
-

System status

Check your connections and the prerequisites for a playable server.

- -
- {#if error}{/if} - {#if data} -

Checked {$timeFormat.dateTime(data.checkedAt)} · {data.readyServers} / {data.totalServers} servers ready

-
    {#each data.checks as check}
  1. {check.title}

    {labels[check.state]}

    {check.detail}

    {#if check.href}{check.action} →{/if}
  2. {/each}
- {:else if loading}

Checking system setup…

{/if} -

Connection setup

Set these variables on the Electric Cherry container in Komodo, then restart the app to load the changes. Credentials are kept on the server and are never returned by this page.

Komodo
KOMODO_ADDRESS, KOMODO_API_KEY, KOMODO_API_SECRET, and KOMODO_TARGET_SERVER. The target must match the host name in Komodo.
Game servers
RCON_PASSWORD must match the game-server password. Set RCON_HOST if the default host.docker.internal does not reach the game host. Forward the allocated UDP game ports.
-

Game files and keys

Populate the Komodo host's t5_game_files or t6_game_files Docker volume with the corresponding game files and required DLC. Override those names using PLUTAINER_GAMEFILES_VOLUME or PLUTAINER_T6_GAMEFILES_VOLUME. Electric Cherry and the host must see each server directory at the same absolute path.

Create a Plutonium server key for the correct game and save it for the exact game, map, and lobby in Server keys. Use a launch preview to review the assigned ID and port before creating a server.