This is an old revision of the document!
Table of Contents
C2S Packet 3: Client Info
THIS IS A DRAFT AND SHOULD NOT YET BE IMPLEMENTED
Informs the server about the name, version and capabilities of the client. This packet can optionally be sent before C2S Packet 1: Authorization Attempt to extend functionality of the protocol. Sending this packet is optional, leaving it out will have the protocol behave as it originally did without extensions, it can also be sent with an empty capabilities field.
If sent and the server supports this packet, it will respond with S2C Packet 11: Server Info, informing the client of its name and version as well as whatever capabilities sent by the client that are supported. If after a certain threshold the server does not respond, it should be assumed that the server does not understand the Client/Server Info packets. The client should then continue operating as an unmodified original client by sending the authorization attempt packet mentioned earlier.
If after the timeout or after receiving the Server Info packet, the client is not satisfied with the supported capabilities, it may terminate the connection.
The format of the client identification string is entirely up to the developer of the client and is not used for capability checking.
Format
Index | Type | Description |
---|---|---|
0 | 3 | Client Info packet ID |
1 | string | Client identification |
2 | collection | Capabilities supported by the client |
Examples
No capabilities specified
Client identifies itself but does not specify any capabilities. Notice that the trailing \t
is still present as index 2 is still required to be there.
3\tKuroko/fbcdbdb9e8\t
If the server doesn't understand this packet, it will not respond with anything. If it does understand, the server will respond with something akin to the following.
11\tMikoto/1.0\t
Capabilities specified
Client identifies itself as supporting hypothetical capabilities x-uppercase-everything
and nohtml
.
3\tSatori/20241018\tx-uppercase-everything\fnohtml
If the server doesn't understand this packet, it will not respond with anything.
In this scenario the server does understand the client/server info packets, but only supports nohtml
out of the supplied capabilities.
11\tSharpChat/3c8bb88d53\tnohtml
See Also
- S2C Packet 11: Server Info - Response to this packet.
- Capabilities - List of capabilities.