| 04_rendezvous/01_protocols/01_loginprotocol.md | ●●●●● patch | view | raw | blame | history | |
| 04_rendezvous/03_rendezvous_structure.md | ●●●●● patch | view | raw | blame | history | |
| 04_rendezvous/05_rmc_protocol.md | ●●●●● patch | view | raw | blame | history |
04_rendezvous/01_protocols/01_loginprotocol.md
@@ -4,7 +4,8 @@ Authenticates with the server using a [UbiServices](../../03_ubisoft_services/02_accessing_ubiservices.md) ticket. See [Initial Login Flow](../../03_ubisoft_services/04_initial_login_flow.md) for information on how to obtain one. ### Request Example: ##### Full Packet Example ``` Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000000 ED 0C 00 00 0E 00 4C 6F 67 69 6E 50 72 6F 74 6F í.....LoginProto @@ -59,6 +60,7 @@ > [!NOTE] > While this is a real packet sent, the ticket has been replaced with a dummy for security reasons. The normal ticket is a base64-encoded [JWT](../../03_ubisoft_services/04_initial_login_flow.md#ticket). ##### Parsing | Name | Description | Type | |---------------------|---------------------------------------------------------------------|--------------------------------------------------| | Token | Ticket obtained via UbiServices, identifying the connecting client. | [`String`](../03_rendezvous_structure.md#string) | @@ -70,6 +72,7 @@ > [!NOTE] > TODO: Example ##### Parsing | Name | Description | Type | |----------------------|--------------------------------------------------------------------|--------------------------------------------------| | User PID | ID of the user profile that the connected client is identified as. | [`UUID`](../03_rendezvous_structure.md#uuid) | 04_rendezvous/03_rendezvous_structure.md
@@ -3,12 +3,14 @@ ## Common Structures ### `Buffer` Example: ##### Example ``` Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000000 04 00 01 02 04 05 ...... ``` ##### Parsing | Name | Description | Type | |--------|-------------------------------------|--------------| | Length | The length of the buffer, in bytes. | `u16` | @@ -17,12 +19,14 @@ The length of the data is `4`, with the bytes being: `.{ 1, 2, 3, 4 }`. ### `String` Example: ##### Example ``` Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000000 0E 00 4C 6F 67 69 6E 50 72 6F 74 6F 63 6F 6C 00 ..LoginProtocol. ``` ##### Parsing | Name | Description | Type | |--------|-------------------------------------------------------------|---------------------| | Buffer | The UTF-8 encoded, null-terminated string data as a buffer. | [`Buffer`](#buffer) | @@ -30,18 +34,20 @@ Strings in RendezVous are null-terminated [buffers](#buffer) in UTF-8 encoding. ### `List<T>` Example: ##### Example ``` Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000000 01 00 00 00 12 00 43 6C 69 65 6E 74 56 65 72 73 ......ClientVers 00000010 69 6F 6E 49 6E 66 6F 00 01 00 ionInfo... ``` ##### Parsing | Name | Description | Type | |-----------------|---------------------------------------------|----------------------| | Number of Items | The number of individual items in the list. | `u32` | | Items | The items in the list. | `T[Number of Items]` | ##' `UUID` ### `UUID` > TODO 04_rendezvous/05_rmc_protocol.md
@@ -13,6 +13,8 @@ | ... | ... | ... | ## Base Packet Format ##### Parsing | Name | Description | Type | |---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------| | Packet Length | The total number of bytes in the packet, not including the length itself. | `u32` | @@ -21,7 +23,8 @@ | ... | See [Request Packet Format](#request-packet-format) or [Response Packet Format](#response-packet-format) for parsing the packet depending on `Is Request?`. | ... | ## Request Packet Format Example: ##### Example ``` Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000000 F8 00 00 00 0E 00 4C 6F 67 69 6E 50 72 6F 74 6F ø.....LoginProto @@ -42,6 +45,7 @@ 000000F0 39 31 30 33 3B 73 69 64 3D 31 35 00 9103;sid=15. ``` ##### Parsing | Name | Description | Type | |----------------|-------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------| | ... | See [Base Packet Format](#base-packet-format) for parsing the prologue of a request packet. | ... | @@ -64,7 +68,8 @@ | Version | The version of the structure. | `u16` | ## Response Packet Format Examples: ##### Example ``` Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000000 25 00 00 00 0E 00 4C 6F 67 69 6E 50 72 6F 74 6F %.....LoginProto @@ -75,6 +80,7 @@ > [!NOTE] > TODO: Successful response example ##### Parsing | Name | Description | Type | |----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------| | ... | See [Base Packet Format](#base-packet-format) for parsing the prologue of a response packet. | ... | @@ -83,6 +89,7 @@ ### Successful Response Format ##### Parsing | Name | Description | Type | |---------------|--------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------| | ... | See [Response Packet Format](#response-packet-format) for parsing the prologue of a successful response packet. | ... | @@ -92,6 +99,7 @@ ### Unsuccessful Response Format ##### Parsing | Name | Description | Type | |-----------------|--------------------------------------------------------------------------------------------------------------------|-------------------------------------------------| | ... | See [Response Packet Format](#response-packet-format) for parsing the prologue of an unsuccessful response packet. | ... |