Files
DarkflameServer/migrations/dlu/sqlite/34_server_operations.sql
Aaron Kimbrell e213a7aeff feat: web dashboard and playground work
The NexusDashboard-parity dashboard (dDashboardServer) and everything built on it on the experimental branch:
accounts, characters, properties and moderation tools, permissions shared with in-game slash commands, economy
reports, World 3D and property 3D views with client scenery, scheduled events (features, vanity changes, live
events, announcements, restarts), vanity files and events, the CDClient browser, the message inspector with saved
captures, chat filter tools, community challenges, live ops, the AI moderator helper, and the server-side changes
they need.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 22:30:43 -05:00

51 lines
1.9 KiB
SQL

/* Scheduled announcements, events, zone limits and per-instance player samples. See the MySQL migration. */
CREATE TABLE IF NOT EXISTS scheduled_announcements (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL DEFAULT '',
message TEXT NOT NULL,
zones TEXT NOT NULL DEFAULT '',
schedule TEXT NOT NULL,
starts_at BIGINT NOT NULL DEFAULT 0,
ends_at BIGINT NOT NULL DEFAULT 0,
enabled INTEGER NOT NULL DEFAULT 1,
last_sent_at BIGINT NOT NULL DEFAULT 0,
sent_count INTEGER NOT NULL DEFAULT 0,
created_at BIGINT NOT NULL DEFAULT 0,
created_by TEXT NOT NULL DEFAULT '',
updated_at BIGINT NOT NULL DEFAULT 0,
updated_by TEXT NOT NULL DEFAULT ''
);
CREATE TABLE IF NOT EXISTS scheduled_events (
id INTEGER PRIMARY KEY AUTOINCREMENT,
feature TEXT NOT NULL,
note TEXT NOT NULL DEFAULT '',
starts_at BIGINT NOT NULL,
ends_at BIGINT NOT NULL,
state INTEGER NOT NULL DEFAULT 0,
slot INTEGER NOT NULL DEFAULT 0,
previous_value TEXT NULL DEFAULT NULL,
previous_web_wins INTEGER NOT NULL DEFAULT 0,
status TEXT NOT NULL DEFAULT '',
created_at BIGINT NOT NULL DEFAULT 0,
created_by TEXT NOT NULL DEFAULT '',
updated_at BIGINT NOT NULL DEFAULT 0,
updated_by TEXT NOT NULL DEFAULT ''
);
CREATE TABLE IF NOT EXISTS zone_limits (
zone_id INTEGER NOT NULL PRIMARY KEY,
soft_cap INTEGER NULL DEFAULT NULL,
hard_cap INTEGER NULL DEFAULT NULL,
spare_instances INTEGER NOT NULL DEFAULT 0,
updated_at BIGINT NOT NULL DEFAULT 0,
updated_by TEXT NOT NULL DEFAULT ''
);
CREATE TABLE IF NOT EXISTS server_health_instances (
time BIGINT NOT NULL,
zone_id INTEGER NOT NULL,
instance_id INTEGER NOT NULL,
clone_id INTEGER NOT NULL DEFAULT 0,
players INTEGER NOT NULL DEFAULT 0,
PRIMARY KEY (time, zone_id, instance_id)
);
CREATE INDEX IF NOT EXISTS server_health_instances_zone ON server_health_instances (zone_id, time);