feat(dashboard): track the UGC server like auth and chat

Online state with the time it came up, down/up alerts, a UGC column in the
health history, /api/servers (every server with its process memory and CPU)
and /api/servers/ugc, and UGC gauges for Prometheus.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-27 09:23:16 -05:00
parent 63496f52ab
commit fe67b5635d
18 changed files with 349 additions and 64 deletions

View File

@@ -60,7 +60,8 @@ void RegisterWSRoutes() {
void BroadcastDashboardUpdate() {
// Sent to every signed-in account, so it only has what players may see; staff load /api/worlds for details
nlohmann::json status = ServerState::PlayerSafe(ServerState::GetServerStateJson());
Alerts::ServerStatus(status["auth"].value("online", false), status["chat"].value("online", false));
Alerts::ServerStatus(status["auth"].value("online", false), status["chat"].value("online", false),
status["ugc"].value("enabled", false), status["ugc"].value("online", false));
status["restart"] = LiveWorld::RestartStatus();
try {