panel v0.9.1 — open-source game server manager

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-14 23:37:25 -07:00
commit 582b5a6b08
2161 changed files with 300950 additions and 0 deletions
@@ -0,0 +1,43 @@
-- Saved-coordinate book (wdcoordinates_edit equivalent).
CREATE TABLE empyrion_coords (
id BIGSERIAL PRIMARY KEY,
instance_id TEXT NOT NULL,
name TEXT NOT NULL,
playfield TEXT NOT NULL,
x DOUBLE PRECISION NOT NULL,
y DOUBLE PRECISION NOT NULL,
z DOUBLE PRECISION NOT NULL,
notes TEXT,
created_by TEXT,
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
UNIQUE (instance_id, name)
);
CREATE INDEX idx_empyrion_coords_instance ON empyrion_coords(instance_id);
-- Player-warning log (wdwarnings + ctrlplayerwarnings equivalent).
-- Append-only history of admin- or auto-issued warnings.
CREATE TABLE empyrion_warnings (
id BIGSERIAL PRIMARY KEY,
instance_id TEXT NOT NULL,
player_id INT NOT NULL,
player_name TEXT,
reason TEXT NOT NULL,
given_by TEXT,
auto_rule TEXT,
given_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
CREATE INDEX idx_empyrion_warnings_player ON empyrion_warnings(instance_id, player_id, given_at DESC);
-- Configurable warning rules (CEL-driven, matches scheduler_event.go's CEL env).
CREATE TABLE empyrion_warning_rules (
id TEXT PRIMARY KEY,
instance_id TEXT, -- NULL = applies to all empyrion instances
description TEXT NOT NULL DEFAULT '',
cel TEXT NOT NULL,
warn_message TEXT NOT NULL,
threshold INT NOT NULL DEFAULT 3,
threshold_action TEXT NOT NULL DEFAULT 'kick', -- kick | ban | none
enabled BOOLEAN NOT NULL DEFAULT true,
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
);