Handshake Messages
Messages used in the client/server handshake procedure.
RequestServerInfo
Description: Sent by the client to register itself with the server, and request info from the server.
Introduced In Spec Version: 0
Last Updated In Spec Version: 1 (See Deprecated Messages for older versions.)
Fields:
- Id (unsigned int): Message Id
- ClientName (string): Name of the client, for the server to use for UI if needed. Cannot be null.
- MessageVersion (uint): Message spec version of the client software.
Expected Response:
- ServerInfo message on success
- Error message on malformed message, null client name, server not able to use requested message spec version, or other error.
Flow Diagram:
Serialization Example:
[
{
"RequestServerInfo": {
"Id": 1,
"ClientName": "Test Client",
"MessageVersion": 1
}
}
]
ServerInfo
Description: Send by server to client, contains information about the server name (optional), template version, and ping time expectations.
Introduced In Spec Version: 0
Last Updated In Spec Version: 2
Fields:
- Id (unsigned int): Message Id
- ServerName (string): Name of the server. Can be null (0-length).
- MessageVersion (uint): Message template version of the server software. Should equal the version that the client sent in RequestServerInfo.
- MaxPingTime (uint): Maximum internal for pings from the client, in milliseconds. If a client takes to longer than this time between sending Ping messages, the server is expected to disconnect.
Expected Response:
None. Server-To-Client message only.
Flow Diagram:
Serialization Example:
[
{
"ServerInfo": {
"Id": 1,
"ServerName": "Test Server",
"MessageVersion": 1,
"MaxPingTime": 100
}
}
]