enum EAspectFlags { eAF_ServerControllerOnly = 0x04, eAF_NoCompression = 0x08, eAF_Delegatable = 0x10, eAF_ServerManagedProfile = 0x20, eAF_HashState = 0x40, eAF_TimestampState = 0x80 };
INetwork.h
Members |
Description |
eAF_ServerControllerOnly = 0x04 |
aspect will not be sent to clients that don't control the entity |
eAF_NoCompression = 0x08 |
aspect is serialized without using compression manager (useful for data that is allready well quantised/compressed) |
eAF_Delegatable = 0x10 |
aspect can be client controlled (delegated to the client) |
eAF_ServerManagedProfile = 0x20 |
aspect has more than one profile (serialization format) |
eAF_HashState = 0x40 |
client should periodically send a hash of what it thinks the current state of an aspect is this hash is compared to the server hash and forces a server update if there's a mismatch |
eAF_TimestampState = 0x80 |
aspect needs a timestamp to make sense (i.e. physics) |
enum EChannelConnectionState { eCCS_WaitingForResponse, eCCS_StartingConnection, eCCS_InContextInitiation, eCCS_InGame, eCCS_Disconnecting };
INetwork.h
enum EChatJoinResult { eCJR_Success, eCJR_ChannelError, eCJR_Banned };
INetworkService.h
Members |
Description |
eCJR_Success |
join successful |
eCJR_ChannelError |
error codes: |
enum EChatUserStatus { eCUS_inchannel, eCUS_joined, eCUS_left };
INetworkService.h
enum ECheatProtectionLevel { eCPL_Default = 0, eCPL_RandomChecks, eCPL_Code, eCPL_High };
INetwork.h
enum EContextEstablishTaskResult { eCETR_Ok = 1, eCETR_Failed = 0, eCETR_Wait = 2 };
INetwork.h
enum EContextViewState { eCVS_Initial = 0, eCVS_Begin, eCVS_EstablishContext, eCVS_ConfigureContext, eCVS_SpawnEntities, eCVS_PostSpawnEntities, eCVS_InGame, eCVS_NUM_STATES };
INetwork.h
Members |
Description |
eCVS_Initial = 0 |
We use this initially to ensure that eCVS_Begin is a real state change. |
eCVS_Begin |
Starts setting up a context. |
eCVS_EstablishContext |
Establishes the context (load any data files). |
eCVS_ConfigureContext |
Configure any data-dependent things before binding. |
eCVS_SpawnEntities |
Spawns (bind) any objects. |
eCVS_PostSpawnEntities |
Post-spawns initialization for any entities. |
eCVS_InGame |
Now play the game (finally!). |
eCVS_NUM_STATES |
Resets some game state without completely destroying the context. |
enum EListenerPriorityType { ELPT_PreEngine = 0x00000000, ELPT_Engine = 0x00010000, ELPT_PostEngine = 0x00020000 };
INetwork.h
enum EMessageParallelFlags { eMPF_BlocksStateChange = 0x0001, eMPF_DecodeInSync = 0x0002, eMPF_NoSendDelay = 0x0004, eMPF_DiscardIfNoEntity = 0x0008, eMPF_StateChange = 0x0010, eMPF_DontAwake = 0x0020, eMPF_AfterSpawning = 0x0040 };
INetwork.h
Members |
Description |
eMPF_BlocksStateChange = 0x0001 |
don't change the context state until this message has been sent & acknowledged PROBABLY SHOULD BE DEALT WITH BY MESSAGE DEPENDENCIES |
eMPF_DecodeInSync = 0x0002 |
decoding of this message needs to occur on the main thread (legacy support mainly) means that the entire packet will need to be decoded in the main thread, slowing things down |
eMPF_NoSendDelay = 0x0004 |
lock the network thread and get this message sent as quickly as possible |
eMPF_DiscardIfNoEntity = 0x0008 |
message makes no sense if the entity is not bound, so discard it in that case (a bit hacky!) |
eMPF_StateChange = 0x0010 |
message represents part of a context state change PROBABLY SHOULD BE DEALT WITH BY MESSAGE DEPENDENCIES |
eMPF_DontAwake = 0x0020 |
not a critical message - don't wake up sending |
eMPF_AfterSpawning = 0x0040 |
delay sending this message until spawning is complete PROBABLY SHOULD BE DEALT WITH BY MESSAGE DEPENDENCIES |
enum EMessageSendResult { eMSR_SentOk, eMSR_NotReady, eMSR_FailedMessage, eMSR_FailedConnection, eMSR_FailedPacket };
INetwork.h
Members |
Description |
eMSR_SentOk |
Message was successfully sent. |
eMSR_NotReady |
Message wasn't ready to be sent (try again later). |
eMSR_FailedMessage |
Failed sending the message, but it's ok. |
eMSR_FailedConnection |
Failed sending so badly that we need to disconnect! |
eMSR_FailedPacket |
Failed sending the message; don't try to send anything more this packet. |
enum ENetBreakDescFlags { eNBF_UseDefaultSend = 0, eNBF_UseSimpleSend = 1<<0, eNBF_SendOnlyOnClientJoin = 1<<1 };
INetwork.h
enum ENetReliabilityType { eNRT_ReliableOrdered, eNRT_ReliableUnordered, eNRT_UnreliableOrdered, eNRT_UnreliableUnordered, eNRT_NumReliabilityTypes };
INetwork.h
Members |
Description |
eNRT_NumReliabilityTypes |
Must be last. |
This enum describes different reliability mechanisms for packet delivery.
Do not change ordering here without updating ServerContextView, ClientContextView.
This is pretty much deprecated; new code should use the message queue facilities to order messages, and be declared either ReliableUnordered or UnreliableUnordered.
ServerContextView,ClientContextView
enum ENetSendableStateUpdate { eNSSU_Ack, eNSSU_Requeue, eNSSU_Nack, eNSSU_Rejected };
INetwork.h
Members |
Description |
eNSSU_Ack |
message has been acknowledged |
eNSSU_Requeue |
message was dropped, but since it's reliable (and all other conditions are right), packet has been requeued in the message queue |
eNSSU_Nack |
message was dropped and will not be resent |
eNSSU_Rejected |
message was not allowed into the message queue for some reason |
sendables get callbacks depending on 'how sent they are
enum ENetworkChatMessageType { eNCMT_server, eNCMT_say, eNCMT_data };
INetworkService.h
enum ENetworkGameSync { eNGS_FrameStart = 0, eNGS_FrameEnd, eNGS_Shutdown_Clear, eNGS_Shutdown, eNGS_MinimalUpdateForLoading, eNGS_AllowMinimalUpdate, eNGS_DenyMinimalUpdate, eNGS_SleepNetwork, eNGS_WakeNetwork, eNGS_ForceChannelTick, eNGS_DisplayDebugInfo, eNGS_NUM_ITEMS };
INetwork.h
Members |
Description |
eNGS_MinimalUpdateForLoading |
Internal use - workaround for sync loading problems |
eNGS_SleepNetwork |
Should only be called once per frame! |
eNGS_WakeNetwork |
Should only be called once per frame! |
eNGS_ForceChannelTick |
Forces the netchannels to tick when the network ticks (for next tick only) |
eNGS_DisplayDebugInfo |
update and display network debug info. must be last |
At which point in the frame are we.
enum ENetworkProfileError { eNPE_ok, eNPE_connectFailed, eNPE_disconnected, eNPE_loginFailed, eNPE_loginTimeout, eNPE_anotherLogin, eNPE_actionFailed, eNPE_nickTaken, eNPE_registerAccountError, eNPE_registerGeneric, eNPE_nickTooLong, eNPE_nickFirstNumber, eNPE_nickSlash, eNPE_nickFirstSpecial, eNPE_nickNoSpaces, eNPE_nickEmpty, eNPE_profileEmpty, eNPE_passTooLong, eNPE_passEmpty, eNPE_mailTooLong, eNPE_mailEmpty };
INetworkService.h
Members |
Description |
eNPE_connectFailed |
cannot connect to server |
eNPE_disconnected |
disconnected from GP |
eNPE_loginFailed |
check your account/password |
eNPE_loginTimeout |
timeout |
eNPE_anotherLogin |
another login |
eNPE_actionFailed |
generic action failed |
eNPE_nickTaken |
nick already take |
eNPE_registerAccountError |
mail/pass not match |
eNPE_registerGeneric |
register failed |
eNPE_nickTooLong |
no longer than 20 chars |
eNPE_nickFirstNumber |
no first digits |
eNPE_nickSlash |
no slash in nicks |
eNPE_nickFirstSpecial |
no first specials @+#: |
eNPE_nickNoSpaces |
no spaces in nick |
eNPE_nickEmpty |
empty nicks |
eNPE_profileEmpty |
empty profile name |
eNPE_passTooLong |
no longer than 30 chars |
eNPE_passEmpty |
empty passwords |
eNPE_mailTooLong |
no longer than 50 chars |
eNPE_mailEmpty |
no longer than 50 chars |
enum ENetworkServiceInterface { eNSI_CDKeyValidation };
INetwork.h
enum ENetworkServiceState { eNSS_Initializing, eNSS_Ok, eNSS_Failed, eNSS_Closed };
INetworkService.h
Members |
Description |
eNSS_Initializing |
service is opened, but has not finished initializing |
eNSS_Ok |
service is initialized ok |
eNSS_Failed |
service has failed initializing in some way |
eNSS_Closed |
service has been closed |
enum EPunkType { ePT_NotResponding, ePT_ChangedVars, ePT_ModifiedCode, ePT_ModifiedFile, ePT_NetProtocol };
INetwork.h
enum ERMIAttachmentType { eRAT_PreAttach = 0, eRAT_PostAttach = 1, eRAT_NoAttach, eRAT_Urgent, eRAT_Independent, eRAT_NumAttachmentTypes };
INetwork.h
Members |
Description |
eRAT_Urgent |
urgent RMIs will be sent at the next sync with game N.B. use with caution as this will increase bandwidth |
eRAT_Independent |
If an RMI doesn't care about the object update, then use independent RMIs as they can be sent in the urgent RMI flush |
eRAT_NumAttachmentTypes |
Must be last. |
Implementation of CContextView relies on the first two values being as they are.
enum EServerBrowserError { eSBE_General, eSBE_ConnectionFailed, eSBE_DuplicateUpdate };
INetworkService.h
enum EServerReportError { eSRE_noerror, eSRE_socket, eSRE_connect, eSRE_noreply, eSRE_other };
INetworkService.h
Members |
Description |
eSRE_noerror |
Everything is ok. |
eSRE_socket |
Socket problem: creation,bind, etc. |
eSRE_connect |
Connection problem, DNS, server unreachable, NAT etc. |
eSRE_noreply |
No reply from the other end. |
eSRE_other |
Something happened. |
enum EStatsTrackError { eSTE_noerror, eSTE_socket, eSTE_connect, eSTE_noreply, eSTE_other };
INetworkService.h
Members |
Description |
eSTE_noerror |
Everything is ok. |
eSTE_socket |
Socket problem: creation,bind, etc. |
eSTE_connect |
Connection problem, DNS, server unreachable, NAT etc. |
eSTE_noreply |
No reply from the other end. |
eSTE_other |
Something happened. |
enum ESynchObjectResult { eSOR_Ok, eSOR_Failed, eSOR_Skip };
INetwork.h
enum EUserStatus { eUS_offline = 0, eUS_online, eUS_playing, eUS_staging, eUS_chatting, eUS_away };
INetworkService.h