GroupVerify 0.3.0: check players with the Steam Web API as they join, clan tag for other plugins
Steam rate-limits its community member lists by IP (429), so the whole-list download is gone. Each player is checked as they join with ISteamUser/GetUserGroupList: a member's 'group' row is added or refreshed, a non-member's deleted, and when Steam won't say (private profile, bad key, outage) the database stands. A player is asked about at most once per min_forced_refresh_seconds; css_verify rechecks its targets, offline SteamIDs too. Changing the group clears the old group's rows. refresh_minutes is gone. The Web API key goes in configs/plugins/GroupVerify/GroupVerify.json (SteamWebApiKey); every other setting stays in the database. New clan_tag setting and css_gv_clantag <tag|-> (@css/root): the scoreboard tag for verified players without a rank, applied by CS2-Tags. The API gains ClanTag and OnClanTagChanged, so shared/GroupVerifyApi changes: needs a server restart.
This commit is contained in:
parent
1f61958099
commit
10e5fe9f3c
11 changed files with 436 additions and 204 deletions
|
|
@ -2,12 +2,12 @@
|
|||
-- 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.
|
||||
-- One row per player and source. A player counts as verified if they have a 'group' row, or a
|
||||
-- row with `override` = 1 whose expires_at is NULL (never) or still ahead.
|
||||
-- source 'group': written by the plugin when Steam's Web API says they're in the group (checked
|
||||
-- as they join), `override` 0. Deleted when Steam says they aren't.
|
||||
-- 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.
|
||||
-- updated_at is when Steam last confirmed a group row.
|
||||
CREATE TABLE IF NOT EXISTS `gv_verified` (
|
||||
`steamid64` bigint(20) NOT NULL,
|
||||
`source` enum('group','manual') NOT NULL,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue