Network Messages

Messages from the network engine
Certain packets that you get will not be from your code, using your defined types, but are instead from the network engine. However, you have to know what they are to handle them properly. The first byte of each packet that originated from the API will map to one of the following enumerations. Possible recipient systems are in brackets.

Messages generated in RakPeerInterface
ID_CONNECTION_REQUEST_ACCEPTED
13 : In a client/server environment, our connection request to the server has been accepted.
ID_CONNECTION_ATTEMPT_FAILED
14 : Sent to the player when a connection request cannot be completed due to inability to connect.
ID_ALREADY_CONNECTED
15 : Sent when we requested a connection with a system we are already connected to.
ID_NEW_INCOMING_CONNECTION
16 : A remote system has successfully connected.
ID_NO_FREE_INCOMING_CONNECTIONS
17 : The system we attempted to connect to is not accepting new connections.
ID_DISCONNECTION_NOTIFICATION
18: The system specified in Packet::systemAddress has disconnected from us. For the client, this would mean the server has shutdown.
ID_CONNECTION_LOST
19 : Reliable packets cannot be delivered to the system specifed in Packet::systemAddress. The connection to that system has been closed.
ID_RSA_PUBLIC_KEY_MISMATCH
20 :We preset an RSA public key which does not match what the system we connected to is using.
ID_CONNECTION_BANNED
21 : We are banned from the system we attempted to connect to.
ID_INVALID_PASSWORD
22 : The remote system is using a password and has refused our connection because we did not set the correct password.
ID_MODIFIED_PACKET
23 : A packet has been tampered with in transit. The sender is contained in Packet::systemAddress.
ID_TIMESTAMP
24 : The four bytes following this byte represent an unsigned int which is automatically modified by the difference in system times between the sender and the recipient. Requires that you call SetOccasionalPing.
ID_PONG
25 : Pong from an unconnected system. First byte is ID_PONG, second sizeof(RakNetTime) bytes is the ping, following bytes is system specific enumeration data.
ID_ADVERTISE_SYSTEM
26 : Inform a remote system of our IP/Port, plus some offline data.
ID_REMOTE_DISCONNECTION_NOTIFICATION
27 : 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
28 : 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
29 : In a client/server environment, a client other than ourselves has connected. Packet::systemAddress is modified to reflect the systemAddress of this client.
ID_DOWNLOAD_PROGRESS
30 : Downloading a large message. Format is ID_DOWNLOAD_PROGRESS (MessageID), partCount (unsigned int), partTotal (unsigned int), partLength (unsigned int), first part data (length <= MAX_MTU_SIZE)
Messages generated in the FileListTransfer plugin
ID_FILE_LIST_TRANSFER_HEADER
31 : Setup data
ID_FILE_LIST_TRANSFER_FILE
32 : A file
Messages generated in the DirectoryDeltaTransfer plugin
ID_DDT_DOWNLOAD_REQUEST
33 : Request from a remote system for a download of a directory
Messages generated in the RakNetTransport plugin
ID_TRANSPORT_STRING
34 : Transport provider message, used for remote console
Messages generated in the ReplicaManager plugin
ID_REPLICA_MANAGER_CONSTRUCTION
35 : Create an object
ID_REPLICA_MANAGER_DESTRUCTION
36 : Destroy an object
ID_REPLICA_MANAGER_SCOPE_CHANGE
37 : Changed scope of an object
ID_REPLICA_MANAGER_SERIALIZE
38 : Serialized data of an object
ID_REPLICA_MANAGER_DOWNLOAD_STARTED
39 : New connection, about to send all world objects
ID_REPLICA_MANAGER_DOWNLOAD_COMPLETE
40 : Finished downloading all serialized objects
Messages generated in the ConnectionGraph plugin
ID_CONNECTION_GRAPH_REQUEST
41 : Request the connection graph from another system
ID_CONNECTION_GRAPH_REPLY
42 : Reply to a connection graph download request
ID_CONNECTION_GRAPH_UPDATE
43 : Update edges / nodes for a system with a connection graph
ID_CONNECTION_GRAPH_NEW_CONNECTION
44 : Add a new connection to a connection graph
ID_CONNECTION_GRAPH_CONNECTION_LOST
45 : Remove a connection from a connection graph - connection was abruptly lost
ID_CONNECTION_GRAPH_DISCONNECTION_NOTIFICATION
46 : Remove a connection from a connection graph - connection was gracefully lost
Messages generated in the Router plugin
ID_ROUTE_AND_MULTICAST
47 : route a message through another system
Messages generated in the RakVoice plugin
ID_RAKVOICE_OPEN_CHANNEL_REQUEST
48 : Open a communication channel
ID_RAKVOICE_OPEN_CHANNEL_REPLY
49 : Communication channel accepted
ID_RAKVOICE_CLOSE_CHANNEL
50 : Close a communication channel
ID_RAKVOICE_DATA
51 : Voice data
Messages generated in the Autopatcher plugin
ID_AUTOPATCHER_GET_CHANGELIST_SINCE_DATE
52 : Get a list of files that have changed since a certain date
ID_AUTOPATCHER_CREATION_LIST
53 : A list of files to create
ID_AUTOPATCHER_DELETION_LIST
54 : A list of files to delete
ID_AUTOPATCHER_GET_PATCH
55 : A list of files to get patches for
ID_AUTOPATCHER_PATCH_LIST
56 : A list of patches for a list of files
ID_AUTOPATCHER_REPOSITORY_FATAL_ERROR
57 : Returned to the user: An error from the database repository for the autopatcher.
ID_AUTOPATCHER_FINISHED
58 : Finished getting all files from the autopatcher
ID_AUTOPATCHER_RESTART_APPLICATION
59 : Returned to the user: You must restart the application to finish patching.
Messages generated in the NATPunchthrough plugin
ID_NAT_PUNCHTHROUGH_REQUEST
60 : Intermediary got a request to help punch through a nat
ID_NAT_TARGET_NOT_CONNECTED
61 : Intermediary cannot complete the request because the target system is not connected
ID_NAT_TARGET_CONNECTION_LOST
62 : While attempting to connect, we lost the connection to the target system
ID_NAT_CONNECT_AT_TIME
63 : Internal message to connect at a certain time
ID_NAT_SEND_OFFLINE_MESSAGE_AT_TIME
64 : Internal message to send a message (to punch through the nat) at a certain time
Messages generated in the LightweightDatabase plugin
ID_DATABASE_QUERY_REQUEST
65 : Query
ID_DATABASE_UPDATE_ROW
66 : Update
ID_DATABASE_REMOVE_ROW
67 : Remove
ID_DATABASE_QUERY_REPLY
68 : A serialized table. Bytes 1+ contain the table. Pass to TableSerializer::DeserializeTable
ID_DATABASE_UNKNOWN_TABLE
69 : Specified table not found
ID_DATABASE_INCORRECT_PASSWORD
70 : Incorrect password

See Also

Index