Initial commit: Brass & Sigil monorepo
Self-hosted Minecraft modpack distribution + administration system.
- launcher/ Avalonia 12 desktop client; single-file win-x64 publish.
Microsoft auth via XboxAuthNet, manifest+SHA-1 mod sync,
portable install path, sidecar settings.
- server/ brass-sigil-server daemon (.NET 8, linux-x64). Wraps the
MC subprocess, embedded Kestrel admin panel with cookie
auth + rate limiting, RCON bridge, scheduled backups,
BlueMap CLI integration with player markers + skin proxy,
friend-side whitelist request flow, world wipe with seed
selection (keep current / random / custom).
- pack/ pack.lock.json (Modrinth + manual CurseForge entries),
data-only tweak source under tweaks/, build outputs in
overrides/ (gitignored).
- scripts/ Build-Pack / Build-Tweaks / Update-Pack / Check-Updates
plus Deploy-Brass.ps1 unified one-shot deploy with
version-bump pre-flight and daemon-state detection.
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
"use strict";
|
||||
|
||||
import { tickStatus, tickPlayers, tickWhitelist, refreshWhitelistSoon } from "./modules/panels.js";
|
||||
import { setupConsole } from "./modules/console.js";
|
||||
import { setupAutocomplete } from "./modules/autocomplete.js";
|
||||
import { setupWhitelistActions } from "./modules/whitelist.js";
|
||||
import { setupServerControls } from "./modules/serverControls.js";
|
||||
import { setupPregen } from "./modules/pregen.js";
|
||||
import { setupAuth } from "./modules/auth.js";
|
||||
import { setupUpdate } from "./modules/update.js";
|
||||
import { setupDanger } from "./modules/danger.js";
|
||||
import { setupBackup } from "./modules/backup.js";
|
||||
import { setupModalTriggers } from "./modules/modal.js";
|
||||
import { setupSettings } from "./modules/settings.js";
|
||||
import { setupMap } from "./modules/map.js";
|
||||
|
||||
setupModalTriggers();
|
||||
setupAuth();
|
||||
setupConsole();
|
||||
setupAutocomplete();
|
||||
setupWhitelistActions(refreshWhitelistSoon);
|
||||
setupServerControls();
|
||||
setupPregen();
|
||||
setupUpdate();
|
||||
setupBackup();
|
||||
setupDanger();
|
||||
setupSettings();
|
||||
setupMap();
|
||||
|
||||
// First paint
|
||||
tickStatus();
|
||||
tickPlayers();
|
||||
tickWhitelist();
|
||||
|
||||
// Polling cadence:
|
||||
// status 3 s -- pid/uptime/pack version (cheap, doesn't change much)
|
||||
// players 10 s -- RCON `list` call; players join/leave infrequently
|
||||
// whitelist 30 s -- file read; mostly relies on refresh-on-action via add/remove
|
||||
// (Logs are NOT polled -- they stream live via Server-Sent Events from /api/logs/stream.)
|
||||
setInterval(tickStatus, 3000);
|
||||
setInterval(tickPlayers, 10000);
|
||||
setInterval(tickWhitelist, 30000);
|
||||
Reference in New Issue
Block a user