Documenting the protocols, structures and concepts used by Hyperscape.
Striven
2026-02-20 095e0ecfb26eb0596a8878847fbc1176bf9252dd
04_rendezvous/05_rmc_protocol.md
@@ -6,7 +6,7 @@
## Official Implementation
As seen in HyperScape, this protocol is done over [RendezVous](03_structure.md) data packets.
As seen in HyperScape, this protocol is done over [RendezVous](03_structure) data packets.
When a request is made, usually in a function going by `<protocol name>Protocol::Call<method name>`, a call context is created and containers in memory for data returned by the server are associated with **return value pointers**, with IDs from `[0, n)`, where n is the number of parameters.
@@ -18,10 +18,10 @@
| Protocol                                                                     | Description                                                                                      | HyperScape-specific? |
|------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|----------------------|
| [`LoginProtocol`](01_rmc_protocols/loginprotocol.md)                       | Used for authenticating with an RMC server using a Ubisoft token.                                | ✖️                    |
| [`CloudServersProtocol`](01_rmc_protocols/cloudserversprotocol.md)         | Used for listing datacenters for connecting to game servers.                                     | ✔️                    |
| [`ApexAntitoxicityProtocol`](01_rmc_protocols/apexantitoxicityprotocol.md) | Currently unknown, possibly for managing bans and mutes.                                         | ✔️                    |
| [`SessionProtocol`](01_rmc_protocols/sessionprotocol.md)                   | Presumably for creating, joining and leaving game sessions, but it is unknown what that entails. | ✔️                    |
| [`LoginProtocol`](01_rmc_protocols/loginprotocol)                       | Used for authenticating with an RMC server using a Ubisoft token.                                | ✖️                    |
| [`CloudServersProtocol`](01_rmc_protocols/cloudserversprotocol)         | Used for listing datacenters for connecting to game servers.                                     | ✔️                    |
| [`ApexAntitoxicityProtocol`](01_rmc_protocols/apexantitoxicityprotocol) | Currently unknown, possibly for managing bans and mutes.                                         | ✔️                    |
| [`SessionProtocol`](01_rmc_protocols/sessionprotocol)                   | Presumably for creating, joining and leaving game sessions, but it is unknown what that entails. | ✔️                    |
| ...                                                                          | ...                                                                                              | ...                  |
> [!NOTE]