From efb55753c680578cf2d68eabf5e5465b7ec9b86c Mon Sep 17 00:00:00 2001 From: Striven <sg.striven@cutecat.club> Date: Wed, 10 Sep 2025 20:22:37 +0000 Subject: [PATCH] Add Register and GetDatacenters methods --- 04_rendezvous/05_rmc_protocol.md | 70 +++++++++++++++++++--------------- 1 files changed, 39 insertions(+), 31 deletions(-) diff --git a/04_rendezvous/05_rmc_protocol.md b/04_rendezvous/05_rmc_protocol.md index 7f585a3..ece0ff4 100644 --- a/04_rendezvous/05_rmc_protocol.md +++ b/04_rendezvous/05_rmc_protocol.md @@ -13,15 +13,18 @@ | ... | ... | ... | ## Base Packet Format -| Name | Description | Type | -|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------| -| Packet Length | The total number of bytes in the packet, not including the length itself. | `u32` | -| Protocol Name | The protocol service on the server that is responsible for managing this request | [`String`](./03_rendezvous_structure.md#string) | -| Is Request? | Whether or not this packet is for a _request_. | `bool` | -| ... | See [Request Packet Format](#request-packet-format) or [Response Packet Format](#response-packet-format) for parsing the packet depending on `Is Request?`. | ... | + +##### Parsing +| Name | Description | Type | +|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------| +| Packet Length | The total number of bytes in the packet, not including the length itself. | `u32` | +| Protocol Name | The protocol service on the server that is responsible for managing this request | [`String`](./03_rendezvous_structure.md#structure-string) | +| Is Request? | Whether or not this packet is for a _request_. | `bool` | +| ... | 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,13 +45,14 @@ 000000F0 39 31 30 33 3B 73 69 64 3D 31 35 00 9103;sid=15. ``` -| Name | Description | Type | -|----------------|-------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------| -| ... | See [Base Packet Format](#base-packet-format) for parsing the prologue of a request packet. | ... | -| Call ID | The nonce token for this call to identify the response associated with this request. | `u32` | -| Method Name | The method to call on the server. | [`String`](./03_rendezvous_structure.md#string) | -| Class Versions | Version information about the data in the request | [`List`](./03_rendezvous_structure.md#list)`<`[`ClassVersion`](#class-version)`>` | -| Request Data | Raw data to pass to the request handler, see the respective [protocol and method specification](#known-protocols) to write and read this. | `<remaining bytes>` | +##### Parsing +| Name | Description | Type | +|----------------|-------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------| +| ... | See [Base Packet Format](#base-packet-format) for parsing the prologue of a request packet. | ... | +| Call ID | The nonce token for this call to identify the response associated with this request. | `u32` | +| Method Name | The method to call on the server. | [`String`](./03_rendezvous_structure.md#structure-string) | +| Class Versions | Version information about the data in the request | [`List`](./03_rendezvous_structure.md#structure-listt)`<`[`ClassVersion`](#class-version)`>` | +| Request Data | Raw data to pass to the request handler, see the respective [protocol and method specification](#known-protocols) to write and read this. | `<remaining bytes>` | ### `ClassVersion` Example: @@ -58,13 +62,14 @@ 00000010 6E 66 6F 00 01 00 nfo... ``` -| Name | Description | Type | -|----------------|---------------------------------------------------|-------------------------------------------------| -| Structure Name | The name of the structure to assign a version to. | [`String`](./03_rendezvous_structure.md#string) | -| Version | The version of the structure. | `u16` | +| Name | Description | Type | +|----------------|---------------------------------------------------|-----------------------------------------------------------| +| Structure Name | The name of the structure to assign a version to. | [`String`](./03_rendezvous_structure.md#structure-string) | +| 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,18 +89,20 @@ ### Successful Response Format -| Name | Description | Type | -|---------------|--------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------| -| ... | See [Response Packet Format](#response-packet-format) for parsing the prologue of a successful response packet. | ... | -| Call ID | The nonce token for the call to associate the response to the request. | `u32` | -| Method Name | The method that was called by the client. | [`String`](./03_rendezvous_structure.md#string) | -| Response Data | Raw data to pass to the response handler, see the respective [protocol and method specification](#known-protocols) to write and read this. | `<remaining bytes>` | +##### Parsing +| Name | Description | Type | +|---------------|--------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------| +| ... | See [Response Packet Format](#response-packet-format) for parsing the prologue of a successful response packet. | ... | +| Call ID | The nonce token for the call to associate the response to the request. | `u32` | +| Method Name | The method that was called by the client. | [`String`](./03_rendezvous_structure.md#structure-string) | +| Response Data | Raw data to pass to the response handler, see the respective [protocol and method specification](#known-protocols) to write and read this. | `<remaining bytes>` | ### Unsuccessful Response Format -| Name | Description | Type | -|-----------------|--------------------------------------------------------------------------------------------------------------------|-------------------------------------------------| -| ... | See [Response Packet Format](#response-packet-format) for parsing the prologue of an unsuccessful response packet. | ... | -| Error Namespace | The category of error that occurred. | [`String`](./03_rendezvous_structure.md#string) | -| Error Code | The code of the error in the specified namespace | `u16` | -| Call ID | The nonce token for the call to associate the response to the request. | `u32` | \ No newline at end of file +##### Parsing +| Name | Description | Type | +|-----------------|--------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------| +| ... | See [Response Packet Format](#response-packet-format) for parsing the prologue of an unsuccessful response packet. | ... | +| Error Namespace | The category of error that occurred. | [`String`](./03_rendezvous_structure.md#structure-string) | +| Error Code | The code of the error in the specified namespace | `u16` | +| Call ID | The nonce token for the call to associate the response to the request. | `u32` | \ No newline at end of file -- Gitblit v1.10.0