Navigation
Unreal Engine C++ API Reference > Runtime > Engine > GameFramework
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- AActor
- AInfo
- AGameNetworkManager
References
Module | Engine |
Header | /Engine/Source/Runtime/Engine/Classes/GameFramework/GameNetworkManager.h |
Include | #include "GameFramework/GameNetworkManager.h" |
Syntax
UCLASS (Config=Game, NotPlaceable, MinimalAPI)
class AGameNetworkManager : public AInfo
Remarks
Handles game-specific networking management (cheat detection, bandwidth management, etc.).
Variables
Type | 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 |
![]() |
FTimerHandle | 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 |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
AGameNetworkManager
(
const FObjectInitializer& ObjectInitializer |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
int32 | @RETURN new per/client bandwidth given number of players in the game | |
![]() ![]() |
void | EnableStandbyCheatDetection
(
bool bIsEnabled |
Standby cheat detection. |
![]() ![]() ![]() |
bool | ExceedsAllowablePositionError
(
FVector LocDiff |
|
![]() ![]() |
bool | Returns true if we should be in low bandwidth mode | |
![]() ![]() ![]() |
bool | NetworkVelocityNearZero
(
FVector InVelocity |
|
![]() ![]() |
void | StandbyCheatDetected
(
EStandbyType StandbyType |
Notifies the game code that a standby cheat was detected |
![]() ![]() |
void | UpdateNetSpeeds
(
bool bIsLanMatch |
Update network speeds for listen servers based on number of connected players. |
![]() ![]() |
void | Timer which calls UpdateNetSpeeds() once a second. | |
![]() ![]() ![]() |
bool | WithinUpdateDelayBounds
(
APlayerController* PC, |
Overridden from AActor
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | Allow actors to initialize themselves on the C++ side after all of their components have been initialized, only called during gameplay |