Multiplayer API

Multiplayer Games Support

Start Multiplayer Tournament:

  1. We need to start the tournament by calling the start tournament API with each and every individual who participates in the multiplier tournament

  2. The backend will validate the player’s identity, tournament pass, number of attempts left, etc.. before letting them join the tournament.

End Multiplier Tournament With Score Posting:

  1. The multiplayer tournament can be ended with a single API call that sends all the players-score along with the rank.

  2. These scores will be validated and the score posting will happen on the tournament leaderboard, guild leaderboard, and persistent leaderboard based on the game

API Documentation:

API Endpoint:

https://backend.{TARGET_SERVER}.outplay.games/tournament-round/multiplayer/:tournamentId/end

Description:

This API is being used for ending the tournament gameplay in the Arcadia platform by calling the API from the game which will post the scores of multiple players.

Payload Description:

TARGET_SERVER - This indicates the server URL and points to a respective target server such as dev, stage, prod.

PayloadDescriptionPayload type

tournamentId (Required)

UUID of the Arcadia tournament

param

clientId (Required)

Game client ID - This is required for the authentication purposes

body

token (Required)

Game token required for authentication

body

clientAccessToken (Required)

Game client access token to validate thee authentication

body

nonce (Required)

The nonce is a timestamp to check the tournament time window for the validation

body

multiplayerPlayersScore (Required)

multiple player scores will be passed and used for the score posting Data Type Format: [{ playerId: string; score: number; rank: number}]

body

otherPlayerScores (Optional)

It is an array of objects which represents the other player’s score which will be posted along with the current player’s score [{walletId: string, score: number}]

body

Sample Curl:

curl --location --request POST 'http://localhost:3000/tournament-round/multiplayer/:tournamentId/end' \
--data-raw '{
    "token": "<token>",
    "clientId": "<client_id>",
    "clientAccessToken": "<client_access_token>",
    "nonce": 1,
    "multiplayerPlayersScore": [
        {
        "playerId": "<player_UUID>",
        "score": 400,
        "rank": 1 
        },
        {
        "playerId": "<player_UUID>",
        "score": 300,
        "rank": 2
        }
    ]
}'

Last updated