| File was renamed from 04_rendezvous/01_protocols/01_loginprotocol.md |
| | |
| | | ## Overview |
| | | # RendezVous: RMC Protocols: LoginProtocol |
| | | |
| | | The Login Protocol is common among Ubisoft games and is responsible for authenticating users by their [UbiServices ticket](../../03_ubisoft_services/02_accessing_ubiservices.md#getting-a-ticket). Additionally, it provides the server with information about the user's client and game information, and the server can re-direct the client to a more appropriate server. |
| | | |
| | | ## Method: `LoginWithToken` |
| | | 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. |
| | | Authenticates with the server using a [UbiServices ticket](../../03_ubisoft_services/02_accessing_ubiservices.md#getting-a-ticket). See [Initial Login Flow](../../03_ubisoft_services/04_initial_login_flow.md) for information on how to obtain one. |
| | | |
| | | ### Request |
| | | |
| | |
| | | 00000270 08 00 70 72 75 64 70 3A 2F 00 ..prudp:/. |
| | | ``` |
| | | |
| | | _[Full Request Packet](../../00_packet_dumps/C2S-LoginProtocol__LoginWithToken_V1)_ |
| | | > [!TIP] |
| | | > This is just the request data portion of a full packet. Check out a [full request packet dump](../../00_packet_dumps/C2S-LoginProtocol__LoginWithToken_V1) for this call. |
| | | |
| | | > [!NOTE] |
| | | > [!IMPORTANT] |
| | | > 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#structure-string) | |
| | | |---------------------|---------------------------------------------------------------------|----------------------------------------------------------| |
| | | | Token | Ticket obtained via UbiServices, identifying the connecting client. | [`String`](../03_structure.md#structure-string) | |
| | | | Client Version Info | Information about the client version | [`ClientVersionInfo`](#client-version-info) | |
| | | | Diagnostic URL | Unknown. | [`Station URL`](../03_rendezvous_structure.md#structure-stationurl) | |
| | | | Diagnostic URL | Unknown. | [`Station URL`](../03_structure.md#structure-stationurl) | |
| | | |
| | | ### Successful Response |
| | | |
| | |
| | | |
| | | ##### Parsing |
| | | | Name | Description | Type | |
| | | |----------------------|--------------------------------------------------------------------|---------------------------------------------------------------------| |
| | | | User PID | ID of the user profile that the connected client is identified as. | [`UUID`](../03_rendezvous_structure.md#structure-uuid) | |
| | | | Protocol URL | Unknown. | [`Station URL`](../03_rendezvous_structure.md#structure-stationurl) | |
| | | |----------------------|--------------------------------------------------------------------|----------------------------------------------------------| |
| | | | User PID | ID of the user profile that the connected client is identified as. | [`UUID`](../03_structure.md#structure-uuid) | |
| | | | Protocol URL | Unknown. | [`Station URL`](../03_structure.md#structure-stationurl) | |
| | | | Required Redirection | Unknown exactly. Presumably self-explanatory. | `bool` | |
| | | |
| | | ## Method: `Register` |
| | |
| | | 000000C0 31 35 00 15. |
| | | ``` |
| | | |
| | | _[Full Request Packet](../../00_packet_dumps/C2S-LoginProtocol__Register_V1)_ |
| | | > [!TIP] |
| | | > This is just the request data portion of a full packet. Check out a [full request packet dump](../../00_packet_dumps/C2S-LoginProtocol__Register_V1) for this call. |
| | | |
| | | > [!NOTE] |
| | | > [!IMPORTANT] |
| | | > While this is a real packet sent, local IP addresses have been replaced with dummies for privacy reasons. It is currently unknown how the IP addresses are produced. |
| | | |
| | | ##### Parsing |
| | | | Name | Description | Type | |
| | | |--------------|-------------|----------------------------------------------------------------------------------------------------------------------------------| |
| | | | Station URLs | Unknown. | [`List`](../03_rendezvous_structure.md#structure-listt)`<`[`Station URL`](../03_rendezvous_structure.md#structure-stationurl)`>` | |
| | | |--------------|-------------|------------------------------------------------------------------------------------------------------------| |
| | | | Station URLs | Unknown. | [`List`](../03_structure.md#structure-listt)`<`[`Station URL`](../03_structure.md#structure-stationurl)`>` | |
| | | |
| | | ### Response |
| | | |
| | |
| | | |
| | | ##### Parsing |
| | | | Name | Description | Type | |
| | | |---------------|-----------------------------------------------|---------------------------------------------------------------------| |
| | | |---------------|-----------------------------------------------|----------------------------------------------------------| |
| | | | Connection ID | Unknown exactly. Presumably self-explanatory. | `u32` | |
| | | | Url Public | Unknown. | [`Station URL`](../03_rendezvous_structure.md#structure-stationurl) | |
| | | | Url Public | Unknown. | [`Station URL`](../03_structure.md#structure-stationurl) | |