Technical Details
Player Ident
Section titled “Player Ident”When a session is initiated via the Ident: Send Token route, players will be forcefully required to sign the game consent documents. This will include Nodecraft and platform consents, too, as defined above.
- This endpoint may return a 409 error with
consents.game_missingif no previous consent has been made, orconsents.game_outdatedif the consent is out of date. - If this occurs, it will also include the
typethat is missing, which might belegal, orrules. - At this point, you should make a request using a game access token to the Get Game Legal/Rules consents endpoint, passing the previously retrieved
type. - This will provide a list of consents that include the
page_id,page_content_id, andtype, as well as a singlecontentstring which should be rendered to the player to read. - Once the player has read and accepted this consent, you can re-send the Ident: Send Token route, but this time, including an additional payload for the consents they’ve read and signed, such as the following:
{ "type": "steam", "data": { "ticket": "abc", "identity": "abc" }, "consents": [ { "type": "legal", "page_id": "00000000-0000-0000-0000-000000000000", "page_content_id": "00000000-0000-0000-0000-000000000000" }, { "type": "legal", "page_id": "00000000-0000-0000-0000-000000000000", "page_content_id": "00000000-0000-0000-0000-000000000000" } ]}- After this is sent, the Player Ident should succeed, and the player can now continue to explore the platform.
Server Join
Section titled “Server Join”When a server join is initiated via the Join Server route, players will be forcefully required to sign the server’s rules, as well as any game or platform rules that have been set for the game/platform.
- This endpoint may return a 409 error with
consents.game_missingif no previous game consent has been made, orconsents.game_outdatedif the game consent is out of date. It may also return a 409 error withconsents.server_missingif no previous server consent has been made, orconsents.server_outdatedif the server consent is outdated.- NOTE: This may happen multiple times when joining the server, depending on which consents the player has or previously hasn’t signed. Be sure that you can initiate this flow multiple times.
- If this occurs, it will also include the
typethat is missing, which might belegal, orrules. - At this point, you should either:
- If the
typeislegal- make a request to the Get Player Legal/Rules Consents endpoint, specifying the type as previously received
- render the consent for the player
- once the player has read and accepted, send a request to the Sign Consents endpoint specifying
legalfor the{type}param in the URL, and using the player access token, with a payload like the following:
[{"page_id": "00000000-0000-0000-0000-000000000000","page_content_id": "00000000-0000-0000-0000-000000000000"},{"page_id": "00000000-0000-0000-0000-000000000000","page_content_id": "00000000-0000-0000-0000-000000000000"}] - if the type is
rules- render the server rules consent content as previously retrieved in the Get Server endpoint. This will exist under the
rules.contentsection of the server response - once the player has read and accepted, send a request to the Sign Consents endpoint specifying
rulesfor the{type}param in the URL, and using the player access token, with a payload like the following:
[{"page_id": "00000000-0000-0000-0000-000000000000","page_content_id": "00000000-0000-0000-0000-000000000000"},{"page_id": "00000000-0000-0000-0000-000000000000","page_content_id": "00000000-0000-0000-0000-000000000000"}] - render the server rules consent content as previously retrieved in the Get Server endpoint. This will exist under the
- If the