UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FRPCDoSAnalyticsData Struct Reference

#include <RPCDoSDetectionAnalytics.h>

+ Inheritance diagram for FRPCDoSAnalyticsData:

Public Member Functions

virtual void SendAnalytics () override
 
void FireEvent_ServerRPCDoSEscalation (int32 SeverityIndex, const FString &SeverityCategory, int32 WorstCountPerSec, double WorstTimePerSec, const FString &InPlayerIP, const FString &InPlayerUID, const TArray< FName > &InRPCGroup, double InRPCGroupTime=0.0)
 
- Public Member Functions inherited from TBasicNetAnalyticsData< FRPCDoSAnalyticsVars >
 GENERATE_MEMBER_FUNCTION_CHECK (CommitAnalytics, void,, FRPCDoSAnalyticsVars &)
 
void CommitAnalytics (FRPCDoSAnalyticsVars &AnalyticsVars)
 
- Public Member Functions inherited from FNetAnalyticsData
NETCORE_API FNetAnalyticsData ()
 
virtual NETCORE_API ~FNetAnalyticsData ()
 
- Public Member Functions inherited from FVirtualDestructor
virtual ~FVirtualDestructor ()
 
- Public Member Functions inherited from TSharedFromThis< FNetAnalyticsData, NetAnalyticsThreadSafety >
TSharedRef< FNetAnalyticsData, Mode > AsShared ()
 
TSharedRef< FNetAnalyticsData const, Mode > AsShared () const
 
TSharedRef< SubobjectType, Mode > AsSharedSubobject (SubobjectType *SubobjectPtr) const
 
TWeakPtr< FNetAnalyticsData, Mode > AsWeak ()
 
TWeakPtr< FNetAnalyticsData const, Mode > AsWeak () const
 
TWeakPtr< SubobjectType, Mode > AsWeakSubobject (SubobjectType *SubobjectPtr) const
 
void UpdateWeakReferenceInternal (TSharedPtr< SharedPtrType, SharedPtrMode > const *InSharedPtr, OtherType *InObject) const
 
void UpdateWeakReferenceInternal (TSharedRef< SharedRefType, SharedPtrMode > const *InSharedRef, OtherType *InObject) const
 
UE_FORCEINLINE_HINT bool DoesSharedInstanceExist () const
 

Public Attributes

FGetWorld WorldFunc
 
int8 WorstAnalyticsState = 0
 

Additional Inherited Members

- Protected Member Functions inherited from FNetAnalyticsData
virtual NETCORE_API void InternalSendAnalytics ()
 
virtual void NotifyFinalRelease ()
 
- Protected Member Functions inherited from TSharedFromThis< FNetAnalyticsData, NetAnalyticsThreadSafety >
 TSharedFromThis ()
 
 TSharedFromThis (TSharedFromThis const &)
 
UE_FORCEINLINE_HINT TSharedFromThisoperator= (TSharedFromThis const &)
 
 ~TSharedFromThis ()
 
- Protected Member Functions inherited from FRPCDoSAnalyticsVars
 FRPCDoSAnalyticsVars ()
 
bool operator== (const FRPCDoSAnalyticsVars &A) const
 
void CommitAnalytics (FRPCDoSAnalyticsVars &AggregatedData)
 
- Static Protected Member Functions inherited from TSharedFromThis< FNetAnalyticsData, NetAnalyticsThreadSafety >
static UE_FORCEINLINE_HINT TSharedRef< OtherType, Mode > SharedThis (OtherType *ThisPtr)
 
static UE_FORCEINLINE_HINT TSharedRef< OtherType const, Mode > SharedThis (const OtherType *ThisPtr)
 
- Protected Attributes inherited from FNetAnalyticsData
FNetAnalyticsAggregatorAggregator
 
- Protected Attributes inherited from FRPCDoSAnalyticsVars
FString PlayerIP
 
FString PlayerUID
 
int32 MaxSeverityIndex = 0
 
FString MaxSeverityCategory
 
int32 MaxAnalyticsSeverityIndex = 0
 
FString MaxAnalyticsSeverityCategory
 
TArray< TSharedPtr< FRPCAnalytics > > RPCTrackingAnalytics
 
const int32 MaxRPCAnalytics
 
TArray< FMaxRPCDoSEscalationMaxPlayerSeverity
 

Detailed Description

RPC DoS Detection implementation for basic aggregated net analytics data

Member Function Documentation

◆ FireEvent_ServerRPCDoSEscalation()

void FRPCDoSAnalyticsData::FireEvent_ServerRPCDoSEscalation ( int32  SeverityIndex,
const FString &  SeverityCategory,
int32  WorstCountPerSec,
double  WorstTimePerSec,
const FString &  InPlayerIP,
const FString &  InPlayerUID,
const TArray< FName > &  InRPCGroup,
double  InRPCGroupTime = 0.0 
)

Triggers RPC DoS Escalation analytics. This code is separate to the RPC DoS Analytics aggregation, but is implemented here to keep the RPC DoS analytics in one place.

Parameters
SeverityIndexThe numeric value of the RPC DoS severity category, that the NetDriver escalated to
SeverityCategoryThe name of the RPC DoS severity category, that the NetDriver escalated to
WorstCountPerSecThe worst per second RPC execution count that may have triggered this escalation
WorstTimePerSecThe worst per second RPC execution time that may have triggered this escalation (for ranking)
InPlayerIPThe IP of the player
InPlayerUIDThe UID of the player @apram InRPCGroup Lists lightweight tracking RPC's contributing to escalation, which couldn't be individually timed
InRPCGroupTimeThe amount of time the whole RPC group spent executing

◆ SendAnalytics()

void FRPCDoSAnalyticsData::SendAnalytics ( )
overridevirtual

Member Data Documentation

◆ WorldFunc

FGetWorld FRPCDoSAnalyticsData::WorldFunc

Callback used for getting the current World the NetDriver and RPC DoS Detection is associated with

◆ WorstAnalyticsState

int8 FRPCDoSAnalyticsData::WorstAnalyticsState = 0

The worst RPC DoS severity state that has been active and passed confirmation thresholds - mirrors RPCDosDetection.WorstAnalyticsState


The documentation for this struct was generated from the following files: