Navigation
API > API/Runtime > API/Runtime/NetCore
Network Close results (can occur before NetDriver/NetConnection creation, and can be success or error)
Licensees should use ENetCloseResult::Extended, and specify an ErrorContext value to FNetCloseResult, to specify custom results
NOTE: If you modify this, run the enum-checking smoke test to verify you didn't forget to update anything else: System.Core.Networking.FNetCloseResult.EnumTest
| Name | ENetCloseResult |
| Type | enum |
| Header File | /Engine/Source/Runtime/Net/Core/Public/Net/Core/Connection/NetCloseResult.h |
| Include Path | #include "Net/Core/Connection/NetCloseResult.h" |
Syntax
enum ENetCloseResult
{
NetDriverAlreadyExists,
NetDriverCreateFailure,
NetDriverListenFailure,
ConnectionLost,
ConnectionTimeout,
FailureReceived,
OutdatedClient,
OutdatedServer,
PendingConnectionFailure,
NetGuidMismatch,
NetChecksumMismatch,
SecurityMalformedPacket,
SecurityInvalidData,
SecurityClosed,
Unknown,
Success,
Extended,
HostClosedConnection,
Disconnect,
Upgrade,
PreLoginFailure,
JoinFailure,
JoinSplitFailure,
AddressResolutionFailed,
RPCDoS,
Cleanup,
MissingLevelPackage,
PacketHandlerIncomingError,
ZeroLastByte,
ZeroSize,
ReadHeaderFail,
ReadHeaderExtraFail,
AckSequenceMismatch,
BunchBadChannelIndex,
BunchChannelNameFail,
BunchWrongChannelType,
BunchHeaderOverflow,
BunchDataOverflow,
BunchServerPackageMapExports,
BunchPrematureControlChannel,
BunchPrematureChannel,
BunchPrematureControlClose,
UnknownChannelType,
PrematureSend,
CorruptData,
SocketSendFailure,
BadChildConnectionIndex,
LogLimitInstant,
LogLimitSustained,
EncryptionFailure,
EncryptionTokenMissing,
ReceivedNetGUIDBunchFail,
ReceivedNetExtBunchFail,
MaxReliableExceeded,
ReceivedNextBunchFail,
ReceivedNextBunchQueueFail,
PartialInitialReliableDestroy,
PartialMergeReliableDestroy,
PartialInitialNonByteAligned,
PartialNonByteAligned,
PartialFinalPackageMapExports,
PartialTooLarge,
AlreadyOpen,
ReliableBeforeOpen,
ReliableBufferOverflow,
RPCReliableBufferOverflow,
ControlChannelClose,
ControlChannelEndianCheck,
ControlChannelPlayerChannelFail,
ControlChannelMessageUnknown,
ControlChannelMessageFail,
ControlChannelMessagePayloadFail,
ControlChannelBunchOverflowed,
ControlChannelQueueBunchOverflowed,
ClientHasMustBeMappedGUIDs,
ClientSentDestructionInfo,
UnregisteredMustBeMappedGUID,
ObjectReplicatorReceivedBunchFail,
ContentBlockFail,
ContentBlockHeaderRepLayoutFail,
ContentBlockHeaderIsActorFail,
ContentBlockHeaderObjFail,
ContentBlockHeaderPrematureEnd,
ContentBlockHeaderSubObjectActor,
ContentBlockHeaderBadParent,
ContentBlockHeaderInvalidCreate,
ContentBlockHeaderStablyNamedFail,
ContentBlockHeaderNoSubObjectClass,
ContentBlockHeaderUObjectSubObject,
ContentBlockHeaderAActorSubObject,
ContentBlockHeaderFail,
ContentBlockPayloadBitsFail,
FieldHeaderRepIndex,
FieldHeaderBadRepIndex,
FieldHeaderPayloadBitsFail,
FieldPayloadFail,
ReplicationChannelCountMaxedOut,
BeaconControlFlowError,
BeaconUnableToParsePacket,
BeaconAuthenticationFailure,
BeaconLoginInvalidIdError,
BeaconLoginInvalidAuthHandlerError,
BeaconAuthError,
BeaconSpawnClientWorldPackageNameError,
BeaconSpawnExistingActorError,
BeaconSpawnFailureError,
BeaconSpawnNetGUIDAckNoActor,
BeaconSpawnNetGUIDAckNoHost,
BeaconSpawnUnexpectedError,
IrisProtocolMismatch,
IrisNetRefHandleError,
FaultDisconnect,
NotRecoverable,
}
Values
| Name | Remarks |
|---|---|
| NetDriverAlreadyExists | ENetworkFailure values A relevant net driver has already been created for this service |
| NetDriverCreateFailure | The net driver creation failed |
| NetDriverListenFailure | The net driver failed its Listen() call |
| ConnectionLost | A connection to the net driver has been lost |
| ConnectionTimeout | A connection to the net driver has timed out |
| FailureReceived | The net driver received an NMT_Failure message |
| OutdatedClient | The client needs to upgrade their game |
| OutdatedServer | The server needs to upgrade their game |
| PendingConnectionFailure | There was an error during connection to the game |
| NetGuidMismatch | NetGuid mismatch |
| NetChecksumMismatch | Network checksum mismatch |
| SecurityMalformedPacket | ESecurityEvent values The packet didn't follow protocol |
| SecurityInvalidData | The packet contained invalid data |
| SecurityClosed | The connection had issues (possibly malicious) and was closed |
| Unknown | Base result types Default state (do not move the position of this in enum) |
| Success | Close was successful, happening under normal conditions |
| Extended | Extended/custom ErrorContext state. To be interpreted by code |
| HostClosedConnection | NetDriver Error result types Host closed the connection |
| Disconnect | Disconnected remotely |
| Upgrade | Client needs to upgrade |
| PreLoginFailure | PreLogin failed |
| JoinFailure | Join failed |
| JoinSplitFailure | JoinSplit failed |
| AddressResolutionFailed | Address Rssolution Failed |
| RPCDoS | NetConnection Error result types RPC DoS Detection kicked the player |
| Cleanup | NetConnection Cleanup was triggered |
| MissingLevelPackage | UpdateLevelVisibility missing level package |
| PacketHandlerIncomingError | PacketHandler Error processing incoming packet |
| ZeroLastByte | Packet had zeros in the last byte |
| ZeroSize | Zero size packet |
| ReadHeaderFail | Failed to read PacketHeader |
| ReadHeaderExtraFail | Failed to read extra PacketHeader information |
| AckSequenceMismatch | Sequence mismatch while processing acks |
| BunchBadChannelIndex | Bunch channel index exceeds maximum channel limit |
| BunchChannelNameFail | Bunch channel name serialization failed |
| BunchWrongChannelType | Bunch specified wrong channel type for an existing channel |
| BunchHeaderOverflow | Bunch header serialization overflowed |
| BunchDataOverflow | Bunch data serialization overflowed |
| BunchServerPackageMapExports | Server received bHasPackageMapExports packet |
| BunchPrematureControlChannel | Received control channel bunch before control channel was created |
| BunchPrematureChannel | Received non-control-channel bunch when not yet ready |
| BunchPrematureControlClose | Received control channel close before open |
| UnknownChannelType | Unknown channel type specified |
| PrematureSend | Attempted to send data before handshake is complete |
| CorruptData | Server received corrupt data from the client - or there was otherwise an error during channel processing |
| SocketSendFailure | Socket send failure |
| BadChildConnectionIndex | Failed to find splitscreen player matching ChildConnection NetPlayerIndex |
| LogLimitInstant | Log limiting per-second checks insta-kicked the player |
| LogLimitSustained | Log limiting repeated threshold hits kicked the player |
| EncryptionFailure | Encryption failure |
| EncryptionTokenMissing | EncryptionToken is missing |
| ReceivedNetGUIDBunchFail | Channel Error result types ReceiveNetGUIDBunch serialization failed |
| ReceivedNetExtBunchFail | ReceiveNetExtBunch serialization failed |
| MaxReliableExceeded | Too many reliable bunches queued |
| ReceivedNextBunchFail | ReceivedNextBunch serialization failed |
| ReceivedNextBunchQueueFail | Queued ReceivedNextBunch serialization failed |
| PartialInitialReliableDestroy | Reliable partial initial bunch attempting to destroy incomplete reliable partial bunch |
| PartialMergeReliableDestroy | Reliable partial merge bunch attempting to destroy incomplete reliable partial bunch |
| PartialInitialNonByteAligned | Partial initial bunch which is not byte aligned |
| PartialNonByteAligned | Non-final partial bunch which is not byte aligned |
| PartialFinalPackageMapExports | Final partial bunch has package map exports |
| PartialTooLarge | Partial bunch exceeded maximum partial bunch size |
| AlreadyOpen | Received open bunch when channel already open |
| ReliableBeforeOpen | Received reliable bunch before channel was fully open |
| ReliableBufferOverflow | Reliable buffer overflowed when attempting to send |
| RPCReliableBufferOverflow | Reliable buffer overflowed when attempting to send RPC |
| ControlChannelClose | Control Channel result types Control channel closing |
| ControlChannelEndianCheck | Endianness check failed |
| ControlChannelPlayerChannelFail | The ActorChannel for the connections PlayerController failed |
| ControlChannelMessageUnknown | Received unknown control channel message |
| ControlChannelMessageFail | Failed to read control channel message |
| ControlChannelMessagePayloadFail | Failed to read control channel message payload |
| ControlChannelBunchOverflowed | Control channel send bunch overflowed |
| ControlChannelQueueBunchOverflowed | Queued control channel send bunch overflowed |
| ClientHasMustBeMappedGUIDs | Actor Channel Error result types Client tried to set bHasMustBeMappedGUIDs |
| ClientSentDestructionInfo | Client tried to send a destruction info |
| UnregisteredMustBeMappedGUID | Received MustBeMappedGUID that isn't registered |
| ObjectReplicatorReceivedBunchFail | FObjectReplicator ReceivedBunch failed |
| ContentBlockFail | Content block serialization failed |
| ContentBlockHeaderRepLayoutFail | Content block header bOutHasRepLayout serialization failed |
| ContentBlockHeaderIsActorFail | Content block header bIsActor serialization failed |
| ContentBlockHeaderObjFail | Content block header object serialization failed |
| ContentBlockHeaderPrematureEnd | Reached end of bunch prematurely, after reading content block header |
| ContentBlockHeaderSubObjectActor | Content block header sub-object was an Actor |
| ContentBlockHeaderBadParent | Content block header sub-object not in parent actor |
| ContentBlockHeaderInvalidCreate | The client tried to create a sub-object |
| ContentBlockHeaderStablyNamedFail | Content block header bStablyNamed serialization failed |
| ContentBlockHeaderNoSubObjectClass | Content block header unable to ready sub-object class |
| ContentBlockHeaderUObjectSubObject | Content block header sub-object was UObject base class |
| ContentBlockHeaderAActorSubObject | Content block header sub-object was an AActor subclass |
| ContentBlockHeaderFail | Content block header serialization failed |
| ContentBlockPayloadBitsFail | Content block payload NumPayloadBits serialization failed |
| FieldHeaderRepIndex | Field header RepIndex serialization failed |
| FieldHeaderBadRepIndex | Field header RepIndex exceeds maximum index limit |
| FieldHeaderPayloadBitsFail | Field header payload NumPayloadBits serialization failed |
| FieldPayloadFail | Field payload serialization failed |
| ReplicationChannelCountMaxedOut | Replication Channel Count was exceeded and channel creation failed |
| BeaconControlFlowError | Beacon Error result types Control flow error |
| BeaconUnableToParsePacket | Unable to parse expected packet structure |
| BeaconAuthenticationFailure | Failed to verify user authentication |
| BeaconLoginInvalidIdError | Login Failure, invalid ID |
| BeaconLoginInvalidAuthHandlerError | Login Failure, unable to process authentication |
| BeaconAuthError | Unable to authenticate for beacon, wrong PlayerId |
| BeaconSpawnClientWorldPackageNameError | Join failure, existing ClientWorldPackageName |
| BeaconSpawnExistingActorError | Join failure, existing beacon actor |
| BeaconSpawnFailureError | Join failure, couldn't spawn client beacon actor |
| BeaconSpawnNetGUIDAckNoActor | Join failure, no actor at NetGUIDAck |
| BeaconSpawnNetGUIDAckNoHost | Join failure, no host object at NetGUIDAck |
| BeaconSpawnUnexpectedError | Join failure, unexpected control message |
| IrisProtocolMismatch | Iris Error result types Protocol mismatch in Iris preventing a critical object instantiation |
| IrisNetRefHandleError | When a specific handle caused a reading error |
| FaultDisconnect | Fault Handler Error result types Net Fault Recovery failed to recover from a fault, and is triggering a disconnect |
| NotRecoverable | PacketHandler Error result types Marks a PacketHandler/HandlerComponent error, that is not recoverable |