UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
RPCDoSDetectionAnalytics.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4
5// Include
8
9
10// Forward Declarations
11
12class UWorld;
13
14
15// Typedefs
16
23
24
25// Delegates
26
34
35
36// Globals
37
40
43
44
45// Structs
46
51{
53 FString PlayerIP;
54
56 FString PlayerUID;
57
60
63
66
69
70
71public:
73 {
74 return PlayerIP == A.PlayerIP && PlayerUID == A.PlayerUID && MaxSeverityIndex == A.MaxSeverityIndex &&
75 MaxSeverityCategory == A.MaxSeverityCategory && MaxAnalyticsSeverityIndex == A.MaxAnalyticsSeverityIndex &&
76 MaxAnalyticsSeverityCategory == A.MaxAnalyticsSeverityCategory;
77 }
78};
79
80
85{
88
91
92
94 double MaxTimePerSec = 0.0;
95
98
99
102
105
108
109
112
113
117 FString PlayerIP;
118
120 FString PlayerUID;
121
122
123public:
124 bool operator == (const FRPCAnalytics& A) const
125 {
126 return RPCName == A.RPCName && MaxCountPerSec == A.MaxCountPerSec && MaxTimePerSec == A.MaxTimePerSec &&
127 MaxTimeGameThreadCPU == A.MaxTimeGameThreadCPU && MaxSinglePacketRPCTime == A.MaxSinglePacketRPCTime &&
128 SinglePacketRPCCount == A.SinglePacketRPCCount && SinglePacketGameThreadCPU == A.SinglePacketGameThreadCPU &&
129 BlockedCount == A.BlockedCount && PlayerIP == A.PlayerIP && PlayerUID == A.PlayerUID;
130 }
131
132
139 {
140 return MaxCountPerSec > 10 ||
141 MaxTimePerSec > 0.0001 ||
142 MaxSinglePacketRPCTime > 0.0001 ||
144 BlockedCount > 0;
145 }
146};
147
195
196
200struct FRPCDoSAnalyticsData : public TBasicNetAnalyticsData<FRPCDoSAnalyticsVars>
201{
204
207
208
209public:
210 virtual void SendAnalytics() override;
211
225 void FireEvent_ServerRPCDoSEscalation(int32 SeverityIndex, const FString& SeverityCategory, int32 WorstCountPerSec,
226 double WorstTimePerSec, const FString& InPlayerIP, const FString& InPlayerUID,
227 const TArray<FName>& InRPCGroup, double InRPCGroupTime=0.0);
228};
229
FPlatformTypes::int8 int8
An 8-bit signed integer.
Definition Platform.h:1121
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_MULTICAST_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:58
ENGINE_API FModifyRPCDoSAnalytics GModifyRPCDoSEscalationAnalytics
Definition RPCDoSDetectionAnalytics.cpp:17
ENGINE_API FModifyRPCDoSAnalytics GModifyRPCDoSAnalytics
Definition RPCDoSDetectionAnalytics.cpp:16
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition NameTypes.h:617
Definition Array.h:670
Definition World.h:918
Definition RPCDoSDetectionAnalytics.h:51
int32 MaxAnalyticsSeverityIndex
Definition RPCDoSDetectionAnalytics.h:65
FString PlayerUID
Definition RPCDoSDetectionAnalytics.h:56
FString MaxAnalyticsSeverityCategory
Definition RPCDoSDetectionAnalytics.h:68
FString MaxSeverityCategory
Definition RPCDoSDetectionAnalytics.h:62
FString PlayerIP
Definition RPCDoSDetectionAnalytics.h:53
int32 MaxSeverityIndex
Definition RPCDoSDetectionAnalytics.h:59
bool operator==(const FMaxRPCDoSEscalation &A) const
Definition RPCDoSDetectionAnalytics.h:72
Definition RPCDoSDetectionAnalytics.h:85
uint8 SinglePacketGameThreadCPU
Definition RPCDoSDetectionAnalytics.h:107
double MaxSinglePacketRPCTime
Definition RPCDoSDetectionAnalytics.h:101
int32 MaxCountPerSec
Definition RPCDoSDetectionAnalytics.h:90
int32 BlockedCount
Definition RPCDoSDetectionAnalytics.h:111
int32 SinglePacketRPCCount
Definition RPCDoSDetectionAnalytics.h:104
double MaxTimePerSec
Definition RPCDoSDetectionAnalytics.h:94
uint8 MaxTimeGameThreadCPU
Definition RPCDoSDetectionAnalytics.h:97
FString PlayerIP
Definition RPCDoSDetectionAnalytics.h:117
bool operator==(const FRPCAnalytics &A) const
Definition RPCDoSDetectionAnalytics.h:124
FName RPCName
Definition RPCDoSDetectionAnalytics.h:87
FString PlayerUID
Definition RPCDoSDetectionAnalytics.h:120
bool WithinMinAnalyticsThreshold() const
Definition RPCDoSDetectionAnalytics.h:138
Definition RPCDoSDetectionAnalytics.h:201
int8 WorstAnalyticsState
Definition RPCDoSDetectionAnalytics.h:206
virtual void SendAnalytics() override
Definition RPCDoSDetectionAnalytics.cpp:129
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)
Definition RPCDoSDetectionAnalytics.cpp:381
FGetWorld WorldFunc
Definition RPCDoSDetectionAnalytics.h:203
Definition RPCDoSDetectionAnalytics.h:152
int32 MaxSeverityIndex
Definition RPCDoSDetectionAnalytics.h:171
bool operator==(const FRPCDoSAnalyticsVars &A) const
Definition RPCDoSDetectionAnalytics.cpp:65
int32 MaxAnalyticsSeverityIndex
Definition RPCDoSDetectionAnalytics.h:177
FString MaxSeverityCategory
Definition RPCDoSDetectionAnalytics.h:174
FString PlayerIP
Definition RPCDoSDetectionAnalytics.h:165
FString MaxAnalyticsSeverityCategory
Definition RPCDoSDetectionAnalytics.h:180
TArray< TSharedPtr< FRPCAnalytics > > RPCTrackingAnalytics
Definition RPCDoSDetectionAnalytics.h:184
TArray< FMaxRPCDoSEscalation > MaxPlayerSeverity
Definition RPCDoSDetectionAnalytics.h:193
FRPCDoSAnalyticsVars()
Definition RPCDoSDetectionAnalytics.cpp:59
void CommitAnalytics(FRPCDoSAnalyticsVars &AggregatedData)
Definition RPCDoSDetectionAnalytics.cpp:73
const int32 MaxRPCAnalytics
Definition RPCDoSDetectionAnalytics.h:187
FString PlayerUID
Definition RPCDoSDetectionAnalytics.h:168
Definition NetAnalytics.h:155