Table of Contents

Class DatabaseInterface

Namespace
Uncreated.Warfare.Moderation
Assembly
Uncreated.Warfare.dll
[GenerateRpcSource]
[RpcGeneratedProxyType(TypeSetupMethodName = "__ModularRpcsGeneratedSetupStaticGeneratedProxy")]
public class DatabaseInterface : IHostedService
Inheritance
DatabaseInterface
Implements
Inherited Members

Constructors

DatabaseInterface(IManualMySqlProvider, ILogger<DatabaseInterface>, ISteamApiService, IUserDataService, IPlayerService)

public DatabaseInterface(IManualMySqlProvider mySqlProvider, ILogger<DatabaseInterface> logger, ISteamApiService steamApi, IUserDataService userDataService, IPlayerService playerService)

Parameters

mySqlProvider IManualMySqlProvider
logger ILogger<DatabaseInterface>
steamApi ISteamApiService
userDataService IUserDataService
playerService IPlayerService

Fields

ColumnActorsAsAdmin

public const string ColumnActorsAsAdmin = "ActorAsAdmin"

Field Value

string

ColumnActorsId

public const string ColumnActorsId = "ActorId"

Field Value

string

ColumnActorsIndex

public const string ColumnActorsIndex = "ActorIndex"

Field Value

string

ColumnActorsRole

public const string ColumnActorsRole = "ActorRole"

Field Value

string

ColumnAppealPunishmentsPunishment

public const string ColumnAppealPunishmentsPunishment = "Punishment"

Field Value

string

ColumnAppealResponsesQuestion

public const string ColumnAppealResponsesQuestion = "Question"

Field Value

string

ColumnAppealResponsesResponse

public const string ColumnAppealResponsesResponse = "Response"

Field Value

string

ColumnAppealsDiscordId

public const string ColumnAppealsDiscordId = "DiscordId"

Field Value

string

ColumnAppealsState

public const string ColumnAppealsState = "State"

Field Value

string

ColumnAppealsTicketId

public const string ColumnAppealsTicketId = "TicketId"

Field Value

string

ColumnAssetBanFiltersType

public const string ColumnAssetBanFiltersType = "VehicleType"

Field Value

string

ColumnDiscordIdsDiscordId

[Obsolete]
public const string ColumnDiscordIdsDiscordId = "DiscordID"

Field Value

string

ColumnDiscordIdsSteam64

[Obsolete]
public const string ColumnDiscordIdsSteam64 = "Steam64"

Field Value

string

ColumnDurationsDurationSeconds

public const string ColumnDurationsDurationSeconds = "Duration"

Field Value

string

ColumnDurationsForgiven

public const string ColumnDurationsForgiven = "Forgiven"

Field Value

string

ColumnDurationsForgivenBy

public const string ColumnDurationsForgivenBy = "ForgivenBy"

Field Value

string

ColumnDurationsForgivenReason

public const string ColumnDurationsForgivenReason = "ForgivenReason"

Field Value

string

ColumnDurationsForgivenTimestamp

public const string ColumnDurationsForgivenTimestamp = "ForgivenTimeUTC"

Field Value

string

ColumnEntriesDiscordMessageId

public const string ColumnEntriesDiscordMessageId = "DiscordMessageId"

Field Value

string

ColumnEntriesIsLegacy

public const string ColumnEntriesIsLegacy = "IsLegacy"

Field Value

string

ColumnEntriesLegacyId

public const string ColumnEntriesLegacyId = "LegacyId"

Field Value

string

ColumnEntriesMessage

public const string ColumnEntriesMessage = "Message"

Field Value

string

ColumnEntriesMessageId

public const string ColumnEntriesMessageId = "OffenseMessageId"

Field Value

string

ColumnEntriesPendingReputation

public const string ColumnEntriesPendingReputation = "PendingReputation"

Field Value

string

ColumnEntriesPrimaryKey

public const string ColumnEntriesPrimaryKey = "Id"

Field Value

string

ColumnEntriesRelavantLogsEndTimestamp

public const string ColumnEntriesRelavantLogsEndTimestamp = "RelavantLogsEndTimeUTC"

Field Value

string

ColumnEntriesRelavantLogsStartTimestamp

public const string ColumnEntriesRelavantLogsStartTimestamp = "RelavantLogsStartTimeUTC"

Field Value

string

ColumnEntriesRemoved

public const string ColumnEntriesRemoved = "Removed"

Field Value

string

ColumnEntriesRemovedBy

public const string ColumnEntriesRemovedBy = "RemovedBy"

Field Value

string

ColumnEntriesRemovedReason

public const string ColumnEntriesRemovedReason = "RemovedReason"

Field Value

string

ColumnEntriesRemovedTimestamp

public const string ColumnEntriesRemovedTimestamp = "RemovedTimeUTC"

Field Value

string

ColumnEntriesReputation

public const string ColumnEntriesReputation = "Reputation"

Field Value

string

ColumnEntriesResolvedTimestamp

public const string ColumnEntriesResolvedTimestamp = "ResolvedTimeUTC"

Field Value

string

ColumnEntriesStartTimestamp

public const string ColumnEntriesStartTimestamp = "StartTimeUTC"

Field Value

string

ColumnEntriesSteam64

public const string ColumnEntriesSteam64 = "Steam64"

Field Value

string

ColumnEntriesType

public const string ColumnEntriesType = "Type"

Field Value

string

ColumnEvidenceActorId

public const string ColumnEvidenceActorId = "EvidenceActor"

Field Value

string

ColumnEvidenceId

public const string ColumnEvidenceId = "Id"

Field Value

string

ColumnEvidenceIsImage

public const string ColumnEvidenceIsImage = "EvidenceIsImage"

Field Value

string
public const string ColumnEvidenceLink = "EvidenceURL"

Field Value

string

ColumnEvidenceLocalSource

public const string ColumnEvidenceLocalSource = "EvidenceLocalSource"

Field Value

string

ColumnEvidenceMessage

public const string ColumnEvidenceMessage = "EvidenceMessage"

Field Value

string

ColumnEvidenceTimestamp

public const string ColumnEvidenceTimestamp = "EvidenceTimestampUTC"

Field Value

string

ColumnExternalPrimaryKey

public const string ColumnExternalPrimaryKey = "Entry"

Field Value

string

ColumnHWIDsFirstLogin

public const string ColumnHWIDsFirstLogin = "FirstLogin"

Field Value

string

ColumnHWIDsHWID

public const string ColumnHWIDsHWID = "HWID"

Field Value

string

ColumnHWIDsIndex

public const string ColumnHWIDsIndex = "Index"

Field Value

string

ColumnHWIDsLastLogin

public const string ColumnHWIDsLastLogin = "LastLogin"

Field Value

string

ColumnHWIDsLoginCount

public const string ColumnHWIDsLoginCount = "LoginCount"

Field Value

string

ColumnHWIDsPrimaryKey

public const string ColumnHWIDsPrimaryKey = "Id"

Field Value

string

ColumnHWIDsSteam64

public const string ColumnHWIDsSteam64 = "Steam64"

Field Value

string

ColumnIPAddressesFirstLogin

public const string ColumnIPAddressesFirstLogin = "FirstLogin"

Field Value

string

ColumnIPAddressesLastLogin

public const string ColumnIPAddressesLastLogin = "LastLogin"

Field Value

string

ColumnIPAddressesLoginCount

public const string ColumnIPAddressesLoginCount = "LoginCount"

Field Value

string

ColumnIPAddressesPackedIP

public const string ColumnIPAddressesPackedIP = "Packed"

Field Value

string

ColumnIPAddressesPrimaryKey

public const string ColumnIPAddressesPrimaryKey = "Id"

Field Value

string

ColumnIPAddressesSteam64

public const string ColumnIPAddressesSteam64 = "Steam64"

Field Value

string

ColumnIPAddressesUnpackedIP

public const string ColumnIPAddressesUnpackedIP = "Unpacked"

Field Value

string

ColumnIPWhitelistsAdmin

public const string ColumnIPWhitelistsAdmin = "Admin"

Field Value

string

ColumnIPWhitelistsIPRange

public const string ColumnIPWhitelistsIPRange = "IPRange"

Field Value

string

ColumnIPWhitelistsSteam64

public const string ColumnIPWhitelistsSteam64 = "Steam64"

Field Value

string

ColumnLinkedAppealsAppeal

public const string ColumnLinkedAppealsAppeal = "LinkedAppeal"

Field Value

string

ColumnLinkedReportsReport

public const string ColumnLinkedReportsReport = "LinkedReport"

Field Value

string

ColumnMutesType

public const string ColumnMutesType = "MuteType"

Field Value

string

ColumnPlayerReportAcceptedsReport

public const string ColumnPlayerReportAcceptedsReport = "AcceptedReport"

Field Value

string

ColumnPunishmentsPresetLevel

public const string ColumnPunishmentsPresetLevel = "PresetLevel"

Field Value

string

ColumnPunishmentsPresetType

public const string ColumnPunishmentsPresetType = "PresetType"

Field Value

string

ColumnRelatedEntry

public const string ColumnRelatedEntry = "RelatedEntry"

Field Value

string

ColumnReportsChatRecordsIndex

public const string ColumnReportsChatRecordsIndex = "Index"

Field Value

string

ColumnReportsChatRecordsMessage

public const string ColumnReportsChatRecordsMessage = "Message"

Field Value

string

ColumnReportsChatRecordsTimestamp

public const string ColumnReportsChatRecordsTimestamp = "TimeUTC"

Field Value

string

ColumnReportsScreenshotData

public const string ColumnReportsScreenshotData = "ScreenshotData"

Field Value

string

ColumnReportsShotRecordAmmo

public const string ColumnReportsShotRecordAmmo = "Ammo"

Field Value

string

ColumnReportsShotRecordAmmoName

public const string ColumnReportsShotRecordAmmoName = "AmmoName"

Field Value

string

ColumnReportsShotRecordDamageDone

public const string ColumnReportsShotRecordDamageDone = "DamageDone"

Field Value

string

ColumnReportsShotRecordDistance

public const string ColumnReportsShotRecordDistance = "Distance"

Field Value

string

ColumnReportsShotRecordHitActor

public const string ColumnReportsShotRecordHitActor = "HitActor"

Field Value

string

ColumnReportsShotRecordHitAsset

public const string ColumnReportsShotRecordHitAsset = "HitAsset"

Field Value

string

ColumnReportsShotRecordHitAssetName

public const string ColumnReportsShotRecordHitAssetName = "HitAssetName"

Field Value

string

ColumnReportsShotRecordHitPointX

public const string ColumnReportsShotRecordHitPointX = "HitPointX"

Field Value

string

ColumnReportsShotRecordHitPointY

public const string ColumnReportsShotRecordHitPointY = "HitPointY"

Field Value

string

ColumnReportsShotRecordHitPointZ

public const string ColumnReportsShotRecordHitPointZ = "HitPointZ"

Field Value

string

ColumnReportsShotRecordHitType

public const string ColumnReportsShotRecordHitType = "HitType"

Field Value

string

ColumnReportsShotRecordIsProjectile

public const string ColumnReportsShotRecordIsProjectile = "IsProjectile"

Field Value

string

ColumnReportsShotRecordItem

public const string ColumnReportsShotRecordItem = "Item"

Field Value

string

ColumnReportsShotRecordItemName

public const string ColumnReportsShotRecordItemName = "ItemName"

Field Value

string

ColumnReportsShotRecordLimb

public const string ColumnReportsShotRecordLimb = "Limb"

Field Value

string

ColumnReportsShotRecordShootFromPointX

public const string ColumnReportsShotRecordShootFromPointX = "ShootFromPointX"

Field Value

string

ColumnReportsShotRecordShootFromPointY

public const string ColumnReportsShotRecordShootFromPointY = "ShootFromPointY"

Field Value

string

ColumnReportsShotRecordShootFromPointZ

public const string ColumnReportsShotRecordShootFromPointZ = "ShootFromPointZ"

Field Value

string

ColumnReportsShotRecordShootFromRotationX

public const string ColumnReportsShotRecordShootFromRotationX = "ShootFromRotationX"

Field Value

string

ColumnReportsShotRecordShootFromRotationY

public const string ColumnReportsShotRecordShootFromRotationY = "ShootFromRotationY"

Field Value

string

ColumnReportsShotRecordShootFromRotationZ

public const string ColumnReportsShotRecordShootFromRotationZ = "ShootFromRotationZ"

Field Value

string

ColumnReportsShotRecordTimestamp

public const string ColumnReportsShotRecordTimestamp = "Timestamp"

Field Value

string

ColumnReportsStructureDamageDamage

public const string ColumnReportsStructureDamageDamage = "Damage"

Field Value

string

ColumnReportsStructureDamageDamageOrigin

public const string ColumnReportsStructureDamageDamageOrigin = "DamageOrigin"

Field Value

string

ColumnReportsStructureDamageInstanceId

public const string ColumnReportsStructureDamageInstanceId = "InstanceId"

Field Value

string

ColumnReportsStructureDamageStructure

public const string ColumnReportsStructureDamageStructure = "Structure"

Field Value

string

ColumnReportsStructureDamageStructureName

public const string ColumnReportsStructureDamageStructureName = "StructureName"

Field Value

string

ColumnReportsStructureDamageStructureOwner

public const string ColumnReportsStructureDamageStructureOwner = "StructureOwner"

Field Value

string

ColumnReportsStructureDamageStructureType

public const string ColumnReportsStructureDamageStructureType = "StructureType"

Field Value

string

ColumnReportsStructureDamageTimestamp

public const string ColumnReportsStructureDamageTimestamp = "Timestamp"

Field Value

string

ColumnReportsStructureDamageWasDestroyed

public const string ColumnReportsStructureDamageWasDestroyed = "WasDestroyed"

Field Value

string

ColumnReportsTeamkillRecordDeathCause

public const string ColumnReportsTeamkillRecordDeathCause = "DeathCause"

Field Value

string

ColumnReportsTeamkillRecordMessage

public const string ColumnReportsTeamkillRecordMessage = "Message"

Field Value

string

ColumnReportsTeamkillRecordTeamkill

public const string ColumnReportsTeamkillRecordTeamkill = "Teamkill"

Field Value

string

ColumnReportsTeamkillRecordTimestamp

public const string ColumnReportsTeamkillRecordTimestamp = "Timestamp"

Field Value

string

ColumnReportsTeamkillRecordVictim

public const string ColumnReportsTeamkillRecordVictim = "Victim"

Field Value

string

ColumnReportsTeamkillRecordWasIntentional

public const string ColumnReportsTeamkillRecordWasIntentional = "WasIntentional"

Field Value

string

ColumnReportsType

public const string ColumnReportsType = "Type"

Field Value

string

ColumnReportsVehicleRequestRecordAsset

public const string ColumnReportsVehicleRequestRecordAsset = "Asset"

Field Value

string

ColumnReportsVehicleRequestRecordDamageOrigin

public const string ColumnReportsVehicleRequestRecordDamageOrigin = "DamageOrigin"

Field Value

string

ColumnReportsVehicleRequestRecordDestroyTimestamp

public const string ColumnReportsVehicleRequestRecordDestroyTimestamp = "DestroyTimeUTC"

Field Value

string

ColumnReportsVehicleRequestRecordInstigator

public const string ColumnReportsVehicleRequestRecordInstigator = "DamageInstigator"

Field Value

string

ColumnReportsVehicleRequestRecordRequestTimestamp

public const string ColumnReportsVehicleRequestRecordRequestTimestamp = "RequestTimeUTC"

Field Value

string

ColumnReportsVehicleRequestRecordVehicle

public const string ColumnReportsVehicleRequestRecordVehicle = "Vehicle"

Field Value

string

ColumnReportsVehicleRequestRecordVehicleName

public const string ColumnReportsVehicleRequestRecordVehicleName = "VehicleName"

Field Value

string

ColumnReportsVehicleTeamkillRecordDamageOrigin

public const string ColumnReportsVehicleTeamkillRecordDamageOrigin = "DamageOrigin"

Field Value

string

ColumnReportsVehicleTeamkillRecordMessage

public const string ColumnReportsVehicleTeamkillRecordMessage = "Message"

Field Value

string

ColumnReportsVehicleTeamkillRecordTeamkill

public const string ColumnReportsVehicleTeamkillRecordTeamkill = "Teamkill"

Field Value

string

ColumnReportsVehicleTeamkillRecordTimestamp

public const string ColumnReportsVehicleTeamkillRecordTimestamp = "Timestamp"

Field Value

string

ColumnReportsVehicleTeamkillRecordVictim

public const string ColumnReportsVehicleTeamkillRecordVictim = "Victim"

Field Value

string

ColumnTableBugReportAcceptedsCommit

public const string ColumnTableBugReportAcceptedsCommit = "AcceptedCommit"

Field Value

string

ColumnTableBugReportAcceptedsIssue

public const string ColumnTableBugReportAcceptedsIssue = "AcceptedIssue"

Field Value

string

ColumnTeamkillsAsset

public const string ColumnTeamkillsAsset = "Asset"

Field Value

string

ColumnTeamkillsAssetName

public const string ColumnTeamkillsAssetName = "AssetName"

Field Value

string

ColumnTeamkillsDeathCause

public const string ColumnTeamkillsDeathCause = "DeathCause"

Field Value

string

ColumnTeamkillsDistance

public const string ColumnTeamkillsDistance = "Distance"

Field Value

string

ColumnTeamkillsLimb

public const string ColumnTeamkillsLimb = "Limb"

Field Value

string

ColumnUserDataCharacterName

public const string ColumnUserDataCharacterName = "CharacterName"

Field Value

string

ColumnUserDataDiscordId

public const string ColumnUserDataDiscordId = "DiscordId"

Field Value

string

ColumnUserDataDisplayName

public const string ColumnUserDataDisplayName = "DisplayName"

Field Value

string

ColumnUserDataFirstJoined

public const string ColumnUserDataFirstJoined = "FirstJoined"

Field Value

string

ColumnUserDataLastJoined

public const string ColumnUserDataLastJoined = "LastJoined"

Field Value

string

ColumnUserDataLastPrivacyPolicyAccepted

public const string ColumnUserDataLastPrivacyPolicyAccepted = "LastPrivacyPolicyAccepted"

Field Value

string

ColumnUserDataNickName

public const string ColumnUserDataNickName = "NickName"

Field Value

string

ColumnUserDataPlayerName

public const string ColumnUserDataPlayerName = "PlayerName"

Field Value

string

ColumnUserDataSteam64

public const string ColumnUserDataSteam64 = "Steam64"

Field Value

string

ColumnUsernamesCharacterName

[Obsolete]
public const string ColumnUsernamesCharacterName = "CharacterName"

Field Value

string

ColumnUsernamesNickName

[Obsolete]
public const string ColumnUsernamesNickName = "NickName"

Field Value

string

ColumnUsernamesPlayerName

[Obsolete]
public const string ColumnUsernamesPlayerName = "PlayerName"

Field Value

string

ColumnUsernamesSteam64

[Obsolete]
public const string ColumnUsernamesSteam64 = "Steam64"

Field Value

string

ColumnVehicleTeamkillsDamageOrigin

public const string ColumnVehicleTeamkillsDamageOrigin = "DamageOrigin"

Field Value

string

ColumnVehicleTeamkillsVehicleAsset

public const string ColumnVehicleTeamkillsVehicleAsset = "VehicleAsset"

Field Value

string

ColumnVehicleTeamkillsVehicleAssetName

public const string ColumnVehicleTeamkillsVehicleAssetName = "VehicleAssetName"

Field Value

string

ColumnVoiceChatReportsData

public const string ColumnVoiceChatReportsData = "VoiceData"

Field Value

string

ColumnWarningsDisplayedTimestamp

public const string ColumnWarningsDisplayedTimestamp = "Displayed"

Field Value

string

DefaultInvalidateDuration

public readonly TimeSpan DefaultInvalidateDuration

Field Value

TimeSpan

TableActors

public const string TableActors = "moderation_actors"

Field Value

string

TableAppealPunishments

public const string TableAppealPunishments = "moderation_appeal_punishments"

Field Value

string

TableAppealResponses

public const string TableAppealResponses = "moderation_appeal_responses"

Field Value

string

TableAppeals

public const string TableAppeals = "moderation_appeals"

Field Value

string

TableAssetBanTypeFilters

public const string TableAssetBanTypeFilters = "moderation_asset_ban_filters"

Field Value

string

TableBugReportAccepteds

public const string TableBugReportAccepteds = "moderation_accepted_bug_reports"

Field Value

string

TableDiscordIds

[Obsolete]
public const string TableDiscordIds = "discordnames"

Field Value

string

TableDurationPunishments

public const string TableDurationPunishments = "moderation_durations"

Field Value

string

TableEntries

public const string TableEntries = "moderation_entries"

Field Value

string

TableEvidence

public const string TableEvidence = "moderation_evidence"

Field Value

string

TableHWIDs

public const string TableHWIDs = "hwids"

Field Value

string

TableIPAddresses

public const string TableIPAddresses = "ip_addresses"

Field Value

string

TableIPWhitelists

public const string TableIPWhitelists = "ip_whitelists"

Field Value

string

TableLinkedAppeals

public const string TableLinkedAppeals = "moderation_linked_appeals"

Field Value

string

TableLinkedReports

public const string TableLinkedReports = "moderation_linked_reports"

Field Value

string

TableMutes

public const string TableMutes = "moderation_mutes"

Field Value

string

TablePlayerReportAccepteds

public const string TablePlayerReportAccepteds = "moderation_accepted_player_reports"

Field Value

string

TablePunishments

public const string TablePunishments = "moderation_punishments"

Field Value

string

TableRelatedEntries

public const string TableRelatedEntries = "moderation_related_entries"

Field Value

string

TableReportChatRecords

public const string TableReportChatRecords = "moderation_report_chat_records"

Field Value

string

TableReportShotRecords

public const string TableReportShotRecords = "moderation_report_shot_record"

Field Value

string

TableReportStructureDamageRecords

public const string TableReportStructureDamageRecords = "moderation_report_struct_dmg_records"

Field Value

string

TableReportTeamkillRecords

public const string TableReportTeamkillRecords = "moderation_report_tk_records"

Field Value

string

TableReportVehicleRequestRecords

public const string TableReportVehicleRequestRecords = "moderation_report_veh_req_records"

Field Value

string

TableReportVehicleTeamkillRecords

public const string TableReportVehicleTeamkillRecords = "moderation_report_veh_tk_records"

Field Value

string

TableReports

public const string TableReports = "moderation_reports"

Field Value

string

TableTeamkills

public const string TableTeamkills = "moderation_teamkills"

Field Value

string

TableUserData

public const string TableUserData = "users"

Field Value

string

TableUsernames

[Obsolete]
public const string TableUsernames = "usernames"

Field Value

string

TableVehicleTeamkills

public const string TableVehicleTeamkills = "moderation_vehicle_teamkills"

Field Value

string

TableVoiceChatReports

public const string TableVoiceChatReports = "moderation_voice_chat_reports"

Field Value

string

TableWarnings

public const string TableWarnings = "moderation_warnings"

Field Value

string

Properties

Cache

public ModerationCache Cache { get; }

Property Value

ModerationCache

IPAddressFilters

public IIPAddressFilter[] IPAddressFilters { get; }

Property Value

IIPAddressFilter[]

NonRemotePlayFilters

public IIPAddressFilter[] NonRemotePlayFilters { get; }

Property Value

IIPAddressFilter[]

RemotePlayAddressFilters

public IPv4AddressRangeFilter[] RemotePlayAddressFilters { get; }

Property Value

IPv4AddressRangeFilter[]

Methods

AddOrUpdate(IModerationEntry, CancellationToken)

public Task AddOrUpdate(IModerationEntry entry, CancellationToken token = default)

Parameters

entry IModerationEntry
token CancellationToken

Returns

Task

CacheAvatarsAsync(IEnumerable<ulong>, AvatarSize, CancellationToken)

public Task CacheAvatarsAsync(IEnumerable<ulong> steamIds, AvatarSize size, CancellationToken token = default)

Parameters

steamIds IEnumerable<ulong>
size AvatarSize
token CancellationToken

Returns

Task

CacheUsernames(ulong[], CancellationToken)

public Task CacheUsernames(ulong[] players, CancellationToken token = default)

Parameters

players ulong[]
token CancellationToken

Returns

Task

GetActiveAssetBan(CSteamID, VehicleType, bool, CancellationToken)

public Task<AssetBan?> GetActiveAssetBan(CSteamID steam64, VehicleType type, bool detail = true, CancellationToken token = default)

Parameters

steam64 CSteamID
type VehicleType
detail bool
token CancellationToken

Returns

Task<AssetBan>

GetActiveEntries(Type, CSteamID, bool, bool, string?, string?, object[]?, DateTimeOffset?, DateTimeOffset?, CancellationToken)

public Task<Array> GetActiveEntries(Type type, CSteamID steam64, bool detail = true, bool baseOnly = false, string? condition = null, string? orderBy = null, object[]? conditionArgs = null, DateTimeOffset? start = null, DateTimeOffset? end = null, CancellationToken token = default)

Parameters

type Type
steam64 CSteamID
detail bool
baseOnly bool
condition string
orderBy string
conditionArgs object[]
start DateTimeOffset?
end DateTimeOffset?
token CancellationToken

Returns

Task<Array>

GetActiveEntries(Type, CSteamID, IReadOnlyList<PlayerIPAddress>, IReadOnlyList<PlayerHWID>, bool, bool, string?, string?, object[]?, DateTimeOffset?, DateTimeOffset?, CancellationToken)

public Task<Array> GetActiveEntries(Type type, CSteamID baseSteam64, IReadOnlyList<PlayerIPAddress> addresses, IReadOnlyList<PlayerHWID> hwids, bool detail = true, bool baseOnly = false, string? condition = null, string? orderBy = null, object[]? conditionArgs = null, DateTimeOffset? start = null, DateTimeOffset? end = null, CancellationToken token = default)

Parameters

type Type
baseSteam64 CSteamID
addresses IReadOnlyList<PlayerIPAddress>
hwids IReadOnlyList<PlayerHWID>
detail bool
baseOnly bool
condition string
orderBy string
conditionArgs object[]
start DateTimeOffset?
end DateTimeOffset?
token CancellationToken

Returns

Task<Array>

GetActiveEntries<T>(CSteamID, bool, bool, string?, string?, object[]?, DateTimeOffset?, DateTimeOffset?, CancellationToken)

public Task<T[]> GetActiveEntries<T>(CSteamID steam64, bool detail = true, bool baseOnly = false, string? condition = null, string? orderBy = null, object[]? conditionArgs = null, DateTimeOffset? start = null, DateTimeOffset? end = null, CancellationToken token = default) where T : IDurationModerationEntry

Parameters

steam64 CSteamID
detail bool
baseOnly bool
condition string
orderBy string
conditionArgs object[]
start DateTimeOffset?
end DateTimeOffset?
token CancellationToken

Returns

Task<T[]>

Type Parameters

T

GetActiveEntries<T>(CSteamID, IReadOnlyList<PlayerIPAddress>, IReadOnlyList<PlayerHWID>, bool, bool, string?, string?, object[]?, DateTimeOffset?, DateTimeOffset?, CancellationToken)

public Task<T[]> GetActiveEntries<T>(CSteamID baseSteam64, IReadOnlyList<PlayerIPAddress> addresses, IReadOnlyList<PlayerHWID> hwids, bool detail = true, bool baseOnly = false, string? condition = null, string? orderBy = null, object[]? conditionArgs = null, DateTimeOffset? start = null, DateTimeOffset? end = null, CancellationToken token = default) where T : IDurationModerationEntry

Parameters

baseSteam64 CSteamID
addresses IReadOnlyList<PlayerIPAddress>
hwids IReadOnlyList<PlayerHWID>
detail bool
baseOnly bool
condition string
orderBy string
conditionArgs object[]
start DateTimeOffset?
end DateTimeOffset?
token CancellationToken

Returns

Task<T[]>

Type Parameters

T

GetActorSteam64ID(IModerationActor, CancellationToken)

public Task<ulong> GetActorSteam64ID(IModerationActor actor, CancellationToken token = default)

Parameters

actor IModerationActor
token CancellationToken

Returns

Task<ulong>

GetActorSteam64IDs(IList<IModerationActor>, CancellationToken)

public Task<ulong[]> GetActorSteam64IDs(IList<IModerationActor> actors, CancellationToken token = default)

Parameters

actors IList<IModerationActor>
token CancellationToken

Returns

Task<ulong[]>

GetAvatarAsync(CSteamID, AvatarSize, bool, CancellationToken)

public ValueTask<string> GetAvatarAsync(CSteamID steam64, AvatarSize size, bool allowCache = true, CancellationToken token = default)

Parameters

steam64 CSteamID
size AvatarSize
allowCache bool
token CancellationToken

Returns

ValueTask<string>

GetEntriesOfLevel(Type, CSteamID, int, PresetType, bool, bool, CancellationToken)

public Task<Array> GetEntriesOfLevel(Type type, CSteamID player, int level, PresetType presetType, bool detail = true, bool baseOnly = false, CancellationToken token = default)

Parameters

type Type
player CSteamID
level int
presetType PresetType
detail bool
baseOnly bool
token CancellationToken

Returns

Task<Array>

GetEntriesOfLevel<T>(CSteamID, int, PresetType, bool, bool, CancellationToken)

public Task<T[]> GetEntriesOfLevel<T>(CSteamID player, int level, PresetType type, bool detail = true, bool baseOnly = false, CancellationToken token = default) where T : Punishment

Parameters

player CSteamID
level int
type PresetType
detail bool
baseOnly bool
token CancellationToken

Returns

Task<T[]>

Type Parameters

T

GetHWIDs(CSteamID, CancellationToken)

public Task<PlayerHWID[]> GetHWIDs(CSteamID player, CancellationToken token = default)

Parameters

player CSteamID
token CancellationToken

Returns

Task<PlayerHWID[]>

GetIPAddresses(CSteamID, bool, CancellationToken)

public Task<PlayerIPAddress[]> GetIPAddresses(CSteamID player, bool removeFiltered, CancellationToken token = default)

Parameters

player CSteamID
removeFiltered bool
token CancellationToken

Returns

Task<PlayerIPAddress[]>

GetNextPresetLevel(ulong, PresetType, CancellationToken)

public Task<int> GetNextPresetLevel(ulong player, PresetType type, CancellationToken token = default)

Parameters

player ulong
type PresetType
token CancellationToken

Returns

Task<int>

GetUsernames(CSteamID, bool, CancellationToken)

public Task<PlayerNames> GetUsernames(CSteamID id, bool useCache, CancellationToken token = default)

Parameters

id CSteamID
useCache bool
token CancellationToken

Returns

Task<PlayerNames>

IsAnyRemotePlay(IEnumerable<IPAddress>)

public bool IsAnyRemotePlay(IEnumerable<IPAddress> addresses)

Parameters

addresses IEnumerable<IPAddress>

Returns

bool

IsAnyRemotePlay(IEnumerable<uint>)

public bool IsAnyRemotePlay(IEnumerable<uint> addresses)

Parameters

addresses IEnumerable<uint>

Returns

bool

IsIPFiltered(uint, CSteamID, CancellationToken)

public Task<bool> IsIPFiltered(uint packedIp, CSteamID steam64, CancellationToken token = default)

Parameters

packedIp uint
steam64 CSteamID
token CancellationToken

Returns

Task<bool>

IsRemotePlay(IPAddress)

public bool IsRemotePlay(IPAddress address)

Parameters

address IPAddress

Returns

bool

IsRemotePlay(uint)

public bool IsRemotePlay(uint address)

Parameters

address uint

Returns

bool

ReadAll(Type, CSteamID, ActorRelationType, bool, bool, DateTimeOffset?, DateTimeOffset?, string?, string?, object[]?, CancellationToken)

public Task<Array> ReadAll(Type type, CSteamID actor, ActorRelationType relation, bool detail = true, bool baseOnly = false, DateTimeOffset? start = null, DateTimeOffset? end = null, string? condition = null, string? orderBy = null, object[]? conditionArgs = null, CancellationToken token = default)

Parameters

type Type
actor CSteamID
relation ActorRelationType
detail bool
baseOnly bool
start DateTimeOffset?
end DateTimeOffset?
condition string
orderBy string
conditionArgs object[]
token CancellationToken

Returns

Task<Array>

ReadAll(Type, bool, bool, DateTimeOffset?, DateTimeOffset?, string?, string?, object[]?, CancellationToken)

public Task<Array> ReadAll(Type type, bool detail = true, bool baseOnly = false, DateTimeOffset? start = null, DateTimeOffset? end = null, string? condition = null, string? orderBy = null, object[]? conditionArgs = null, CancellationToken token = default)

Parameters

type Type
detail bool
baseOnly bool
start DateTimeOffset?
end DateTimeOffset?
condition string
orderBy string
conditionArgs object[]
token CancellationToken

Returns

Task<Array>

ReadAll<T>(CSteamID, ActorRelationType, bool, bool, DateTimeOffset?, DateTimeOffset?, string?, string?, object[]?, CancellationToken)

public Task<T[]> ReadAll<T>(CSteamID actor, ActorRelationType relation, bool detail = true, bool baseOnly = false, DateTimeOffset? start = null, DateTimeOffset? end = null, string? condition = null, string? orderBy = null, object[]? conditionArgs = null, CancellationToken token = default) where T : IModerationEntry

Parameters

actor CSteamID
relation ActorRelationType
detail bool
baseOnly bool
start DateTimeOffset?
end DateTimeOffset?
condition string
orderBy string
conditionArgs object[]
token CancellationToken

Returns

Task<T[]>

Type Parameters

T

ReadAll<T>(bool, bool, DateTimeOffset?, DateTimeOffset?, string?, string?, object[]?, CancellationToken)

public Task<T[]> ReadAll<T>(bool detail = true, bool baseOnly = false, DateTimeOffset? start = null, DateTimeOffset? end = null, string? condition = null, string? orderBy = null, object[]? conditionArgs = null, CancellationToken token = default) where T : class, IModerationEntry

Parameters

detail bool
baseOnly bool
start DateTimeOffset?
end DateTimeOffset?
condition string
orderBy string
conditionArgs object[]
token CancellationToken

Returns

Task<T[]>

Type Parameters

T

ReadAll<T>(uint[], bool, bool, bool, CancellationToken)

public Task<T?[]> ReadAll<T>(uint[] ids, bool tryGetFromCache, bool detail = true, bool baseOnly = false, CancellationToken token = default) where T : class, IModerationEntry

Parameters

ids uint[]
tryGetFromCache bool
detail bool
baseOnly bool
token CancellationToken

Returns

Task<T[]>

Type Parameters

T

ReadAll<T>(T?[], uint[], bool, bool, bool, CancellationToken)

public Task ReadAll<T>(T?[] result, uint[] ids, bool tryGetFromCache, bool detail = true, bool baseOnly = false, CancellationToken token = default) where T : class, IModerationEntry

Parameters

result T[]
ids uint[]
tryGetFromCache bool
detail bool
baseOnly bool
token CancellationToken

Returns

Task

Type Parameters

T

ReadOne<T>(uint, bool, bool, bool, CancellationToken)

public Task<T?> ReadOne<T>(uint id, bool tryGetFromCache, bool detail = true, bool baseOnly = false, CancellationToken token = default) where T : class, IModerationEntry

Parameters

id uint
tryGetFromCache bool
detail bool
baseOnly bool
token CancellationToken

Returns

Task<T>

Type Parameters

T

SendModerationEntryUpdated(uint, bool)

[RpcSend("ReceiveModerationEntryUpdated")]
protected void SendModerationEntryUpdated(uint entryId, bool isNew)

Parameters

entryId uint
isNew bool

SendSuspectedCheater(ulong, uint)

[RpcSend]
protected RpcTask SendSuspectedCheater(ulong steam64, uint ucsBanId)

Parameters

steam64 ulong
ucsBanId uint

Returns

RpcTask

SendSuspectedCheaterMessage(CSteamID, uint)

public void SendSuspectedCheaterMessage(CSteamID steam64, uint banId)

Parameters

steam64 CSteamID
banId uint

TryGetAvatar(ulong, AvatarSize, out string)

public bool TryGetAvatar(ulong steam64, AvatarSize size, out string avatar)

Parameters

steam64 ulong
size AvatarSize
avatar string

Returns

bool

TryGetAvatar(IModerationActor, AvatarSize, out string)

public bool TryGetAvatar(IModerationActor actor, AvatarSize size, out string avatar)

Parameters

actor IModerationActor
size AvatarSize
avatar string

Returns

bool

TryGetUsernames(CSteamID, out PlayerNames)

public bool TryGetUsernames(CSteamID steam64, out PlayerNames names)

Parameters

steam64 CSteamID
names PlayerNames

Returns

bool

TryGetUsernames(IModerationActor, out PlayerNames)

public bool TryGetUsernames(IModerationActor actor, out PlayerNames names)

Parameters

actor IModerationActor
names PlayerNames

Returns

bool

UnwhitelistIP(CSteamID, CSteamID, IPv4Range, DateTimeOffset, CancellationToken)

public Task<bool> UnwhitelistIP(CSteamID targetId, CSteamID callerId, IPv4Range range, DateTimeOffset timestamp, CancellationToken token = default)

Parameters

targetId CSteamID
callerId CSteamID
range IPv4Range
timestamp DateTimeOffset
token CancellationToken

Returns

Task<bool>

UpdateAvatar(ulong, AvatarSize, string)

public void UpdateAvatar(ulong steam64, AvatarSize size, string value)

Parameters

steam64 ulong
size AvatarSize
value string

UpdateUsernames(CSteamID, PlayerNames)

public void UpdateUsernames(CSteamID steam64, PlayerNames names)

Parameters

steam64 CSteamID
names PlayerNames

WhitelistIP(CSteamID, CSteamID, IPv4Range, bool, DateTimeOffset, CancellationToken)

public Task<bool> WhitelistIP(CSteamID targetId, CSteamID callerId, IPv4Range range, bool add, DateTimeOffset timestamp, CancellationToken token)

Parameters

targetId CSteamID
callerId CSteamID
range IPv4Range
add bool
timestamp DateTimeOffset
token CancellationToken

Returns

Task<bool>

WhitelistIP(CSteamID, CSteamID, IPv4Range, DateTimeOffset, CancellationToken)

public Task<bool> WhitelistIP(CSteamID targetId, CSteamID callerId, IPv4Range range, DateTimeOffset timestamp, CancellationToken token = default)

Parameters

targetId CSteamID
callerId CSteamID
range IPv4Range
timestamp DateTimeOffset
token CancellationToken

Returns

Task<bool>

Events

OnModerationEntryUpdated

public event Action<ModerationEntry>? OnModerationEntryUpdated

Event Type

Action<ModerationEntry>

OnNewModerationEntryAdded

public event Action<ModerationEntry>? OnNewModerationEntryAdded

Event Type

Action<ModerationEntry>