Automated whitelists (#23985)

* Beginnings of making the breadmemes jobs easier

* stuff

* stuff pt. 2

* Stuff pt.3

* Stuff I forgot last time

* Basic whitelist

Only people that are added to the whitelist with the addwhitelist command will be able to join. I call this the "legacy" whitelist

* Remove always deny condition in favor of just breaking if playtime check fails

* Change default whitelist

Default whitelist is now the "legacy" whitelist.

* localization

* Admin check

* minor spelling change

* Fix build

* Whitelist message

* Fix vars not being datafield and spelling mistakes

* Minor spelling mistake

* Change config for salamander

* Reviews and stuff

* Add summaries

* Fix whitelists

* Forgot to add a datafield

* Fixing stuff I guess

* Reuse admin remarks to reduce load when connecting.

* Update log messages to be verbose instead of debug

* Reviews

* whoops

* Explain a bit more how whitelist checking works

* Apply CE's review

* Append Membership to Blacklist and Whitelist conditions

* Fix review comments

* Uncapitalize playerConnectionWhitelist, add to ignored client prototypes

* Make note count field work

* Fix cvar for thingy

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
This commit is contained in:
Simon
2024-08-27 18:01:17 +02:00
committed by GitHub
parent e59b9c5714
commit f92ef41538
28 changed files with 4289 additions and 47 deletions

View File

@@ -244,6 +244,16 @@ namespace Content.Server.Database
#endregion
#region Blacklist
Task<bool> GetBlacklistStatusAsync(NetUserId player);
Task AddToBlacklistAsync(NetUserId player);
Task RemoveFromBlacklistAsync(NetUserId player);
#endregion
#region Uploaded Resources Logs
Task AddUploadedResourceLogAsync(NetUserId user, DateTimeOffset date, string path, byte[] data);
@@ -740,6 +750,24 @@ namespace Content.Server.Database
return RunDbCommand(() => _db.RemoveFromWhitelistAsync(player));
}
public Task<bool> GetBlacklistStatusAsync(NetUserId player)
{
DbReadOpsMetric.Inc();
return RunDbCommand(() => _db.GetBlacklistStatusAsync(player));
}
public Task AddToBlacklistAsync(NetUserId player)
{
DbWriteOpsMetric.Inc();
return RunDbCommand(() => _db.AddToBlacklistAsync(player));
}
public Task RemoveFromBlacklistAsync(NetUserId player)
{
DbWriteOpsMetric.Inc();
return RunDbCommand(() => _db.RemoveFromBlacklistAsync(player));
}
public Task AddUploadedResourceLogAsync(NetUserId user, DateTimeOffset date, string path, byte[] data)
{
DbWriteOpsMetric.Inc();