import { json } from '@sveltejs/kit'; import type { RequestHandler } from './$types'; import { komodoResolvePortDetailed } from '$lib/server/integrations/komodo.js'; import { getServer, setServerField } from '$lib/server/fleet/servers.js'; /** * Trigger a fresh Komodo GetDeployment lookup for a specific server and * return the structured result — including a snippet of the response so * the UI can render "here's where we found the port" (or "here's what * Komodo returned; extend extractUdpPort for this shape"). * * On success, the resolved port is written to servers.game_port so the * next RCON attempt uses it without waiting for another sweep tick. */ export const POST: RequestHandler = async ({ params }) => { const name = params.name; if (!name) return json({ ok: false, reason: 'no-name', detail: 'missing server name' }, { status: 400 }); const row = getServer(name); if (!row) return json({ ok: false, reason: 'no-name', detail: `unknown server: ${name}` }, { status: 404 }); const result = await komodoResolvePortDetailed(name); if (result.ok) { setServerField(name, 'game_port', result.port); } return json(result); };