![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <RPCDoSDetection.h>
Inheritance diagram for FRPCDoSState:Public Member Functions | |
| virtual | ~FRPCDoSState () |
| virtual ENGINE_API void | ApplyImpliedValues () |
| bool | HasHitQuota_Count (const FRPCDoSCounters(&PerPeriodHistory)[16], FRPCDoSCounters &InFrameCounter) const |
| bool | HasHitQuota_Time (const FRPCDoSCounters(&PerPeriodHistory)[16], FRPCDoSCounters &InFrameCounter) const |
Public Attributes | |
| bool | bLogEscalate = false |
| bool | bSendEscalateAnalytics = false |
| bool | bKickPlayer = false |
| bool | bTrackRecentRPCs = false |
| int16 | EscalateQuotaRPCsPerFrame = -1 |
| int16 | EscalateTimeQuotaMSPerFrame = -1 |
| int16 | EscalateQuotaRPCsPerPeriod = -1 |
| int16 | EscalateTimeQuotaMSPerPeriod = -1 |
| int8 | EscalateQuotaTimePeriod = -1 |
| int8 | EscalationCountTolerance = 1 |
| int16 | EscalationTimeToleranceMS = -1 |
| int16 | RPCRepeatLimitPerPeriod = -1 |
| int16 | RPCRepeatLimitMSPerPeriod = -1 |
| int8 | RPCRepeatLimitTimePeriod = -1 |
| int16 | CooloffTime = -1 |
| int16 | AutoEscalateTime = -1 |
| double | EscalateTimeQuotaSecsPerFrame = 0.0 |
| double | EscalateTimeQuotaSecsPerPeriod = 0.0 |
| double | RPCRepeatLimitSecsPerPeriod = 0.0 |
| double | EscalationTimeToleranceSeconds = 0.0 |
Stores the RPC DoS detection state (either settings from the config file, or the active DDoS detection state)
|
inlinevirtual |
|
virtual |
Some configuration values are implicitly enabled by other configuration values - this function applies them
Reimplemented in FRPCDoSStateConfig.
| bool FRPCDoSState::HasHitQuota_Count | ( | const FRPCDoSCounters(&) | PerPeriodHistory[16], |
| FRPCDoSCounters & | InFrameCounter | ||
| ) | const |
Whether or not the specified per-period counters have hit count escalation quota's specified by this state.
| PerPeriodHistory | The per-period historical counters being compared against |
| InFrameCounter | The current frames counter for factoring-in to comparisons |
| bool FRPCDoSState::HasHitQuota_Time | ( | const FRPCDoSCounters(&) | PerPeriodHistory[16], |
| FRPCDoSCounters & | InFrameCounter | ||
| ) | const |
Whether or not the specified per-period counters have hit time escalation quota's specified by this state.
| PerPeriodHistory | The per-period historical counters being compared against |
| InFrameCounter | The current frames counter for factoring-in to comparisons |
| int16 FRPCDoSState::AutoEscalateTime = -1 |
The amount of time, in seconds, spent in the current DoS severity category before it automatically escalates to the next category
Whether or not to kick the player when they escalate to this state
Whether or not to send analytics when escalating to this state
Whether or not to keep a temporary record of recent RPC's, for potential logging/analytics
| int16 FRPCDoSState::CooloffTime = -1 |
The amount of time, in seconds, before the current DoS severity category cools off and de-escalates
| int16 FRPCDoSState::EscalateQuotaRPCsPerFrame = -1 |
Escalation limits - for escalating to a more strict FRPCDoSState The number of RPC's per frame before the next stage of DoS detection is triggered
| int16 FRPCDoSState::EscalateQuotaRPCsPerPeriod = -1 |
The number of RPC's per EscalateQuotaPeriod before the next stage of DoS detection is triggered
| int8 FRPCDoSState::EscalateQuotaTimePeriod = -1 |
The time period to use for determining RPC count and time escalation quotas (Max: 16)
| int16 FRPCDoSState::EscalateTimeQuotaMSPerFrame = -1 |
The amount of time spent executing RPC's per frame, before the next stage of DoS detection is triggered
| int16 FRPCDoSState::EscalateTimeQuotaMSPerPeriod = -1 |
The amount of time spent executing RPC's per EscalateQuotaPeriod, before the next stage of DoS detection is triggered
| double FRPCDoSState::EscalateTimeQuotaSecsPerFrame = 0.0 |
Cached/converted values EscalateTimeQuotaMSPerFrame converted to seconds
| double FRPCDoSState::EscalateTimeQuotaSecsPerPeriod = 0.0 |
EscalateTimeQuotaMSPerPeriod converted to seconds
| int8 FRPCDoSState::EscalationCountTolerance = 1 |
Escalation monitoring - for setting thresholds for triggering analytics (does not affect escalation quota's and RPC limiting) The number of times this stage must be escalated to, before it is 'confirmed' as having been escalated to (for analytics)
| int16 FRPCDoSState::EscalationTimeToleranceMS = -1 |
The maximum time spent executing RPC's per frame, before this escalation stage is automatically 'confirmed' for analytics
| double FRPCDoSState::EscalationTimeToleranceSeconds = 0.0 |
EscalationTimeToleranceMS converted to seconds
| int16 FRPCDoSState::RPCRepeatLimitMSPerPeriod = -1 |
The limit for the number of milliseconds a single RPC can spend executing, over the time period specified by RPCRepeatTimeLimitPeriod
| int16 FRPCDoSState::RPCRepeatLimitPerPeriod = -1 |
RPC Execution limits - for preventing execution of specific RPC's, after they have reached a count/time limit The limit for the number of times a single RPC can be repeated, over the time period specified by RPCRepeatTimeLimitPeriod
| double FRPCDoSState::RPCRepeatLimitSecsPerPeriod = 0.0 |
RPCRepeatLimitMSPerPeriod converted to seconds
| int8 FRPCDoSState::RPCRepeatLimitTimePeriod = -1 |
The time period to use for measuring excessive execution time for a single RPC (Max: 16)