Technical Details
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_missing
if no previous consent has been made, orconsents.game_outdated
if the consent is out of date. - If this occurs, it will also include the
type
that 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 singlecontent
string 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
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_missing
if no previous game consent has been made, orconsents.game_outdated
if the game consent is out of date. It may also return a 409 error withconsents.server_missing
if no previous server consent has been made, orconsents.server_outdated
if 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
type
that is missing, which might belegal
, orrules
. - At this point, you should either:
- If the
type
islegal
- 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
legal
for 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.content
section of the server response - once the player has read and accepted, send a request to the Sign Consents endpoint specifying
rules
for 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
Updated 5 months ago
What’s Next