MessageIdentifiers.h File Reference

All the message identifiers used by RakNet. Message identifiers comprise the first byte of any message. More...


Enumerations

enum  DefaultMessageIDTypes {
  ID_CONNECTED_PING, ID_UNCONNECTED_PING, ID_UNCONNECTED_PING_OPEN_CONNECTIONS, ID_CONNECTED_PONG,
  ID_DETECT_LOST_CONNECTIONS, ID_OPEN_CONNECTION_REQUEST_1, ID_OPEN_CONNECTION_REPLY_1, ID_OPEN_CONNECTION_REQUEST_2,
  ID_OPEN_CONNECTION_REPLY_2, ID_CONNECTION_REQUEST, ID_REMOTE_SYSTEM_REQUIRES_PUBLIC_KEY, ID_OUR_SYSTEM_REQUIRES_SECURITY,
  ID_PUBLIC_KEY_MISMATCH, ID_OUT_OF_BAND_INTERNAL, ID_SND_RECEIPT_ACKED, ID_SND_RECEIPT_LOSS,
  ID_CONNECTION_REQUEST_ACCEPTED, ID_CONNECTION_ATTEMPT_FAILED, ID_ALREADY_CONNECTED, ID_NEW_INCOMING_CONNECTION,
  ID_NO_FREE_INCOMING_CONNECTIONS, ID_DISCONNECTION_NOTIFICATION, ID_CONNECTION_LOST, ID_CONNECTION_BANNED,
  ID_INVALID_PASSWORD , ID_IP_RECENTLY_CONNECTED, ID_TIMESTAMP, ID_UNCONNECTED_PONG,
  ID_ADVERTISE_SYSTEM, ID_DOWNLOAD_PROGRESS, ID_REMOTE_DISCONNECTION_NOTIFICATION, ID_REMOTE_CONNECTION_LOST,
  ID_REMOTE_NEW_INCOMING_CONNECTION, ID_FILE_LIST_TRANSFER_HEADER, ID_FILE_LIST_TRANSFER_FILE , ID_DDT_DOWNLOAD_REQUEST,
  ID_TRANSPORT_STRING, ID_REPLICA_MANAGER_CONSTRUCTION, ID_REPLICA_MANAGER_SCOPE_CHANGE, ID_REPLICA_MANAGER_SERIALIZE,
  ID_REPLICA_MANAGER_DOWNLOAD_STARTED, ID_REPLICA_MANAGER_DOWNLOAD_COMPLETE, ID_RAKVOICE_OPEN_CHANNEL_REQUEST, ID_RAKVOICE_OPEN_CHANNEL_REPLY,
  ID_RAKVOICE_CLOSE_CHANNEL, ID_RAKVOICE_DATA, ID_AUTOPATCHER_GET_CHANGELIST_SINCE_DATE, ID_AUTOPATCHER_CREATION_LIST,
  ID_AUTOPATCHER_DELETION_LIST, ID_AUTOPATCHER_GET_PATCH, ID_AUTOPATCHER_PATCH_LIST, ID_AUTOPATCHER_REPOSITORY_FATAL_ERROR,
  ID_AUTOPATCHER_FINISHED_INTERNAL , ID_AUTOPATCHER_RESTART_APPLICATION, ID_NAT_PUNCHTHROUGH_REQUEST, ID_NAT_GROUP_PUNCHTHROUGH_REQUEST,
  ID_NAT_GROUP_PUNCHTHROUGH_REPLY, ID_NAT_CONNECT_AT_TIME, ID_NAT_GET_MOST_RECENT_PORT, ID_NAT_CLIENT_READY,
  ID_NAT_GROUP_PUNCHTHROUGH_FAILURE_NOTIFICATION, ID_NAT_TARGET_NOT_CONNECTED, ID_NAT_TARGET_UNRESPONSIVE, ID_NAT_CONNECTION_TO_TARGET_LOST,
  ID_NAT_ALREADY_IN_PROGRESS, ID_NAT_PUNCHTHROUGH_FAILED, ID_NAT_PUNCHTHROUGH_SUCCEEDED, ID_NAT_GROUP_PUNCH_FAILED,
  ID_NAT_GROUP_PUNCH_SUCCEEDED, ID_READY_EVENT_SET, ID_READY_EVENT_UNSET, ID_READY_EVENT_ALL_SET ,
  ID_LOBBY_GENERAL , ID_RPC_PLUGIN, ID_FILE_LIST_REFERENCE_PUSH, ID_READY_EVENT_FORCE_ALL_SET,
  ID_ROOMS_EXECUTE_FUNC , ID_LOBBY2_SEND_MESSAGE , ID_FCM2_NEW_HOST , ID_UDP_PROXY_GENERAL,
  ID_SQLite3_EXEC, ID_SQLite3_UNKNOWN_DB, ID_SQLLITE_LOGGER, ID_NAT_TYPE_DETECTION_REQUEST,
  ID_NAT_TYPE_DETECTION_RESULT, ID_ROUTER_2_INTERNAL, ID_ROUTER_2_FORWARDING_NO_PATH, ID_ROUTER_2_FORWARDING_ESTABLISHED,
  ID_ROUTER_2_REROUTED , ID_TEAM_BALANCER_REQUESTED_TEAM_CHANGE_PENDING, ID_TEAM_BALANCER_TEAMS_LOCKED, ID_TEAM_BALANCER_TEAM_ASSIGNED,
  ID_LIGHTSPEED_INTEGRATION, ID_XBOX_LOBBY, ID_TWO_WAY_AUTHENTICATION_INCOMING_CHALLENGE_SUCCESS , ID_TWO_WAY_AUTHENTICATION_INCOMING_CHALLENGE_FAILURE,
  ID_TWO_WAY_AUTHENTICATION_OUTGOING_CHALLENGE_FAILURE, ID_TWO_WAY_AUTHENTICATION_OUTGOING_CHALLENGE_TIMEOUT , ID_CLOUD_POST_REQUEST
}


Detailed Description

All the message identifiers used by RakNet. Message identifiers comprise the first byte of any message.

This file is part of RakNet Copyright 2003 Jenkins Software LLC

Usage of RakNet is subject to the appropriate license agreement.


Enumeration Type Documentation

You should not edit the file MessageIdentifiers.h as it is a part of RakNet static library To define your own message id, define an enum following the code example that follows.

 enum {
   ID_MYPROJECT_MSG_1 = ID_USER_PACKET_ENUM,
   ID_MYPROJECT_MSG_2, 
    ... 
 };

Note:
All these enumerations should be casted to (unsigned char) before writing them to RakNet::BitStream
Enumerator:
ID_CONNECTED_PING  These types are never returned to the user. Ping from a connected system. Update timestamps (internal use only)
ID_UNCONNECTED_PING  Ping from an unconnected system. Reply but do not update timestamps. (internal use only).
ID_UNCONNECTED_PING_OPEN_CONNECTIONS  Ping from an unconnected system. Only reply if we have open connections. Do not update timestamps. (internal use only).
ID_CONNECTED_PONG  Pong from a connected system. Update timestamps (internal use only).
ID_DETECT_LOST_CONNECTIONS  A reliable packet to detect lost connections (internal use only).
ID_OPEN_CONNECTION_REQUEST_1  C2S: Initial query: Header(1), OfflineMesageID(16), Protocol number(1), Pad(toMTU), sent with no fragment set. If protocol fails on server, returns ID_INCOMPATIBLE_PROTOCOL_VERSION to client
ID_OPEN_CONNECTION_REPLY_1  S2C: Header(1), OfflineMesageID(16), server GUID(8), HasSecurity(1), Cookie(4, if HasSecurity) , public key (if do security is true), MTU(2). If public key fails on client, returns ID_PUBLIC_KEY_MISMATCH
ID_OPEN_CONNECTION_REQUEST_2  C2S: Header(1), OfflineMesageID(16), Cookie(4, if HasSecurity is true on the server), clientSupportsSecurity(1 bit), handshakeChallenge (if has security on both server and client), remoteBindingAddress(6), MTU(2), client GUID(8) Connection slot allocated if cookie is valid, server is not full, GUID and IP not already in use.
ID_OPEN_CONNECTION_REPLY_2  S2C: Header(1), OfflineMesageID(16), server GUID(8), mtu(2), doSecurity(1 bit), handshakeAnswer (if do security is true).
ID_CONNECTION_REQUEST  C2S: Header(1), GUID(8), Timestamp, HasSecurity(1), Proof(32).
ID_REMOTE_SYSTEM_REQUIRES_PUBLIC_KEY  RakPeer - Remote system requires secure connections, pass a public key to RakPeerInterface::Connect().
ID_OUR_SYSTEM_REQUIRES_SECURITY  RakPeer - We passed a public key to RakPeerInterface::Connect(), but the other system did not have security turned on.
ID_PUBLIC_KEY_MISMATCH  RakPeer - Wrong public key passed to RakPeerInterface::Connect().
ID_OUT_OF_BAND_INTERNAL  RakPeer - Same as ID_ADVERTISE_SYSTEM, but intended for internal use rather than being passed to the user. Second byte indicates type. Used currently for NAT punchthrough for receiver port advertisement. See ID_NAT_ADVERTISE_RECIPIENT_PORT
ID_SND_RECEIPT_ACKED  If RakPeerInterface::Send() is called where PacketReliability contains _WITH_ACK_RECEIPT, then on a later call to RakPeerInterface::Receive() you will get ID_SND_RECEIPT_ACKED or ID_SND_RECEIPT_LOSS. The message will be 5 bytes long, and bytes 1-4 inclusive will contain a number in native order containing a number that identifies this message. This number will be returned by RakPeerInterface::Send() or RakPeerInterface::SendList(). ID_SND_RECEIPT_ACKED means that the message arrived
ID_SND_RECEIPT_LOSS  If RakPeerInterface::Send() is called where PacketReliability contains UNRELIABLE_WITH_ACK_RECEIPT, then on a later call to RakPeerInterface::Receive() you will get ID_SND_RECEIPT_ACKED or ID_SND_RECEIPT_LOSS. The message will be 5 bytes long, and bytes 1-4 inclusive will contain a number in native order containing a number that identifies this message. This number will be returned by RakPeerInterface::Send() or RakPeerInterface::SendList(). ID_SND_RECEIPT_LOSS means that an ack for the message did not arrive (it may or may not have been delivered, probably not). On disconnect or shutdown, you will not get ID_SND_RECEIPT_LOSS for unsent messages, you should consider those messages as all lost.
ID_CONNECTION_REQUEST_ACCEPTED  RakPeer - In a client/server environment, our connection request to the server has been accepted.
ID_CONNECTION_ATTEMPT_FAILED  RakPeer - Sent to the player when a connection request cannot be completed due to inability to connect.
ID_ALREADY_CONNECTED  RakPeer - Sent a connect request to a system we are currently connected to.
ID_NEW_INCOMING_CONNECTION  RakPeer - A remote system has successfully connected.
ID_NO_FREE_INCOMING_CONNECTIONS  RakPeer - The system we attempted to connect to is not accepting new connections.
ID_DISCONNECTION_NOTIFICATION  RakPeer - The system specified in Packet::systemAddress has disconnected from us. For the client, this would mean the server has shutdown.
ID_CONNECTION_LOST  RakPeer - Reliable packets cannot be delivered to the system specified in Packet::systemAddress. The connection to that system has been closed.
ID_CONNECTION_BANNED  RakPeer - We are banned from the system we attempted to connect to.
ID_INVALID_PASSWORD  RakPeer - The remote system is using a password and has refused our connection because we did not set the correct password.
ID_IP_RECENTLY_CONNECTED  RakPeer::SetLimitIPConnectionFrequency().
ID_TIMESTAMP  RakPeer - The sizeof(RakNetTime) bytes following this byte represent a value which is automatically modified by the difference in system times between the sender and the recipient. Requires that you call SetOccasionalPing.
ID_UNCONNECTED_PONG  RakPeer - Pong from an unconnected system. First byte is ID_UNCONNECTED_PONG, second sizeof(RakNet::TimeMS) bytes is the ping, following bytes is system specific enumeration data. Read using bitstreams
ID_ADVERTISE_SYSTEM  RakPeer - Inform a remote system of our IP/Port. On the recipient, all data past ID_ADVERTISE_SYSTEM is whatever was passed to the data parameter
ID_DOWNLOAD_PROGRESS  partTotal (unsigned int), partLength (unsigned int), first part data (length <= MAX_MTU_SIZE). See the three parameters partCount, partTotal and partLength in OnFileProgress in FileListTransferCBInterface.h
ID_REMOTE_DISCONNECTION_NOTIFICATION  ConnectionGraph2 plugin - In a client/server environment, a client other than ourselves has disconnected gracefully. Packet::systemAddress is modified to reflect the systemAddress of this client.
ID_REMOTE_CONNECTION_LOST  ConnectionGraph2 plugin - In a client/server environment, a client other than ourselves has been forcefully dropped. Packet::systemAddress is modified to reflect the systemAddress of this client.
ID_REMOTE_NEW_INCOMING_CONNECTION  ConnectionGraph2 plugin: Bytes 1-4 = count. for (count items) contains {SystemAddress, RakNetGUID, 2 byte ping}.
ID_FILE_LIST_TRANSFER_HEADER  FileListTransfer plugin - Setup data.
ID_FILE_LIST_TRANSFER_FILE  FileListTransfer plugin - A file.
ID_DDT_DOWNLOAD_REQUEST  DirectoryDeltaTransfer plugin - Request from a remote system for a download of a directory.
ID_TRANSPORT_STRING  RakNetTransport plugin - Transport provider message, used for remote console.
ID_REPLICA_MANAGER_CONSTRUCTION  ReplicaManager plugin - Create an object.
ID_REPLICA_MANAGER_SCOPE_CHANGE  ReplicaManager plugin - Changed scope of an object.
ID_REPLICA_MANAGER_SERIALIZE  ReplicaManager plugin - Serialized data of an object.
ID_REPLICA_MANAGER_DOWNLOAD_STARTED  ReplicaManager plugin - New connection, about to send all world objects.
ID_REPLICA_MANAGER_DOWNLOAD_COMPLETE  ReplicaManager plugin - Finished downloading all serialized objects.
ID_RAKVOICE_OPEN_CHANNEL_REQUEST  RakVoice plugin - Open a communication channel.
ID_RAKVOICE_OPEN_CHANNEL_REPLY  RakVoice plugin - Communication channel accepted.
ID_RAKVOICE_CLOSE_CHANNEL  RakVoice plugin - Close a communication channel.
ID_RAKVOICE_DATA  RakVoice plugin - Voice data.
ID_AUTOPATCHER_GET_CHANGELIST_SINCE_DATE  Autopatcher plugin - Get a list of files that have changed since a certain date.
ID_AUTOPATCHER_CREATION_LIST  Autopatcher plugin - A list of files to create.
ID_AUTOPATCHER_DELETION_LIST  Autopatcher plugin - A list of files to delete.
ID_AUTOPATCHER_GET_PATCH  Autopatcher plugin - A list of files to get patches for.
ID_AUTOPATCHER_PATCH_LIST  Autopatcher plugin - A list of patches for a list of files.
ID_AUTOPATCHER_REPOSITORY_FATAL_ERROR  Autopatcher plugin - Returned to the user: An error from the database repository for the autopatcher.
ID_AUTOPATCHER_FINISHED_INTERNAL  Autopatcher plugin - Finished getting all files from the autopatcher.
ID_AUTOPATCHER_RESTART_APPLICATION  Autopatcher plugin - Returned to the user: You must restart the application to finish patching.
ID_NAT_PUNCHTHROUGH_REQUEST  NATPunchthrough plugin: internal.
ID_NAT_GROUP_PUNCHTHROUGH_REQUEST  NATPunchthrough plugin: internal.
ID_NAT_GROUP_PUNCHTHROUGH_REPLY  NATPunchthrough plugin: internal.
ID_NAT_CONNECT_AT_TIME  NATPunchthrough plugin: internal.
ID_NAT_GET_MOST_RECENT_PORT  NATPunchthrough plugin: internal.
ID_NAT_CLIENT_READY  NATPunchthrough plugin: internal.
ID_NAT_GROUP_PUNCHTHROUGH_FAILURE_NOTIFICATION  NATPunchthrough plugin: internal.
ID_NAT_TARGET_NOT_CONNECTED  NATPunchthrough plugin: Destination system is not connected to the server. Bytes starting at offset 1 contains the RakNetGUID destination field of NatPunchthroughClient::OpenNAT().
ID_NAT_TARGET_UNRESPONSIVE  NATPunchthrough plugin: Destination system is not responding to ID_NAT_GET_MOST_RECENT_PORT. Possibly the plugin is not installed. Bytes starting at offset 1 contains the RakNetGUID destination field of NatPunchthroughClient::OpenNAT().
ID_NAT_CONNECTION_TO_TARGET_LOST  NATPunchthrough plugin: The server lost the connection to the destination system while setting up punchthrough. Possibly the plugin is not installed. Bytes starting at offset 1 contains the RakNetGUID destination field of NatPunchthroughClient::OpenNAT().
ID_NAT_ALREADY_IN_PROGRESS  NATPunchthrough plugin: This punchthrough is already in progress. Possibly the plugin is not installed. Bytes starting at offset 1 contains the RakNetGUID destination field of NatPunchthroughClient::OpenNAT().
ID_NAT_PUNCHTHROUGH_FAILED  NATPunchthrough plugin: This message is generated on the local system, and does not come from the network. packet::guid contains the destination field of NatPunchthroughClient::OpenNAT(). Byte 1 contains 1 if you are the sender, 0 if not
ID_NAT_PUNCHTHROUGH_SUCCEEDED  NATPunchthrough plugin: Punchthrough succeeded. See packet::systemAddress and packet::guid. Byte 1 contains 1 if you are the sender, 0 if not. You can now use RakPeer::Connect() or other calls to communicate with this system.
ID_NAT_GROUP_PUNCH_FAILED  NATPunchthrough plugin: OpenNATGroup failed. packet::guid contains the facilitator field of NatPunchthroughClient::OpenNAT() Data format starts at byte 1:
(char) passedSystemsCount,
(RakNetGuid, SystemAddress) (for passedSystemsCount),
(char) ignoredSystemsCount (caused by ID_NAT_TARGET_NOT_CONNECTED, ID_NAT_CONNECTION_TO_TARGET_LOST, ID_NAT_TARGET_UNRESPONSIVE),
RakNetGuid (for ignoredSystemsCount),
(char) failedSystemsCount,
RakNetGuid (for failedSystemsCount)
ID_NAT_GROUP_PUNCH_SUCCEEDED  NATPunchthrough plugin: OpenNATGroup succeeded. packet::guid contains the facilitator field of NatPunchthroughClient::OpenNAT() See ID_NAT_GROUP_PUNCH_FAILED for data format
ID_READY_EVENT_SET  ReadyEvent plugin - Set the ready state for a particular system First 4 bytes after the message contains the id
ID_READY_EVENT_UNSET  ReadyEvent plugin - Unset the ready state for a particular system First 4 bytes after the message contains the id
ID_READY_EVENT_ALL_SET  All systems are in state ID_READY_EVENT_SET First 4 bytes after the message contains the id
ID_LOBBY_GENERAL  Lobby packets. Second byte indicates type.
ID_RPC_PLUGIN  Plugin based replacement for RPC system.
ID_FILE_LIST_REFERENCE_PUSH  FileListTransfer transferring large files in chunks that are read only when needed, to save memory.
ID_READY_EVENT_FORCE_ALL_SET  Force the ready event to all set.
ID_ROOMS_EXECUTE_FUNC  Rooms function.
ID_LOBBY2_SEND_MESSAGE  Lobby2 message.
ID_FCM2_NEW_HOST  Informs user of a new host GUID. Packet::Guid contains this new host RakNetGuid. The old host can be read out using BitStream->Read(RakNetGuid) starting on byte 1 This is not returned until connected to a remote system If the oldHost is UNASSIGNED_RAKNET_GUID, then this is the first time the host has been determined
ID_UDP_PROXY_GENERAL  UDP proxy messages. Second byte indicates type.
ID_SQLite3_EXEC  SQLite3Plugin - execute.
ID_SQLite3_UNKNOWN_DB  SQLite3Plugin - Remote database is unknown.
ID_SQLLITE_LOGGER  Events happening with SQLiteClientLoggerPlugin.
ID_NAT_TYPE_DETECTION_REQUEST  Sent to NatTypeDetectionServer.
ID_NAT_TYPE_DETECTION_RESULT  Sent to NatTypeDetectionClient. Byte 1 contains the type of NAT detected.
ID_ROUTER_2_INTERNAL  Used by the router2 plugin.
ID_ROUTER_2_FORWARDING_NO_PATH  No path is available or can be established to the remote system Packet::guid contains the endpoint guid that we were trying to reach
ID_ROUTER_2_FORWARDING_ESTABLISHED  You can now call connect, ping, or other operations to the destination system.

Connect as follows:

RakNet::BitStream bs(packet->data, packet->length, false); bs.IgnoreBytes(sizeof(MessageID)); RakNetGUID endpointGuid; bs.Read(endpointGuid); unsigned short sourceToDestPort; bs.Read(sourceToDestPort); char ipAddressString[32]; packet->systemAddress.ToString(false, ipAddressString); rakPeerInterface->Connect(ipAddressString, sourceToDestPort, 0,0);

ID_ROUTER_2_REROUTED  The IP address for a forwarded connection has changed Read endpointGuid and port as per ID_ROUTER_2_FORWARDING_ESTABLISHED
ID_TEAM_BALANCER_REQUESTED_TEAM_CHANGE_PENDING  Cannot switch to the desired team because it is full. However, if someone on that team leaves, you will get ID_TEAM_BALANCER_SET_TEAM later. Byte 1 contains the team you requested to join. Following bytes contain NetworkID of which member.
ID_TEAM_BALANCER_TEAMS_LOCKED  Cannot switch to the desired team because all teams are locked. However, if someone on that team leaves, you will get ID_TEAM_BALANCER_SET_TEAM later. Byte 1 contains the team you requested to join.
ID_TEAM_BALANCER_TEAM_ASSIGNED  Team balancer plugin informing you of your team. Byte 1 contains the team you requested to join. Following bytes contain NetworkID of which member.
ID_LIGHTSPEED_INTEGRATION  Gamebryo Lightspeed integration.
ID_XBOX_LOBBY  XBOX integration.
ID_TWO_WAY_AUTHENTICATION_INCOMING_CHALLENGE_SUCCESS  The password we used to challenge the other system passed, meaning the other system has called TwoWayAuthentication::AddPassword() with the same password we passed to TwoWayAuthentication::Challenge() You can read the identifier used to challenge as follows: RakNet::BitStream bs(packet->data, packet->length, false); bs.IgnoreBytes(sizeof(RakNet::MessageID)); RakNet::RakString password; bs.Read(password);
ID_TWO_WAY_AUTHENTICATION_INCOMING_CHALLENGE_FAILURE  A remote system sent us a challenge using TwoWayAuthentication::Challenge(), and the challenge failed. If the other system must pass the challenge to stay connected, you should call RakPeer::CloseConnection() to terminate the connection to the other system.
ID_TWO_WAY_AUTHENTICATION_OUTGOING_CHALLENGE_FAILURE  The other system did not add the password we used to TwoWayAuthentication::AddPassword() You can read the identifier used to challenge as follows: RakNet::BitStream bs(packet->data, packet->length, false); bs.IgnoreBytes(sizeof(MessageID)); RakNet::RakString password; bs.Read(password);
ID_TWO_WAY_AUTHENTICATION_OUTGOING_CHALLENGE_TIMEOUT  The other system did not respond within a timeout threshhold. Either the other system is not running the plugin or the other system was blocking on some operation for a long time. You can read the identifier used to challenge as follows: RakNet::BitStream bs(packet->data, packet->length, false); bs.IgnoreBytes(sizeof(MessageID)); RakNet::RakString password; bs.Read(password);
ID_CLOUD_POST_REQUEST  CloudClient / CloudServer.


Generated on Wed Feb 1 13:33:46 2012 for RakNet by  doxygen 1.5.7.1