-- GroupVerify's tables, in CS2-SimpleAdmin's database. Applied once at load, tracked in -- gv_migrations (like SimpleAdmin's sa_migrations, kept apart so neither confuses the other). -- Times are wall-clock values in gv_settings' timezone, which should match SimpleAdmin's Timezone. -- One row per player and source. A player counts as verified if they're in the Steam group's -- member list, or have a row with `override` = 1 whose expires_at is NULL (never) or still ahead. -- source 'group': written by the plugin for everyone in the group list, `override` 0. Removed -- when they leave the group. The live list decides, not these rows. -- source 'manual': written by the web panel, `override` 1, expires_at NULL or a date. -- updated_at is when the plugin last saw a group row in the list. CREATE TABLE IF NOT EXISTS `gv_verified` ( `steamid64` bigint(20) NOT NULL, `source` enum('group','manual') NOT NULL, `override` tinyint(1) NOT NULL DEFAULT 0, `expires_at` datetime NULL DEFAULT NULL, `added_by` varchar(128) NOT NULL DEFAULT '', `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`steamid64`, `source`), KEY `idx_gv_verified_override` (`override`, `expires_at`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- Plugin settings, name -> value. The plugin adds any missing name with its default at load, and -- rereads them on every database reload, so edits apply without a restart. CREATE TABLE IF NOT EXISTS `gv_settings` ( `name` varchar(64) NOT NULL, `value` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;