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
15
Config.cs
Normal file
15
Config.cs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
using System.Text.Json.Serialization;
|
||||
using CounterStrikeSharp.API.Core;
|
||||
|
||||
namespace GroupVerify;
|
||||
|
||||
// configs/plugins/GroupVerify/GroupVerify.json, which CSS writes with these defaults on first load.
|
||||
// Only the Steam Web API key lives here, since it's a secret; every other setting is in the
|
||||
// database (gv_settings). Changes need the plugin reloaded: css_plugins reload GroupVerify.
|
||||
public class GroupVerifyConfig : BasePluginConfig
|
||||
{
|
||||
// From https://steamcommunity.com/dev/apikey. Without it, nobody's group membership is
|
||||
// checked, and only what's already in the database counts.
|
||||
[JsonPropertyName("SteamWebApiKey")]
|
||||
public string SteamWebApiKey { get; set; } = "";
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue