| UObjectBase
|
Module |
|
Header |
/Engine/Source/Runtime/Engine/Classes/GameFramework/GameNetworkManager.h |
Include |
#include "GameFramework/GameNetworkManager.h" |
class AGameNetworkManager : public AInfo
Handles game-specific networking management (cheat detection, bandwidth management, etc.).
Name | Description | ||
---|---|---|---|
|
int32 |
AdjustedNetSpeed |
Current adjusted bandwidth per player, based on total and dynamic bandwidth |
|
float |
BadPacketLossThreshold |
If packet loss goes over this value, we have bad packet loss. Value is between 0 and 1. |
|
int32 |
BadPingThreshold |
If average ping is higher than this threshold in ms, determine the server is either delaying packets or has bad upstream. |
|
uint32: 1 |
bHasStandbyCheatTriggered |
Used to determine whether we've already caught a cheat or not |
|
uint32: 1 |
bIsStandbyCheckingEnabled |
Used to determine if checking for standby cheats should occur |
|
bool |
bMovementTimeDiscrepancyDetection |
Whether movement time discrepancy (speed hack) detection is enabled. |
|
bool |
bMovementTimeDiscrepancyForceCorrectionsDuringResolution |
Whether client moves should be force corrected during time discrepancy resolution, useful for projects that have lenient move error tolerance/ClientAuthorativePosition enabled. |
|
bool |
bMovementTimeDiscrepancyResolution |
Whether movement time discrepancy resolution is enabled (when detected, make client movement "pay back" excessive time discrepancies) |
|
bool |
bUseDistanceBasedRelevancy |
If true, actor network relevancy is constrained by whether they are within their NetCullDistanceSquared from the client's view point. |
|
float |
CLIENTADJUSTUPDATECOST |
CLIENTADJUSTUPDATECOST is the bandwidth cost in bytes of sending a client adjustment update. |
|
bool |
ClientAuthorativePosition |
If client update is within MAXPOSITIONERRORSQUARED of what the server expects then the client is authoritative on it's final position |
|
float |
ClientErrorUpdateRateLimit |
Minimum delay between the server sending error corrections to a client, in seconds. |
|
float |
ClientNetCamUpdateDeltaTime |
Minimum delay between calls to ServerUpdateCamera, in seconds. |
|
float |
ClientNetCamUpdatePositionLimit |
Camera position change limit, when exceeded allows an immediate ServerUpdateCamera call. |
|
float |
ClientNetSendMoveDeltaTime |
ClientNetSendMoveDeltaTime is the default minimum time delta of CharacterMovement client moves to the server. |
|
float |
ClientNetSendMoveDeltaTimeStationary |
ClientNetSendMoveDeltaTimeStationary is used when players are determined to not be moving or changing their view. |
|
float |
ClientNetSendMoveDeltaTimeThrottled |
ClientNetSendMoveDeltaTimeThrottled is used in place of ClientNetSendMoveDeltaTime when player count is high or net speed is low. |
|
int32 |
ClientNetSendMoveThrottleAtNetSpeed |
When player net speed (CurrentNetSpeed, based on ConfiguredInternetSpeed or ConfiguredLanSpeed) is less than or equal to this amount, ClientNetSendMoveDeltaTimeThrottled is used instead of ClientNetSendMoveDeltaTime. |
|
int32 |
ClientNetSendMoveThrottleOverPlayerCount |
When player count is greater than this amount, ClientNetSendMoveDeltaTimeThrottled is used instead of ClientNetSendMoveDeltaTime. |
|
float |
JoinInProgressStandbyWaitTime |
The amount of time to wait before checking a connection for standby issues |
|
float |
LastNetSpeedUpdateTime |
Last time AdjustedNetSpeed was updated for server (by client entering or leaving) |
|
float |
MaxClientForcedUpdateDuration |
MaxClientForcedUpdateDuration is the maximum time duration over which the server will force updates, after MAXCLIENTUPDATEINTERVAL is initially exceeded. |
|
float |
MaxClientSmoothingDeltaTime |
MaxClientSmoothingDeltaTime is the maximum delta time between server updates that clients are allowed to smooth between for position interpolation. |
|
float |
MAXCLIENTUPDATEINTERVAL |
MAXCLIENTUPDATEINTERVAL is the maximum time between movement updates from the client before the server forces an update. |
|
int32 |
MaxDynamicBandwidth |
Maximum bandwidth set per connection after splitting TotalNetBandwidth |
|
float |
MaxMoveDeltaTime |
MaxMoveDeltaTime is the default maximum time delta of CharacterMovement ServerMoves. |
|
float |
MAXNEARZEROVELOCITYSQUARED |
MAXNEARZEROVELOCITYSQUARED is the square of the max velocity that is considered zero (not corrected) in net play |
|
float |
MAXPOSITIONERRORSQUARED |
MAXPOSITIONERRORSQUARED is the square of the max position error that is accepted (not corrected) in net play |
|
int32 |
MinDynamicBandwidth |
Minimum bandwidth set per connection after splitting TotalNetBandwidth |
|
float |
MovementTimeDiscrepancyDriftAllowance |
Accepted drift in clocks between client and server as a percent per second allowed. |
|
float |
MovementTimeDiscrepancyMaxTimeMargin |
Maximum time client can be ahead before triggering movement time discrepancy detection/resolution (if enabled). |
|
float |
MovementTimeDiscrepancyMinTimeMargin |
Maximum time client can be behind. |
|
float |
MovementTimeDiscrepancyResolutionRate |
During time discrepancy resolution, we "pay back" the time discrepancy at this rate for future moves until total error is zero. |
|
float |
MoveRepSize |
Average size of replicated move packet (ServerMove() packet size) from player |
|
float |
PercentForBadPing |
The percentage of clients with bad ping before triggering the standby code |
|
float |
PercentMissingForRxStandby |
The percentage of clients missing RX data before triggering the standby code |
|
float |
PercentMissingForTxStandby |
The percentage of clients missing TX data before triggering the standby code |
|
float |
ServerForcedUpdateHitchCooldown |
Ignore forced client movement updates when server hitch was detected within this amount of time in the past. |
|
float |
ServerForcedUpdateHitchThreshold |
Ignore forced client movement updates when server hitches for longer than this duration. |
|
float |
SeverePacketLossThreshold |
If the packet loss goes over this threshold, we have severe packet loss. Value is between 0 and 1 |
|
int32 |
SeverePingThreshold |
Similar to BadPingThreshold, but used to track exceptionally bad pings. |
|
float |
StandbyRxCheatTime |
The amount of time without packets before triggering the cheat code |
|
float |
StandbyTxCheatTime |
The amount of time without packets before triggering the cheat code |
|
TimerHandle_UpdateNetSpeedsTimer |
Handle for efficient management of UpdateNetSpeeds timer |
|
|
int32 |
TotalNetBandwidth |
Total available bandwidth (in bytes/sec) for listen server, split dynamically across net connections |
Name | Description | |
---|---|---|
|
AGameNetworkManager ( |
Name | Description | ||
---|---|---|---|
|
int32 |
CalculatedNetSpeed() |
New per/client bandwidth given number of players in the game |
|
void |
EnableStandbyCheatDetection ( |
Standby cheat detection. |
|
bool |
ExceedsAllowablePositionError ( |
|
|
bool |
IsInLowBandwidthMode() |
Returns true if we should be in low bandwidth mode |
|
bool |
NetworkVelocityNearZero ( |
|
|
void |
StandbyCheatDetected ( |
Notifies the game code that a standby cheat was detected |
|
void |
UpdateNetSpeeds ( |
Update network speeds for listen servers based on number of connected players. |
|
void |
UpdateNetSpeedsTimer() |
Timer which calls UpdateNetSpeeds() once a second. |
|
bool |
WithinUpdateDelayBounds ( |
Name | Description | ||
---|---|---|---|
|
void |
PostInitializeComponents() |
Allow actors to initialize themselves on the C++ side after all of their components have been initialized, only called during gameplay |