/Engine/Source/Runtime/Net/Core/Public/Net/Core/Misc/DDoSDetection.h
The main DDoS detection tracking class, for counting packets and applying restrictions. Implemented separate to the NetDriver, to allow wider use e.g. potentially at socket level, if useful.
class FDDoSDetection : protected [FDDoSPacketCounters](API\Runtime\NetCore\Net\Core\Misc\FDDoSPacketCounters), protected [FDDoSState](API\Runtime\NetCore\Net\Core\Misc\FDDoSState)
int8
ActiveState
The currently active DDoS severity state settings
bool
bDDoSAnalytics
Whether or not analytics for DDoS detection is enabled
bool
bDDoSDetection
Whether or not DDoS detection is presently enabled
bool
bDDoSLogRestrictions
Whether or not restriction of log messages from non-NetConnection packets is enabled
bool
bHitFrameNetConnLimit
Whether or not the current frame has reached NetConnection packet limits, and should block ALL further packets
bool
bHitFrameNonConnLimit
Whether or not the current frame has reached non-NetConnection packet limits, and should block non-NetConnection packets
bool
bMetEscalationConditionsThisFrame
Limit checking previous states escalation conditions to once per frame
TArray<FDDoSPa...
CounterPerSecHistory
Stores enough per second quota history, to allow all DetectionSeverity states to recalculate if their CooloffTime is reached
int32
DDoSLogSpamLimit
The maximum number of non-NetConnection triggered log messages per frame, before further logs are dropped this frame
TArray<FDDoSSt...
DetectionSeverity
The different DDoS detection states, of escalating severity, depending on the strength of the DDoS
double
EndFrameRecvTimestamp
Timestamp for the end of the last frames receive loop
double
ExpectedFrameTime
The expected time between frames (1.0 / MaxTickRate) - used for adjusting limits/quota's based on DeltaTime
float
FrameAdjustment
The current frames adjustment/deviation, from ExpectedFrameTime
int32
HitchFrameCount
The number of consecutive frames spent hitching
int8
HitchFrameTolerance
The number of frames spent hitching, before disabling false positive detection, and treating packet buildup as potential DDoS
int32
HitchTimeQuotaMS
The amount of time since the previous frame, for detecting frame hitches, to prevent DDoS detection false positives
int32
LastCounterPerSecHistoryIdx
The last written index of CounterPerSecHistory
double
LastMetEscalationConditions
The last time the previous severity states escalation conditions were met (to prevent bouncing up/down between states)
double
LastPerSecQuotaBegin
Timestamp for the last time per-second quota counting began
int32
LogHitCounter
Counter for log restriction hits, in the current frame
FDDoSSeverityEs...
NotifySeverityEscalation
Analytics delegate for notifying of severity state escalations
int32
StartFramePacketCount
Counts the packets from the start of the current frame
double
StartFrameRecvTimestamp
The timestamp for the start of the current frames receive
int8
WorstActiveState
The worst DDoS severity state that has been active - used for limiting analytics events