Lobby/Games API

Scenario 1: Display the Lobby

Concurrent players in the lobby at peak time:

Current

With +50% margin

  • Download Client: 8,600
  • Mobile: 1,400
  • Total: 10,000
  • Download Client: 12,900
  • Mobile: 3,100
  • Total: 15,000

Estimation for the repartition of players within the different tabs:

Tab

% estimation

Zone7%
Cash32%
Tournament (SnG + Scheduled)53%
Casino8%

Requests:

Action

Endpoint

Frequency

Estimation

With +50% margin

Refresh the sso tokenPUT /keepalive/{authToken}every 5 min

= 2,000 calls / min

= 34 TPS

50 TPS
Get the list of zone gamesGET /zone/games/{playMode}/{gameType}/{buyin}/{limit}/{seats}?authToken={authToken}every 50 sec

7% players on zone tab = 700 players

= 14 TPS 

21 TPS
Get the list of cash tablesGET /cash/tables/{playMode}/{gameType}/{buyin}/{limit}/{seats}?authToken={authToken}every 50 sec

32% players on cash tab = 3,200 players

= 64 TPS

96 TPS
Get the list of tournamentsGET/tournaments/games/{playMode}/{gameFormat}/{tournamentType}/{gameType}/{buyin}/{limit}/{seats}?authToken={authToken}1 time

990 logins / min

53 % of players going to a tournament tab

= 8.7 TPS

13 TPS

In addition, each player will have a WebSocket connection to the Lobby Websocket API.

Scenario 2: Play a Game

Concurrent players playing a game at peak time:

Current

With +50% margin

Unique: 6,000

Total: 10,000

Unique: 9,000

Total: 15,000

Estimation for the repartition of players within the different game types:

Tab

% estimation

Zone8%
Cash32%
Tournament (SnG + Scheduled)60%

Requests:

Action

Endpoint

Frequency

Current peak / estimation

With +50% margin

Get buyin info for a zone gameGET /zone/buyin/{gameId}/{authToken}1 time

30 / min

= 0.5 TPS

0.75 TPS
Buyin to a zone gamePOST /zone/buyin/{gameId}/{authToken}1 time

30 / min

= 0.5 TPS

0.75 TPS
Get buyin info for a tournamentGET /tournaments/{tournamentId}/register/{authToken}1 time

153 / min

= 2.6 TPS

4 TPS
Buyin to a tournamentPOST /tournaments/{tournamentId}/register/{authToken}1 time

153 / min

= 2.6 TPS

4 TPS
Launch a gamePOST /launchGame/{gameFormat}/{gameId}/{authToken}1 time

224 / min

= 3.7 TPS

5.5 TPS
Get tournament informationGET /tournaments/{tournamentId}/info1 time

153 / min

= 2.6 TPS

4 TPS
Get tournament stateGET /tournaments/{tournamentId}/stateevery 30 sec

60% players in tournaments = 6,000

= 200 TPS

300 TPS
Get tournament table listGET /tournaments/{tournamentId}/tablesevery 10 sec

60% players in tournaments = 6,000

= 600 TPS

900 TPS
Get tournament leaderboardGET /tournaments/{tournamentId}/leaderboardevery 10 sec

60% players in tournaments = 6,000

= 600 TPS

900 TPS
Get my rank

GET /tournaments/{tournamentId}/rank/{authToken}

1 time

153 / min

= 2.6 TPS

4 TPS

In addition, each player will have a WebSocket connection to the Games API.

Other actions

Requests:

Action

Endpoint

Frequency

Current peak

With +50% margin

Unregister from a tournamentPOST /tournaments/{tournamentId}/unregister/{authToken}1 time

10 / min

= 0.16 TPS

0.25 TPS

Account API

Action

Endpoint

Frequency

Current peak / estimation

With +50% margin

Get account informationGET /account/{authToken}

1 time (launch DL)

Mobile: 87/min

DL: 224/min

= 5 TPS

7.5 TPS
Request play moneyPUT /account/playMoney/{authToken}1 time

Mobile: 8/min

DL: 52/min

= 1 TPS

1.5 TPS
Get preferencesGET /preferences/{preferenceType}/{authToken}1 time (launch DL)

1,632/min

= 27 TPS

41 TPS
Set preferencesPUT /preferences/{preferenceType}/{authToken}1 time

389/min

= 6.5 TPS

9.75 TPS
Get system wide messageGET/message/{messageType}/{messageId}/{clientType}/{authToken}1 time

10,000/min

= 166 TPS

250 TPS
Set fingerprintPUT /fingerprint/{authToken}1 time (launch DL)

Mobile: 87/min

DL: 990/min

= 18 TPS

27 TPS
Check profile statusPUT /checkProfile/{authToken}1 time (launch DL)

DL: 990/min

= 16.5 TPS

24.75 TPS
Get banned wordsGET /bannedWords1 time (launch DL)

Mobile: 58/min

DL: 1,100/min

= 19 TPS

29 TPS
Get server settingsGET /settings1 time (launch DL)

Mobile: 45/min

DL: 1,100/min

= 19 TPS

29 TPS
Get operator profileGET /operatorProfile1 time (launch DL)

DL: 1,100/min

= 18 TPS

27.5 TPS
Get tournament custom typeGET /tournamentCustomType1 time (launch DL)

DL: 8,600/min

= 143 TPS

215 TPS
Get banners infoGET /banners1 time (launch DL)

DL: 4,090/min

= 68 TPS

102 TPS
Get bonus feature statusGET /bonus/feature1 time

Mobile: 116/min

= 2 TPS

3 TPS
Get bonus indicatorGET /bonus/indicator/{authToken}every 5 min in DL client

DL: 2,000/min

= 33 TPS

50 TPS
Get active bonus informationGET /bonus/active/{authToken}1 time

Mobile: 80/min

= 1.5 TPS

2 TPS
Get available bonus listGET /bonus/available/{authToken}1 time

Mobile: 11/min

= 0.2 TPS

0.3 TPS
Get bonus detailsGET /bonus/{bonusId}/details/{authToken}1 time

Mobile: 9/min

= 0.15 TPS

0.23 TPS
Activate bonusPUT /bonus/{bonusId}/{action}/{authToken}1 time

Mobile: 1/min

= 0.01 TPS

0.02 TPS
Reorder bonusPUT /bonus/{bonusId}/move/{direction}/{authToken}1 time

Mobile: 1/min

= 0.01 TPS

0.02 TPS
Get HH listGET /hh/{gameFormat}/{authToken}1 time

Mobile: 9/min

DL: 154/min

= 2.7 TPS

4 TPS
Get HH detailsGET /hh/{gameFormat}/{handId}/{authToken}1 time

Mobile: 32/min

DL: 154/min

= 3 TPS

5 TPS
Send error log to serverPOST /logging/client/{logType}/{authToken}1 time

DL: 1,882/min

= 31 TPS

47 TPS

Calculation API

Action

Endpoint

Frequency

Current peak / estimation

With +50% margin

Get all-in percentages

POST /all-in-percentages

80% holdem

20% omaha

 

33% 5 board cards

33% 4 board cards

23% 3 board cards

11% no board cards

 

1000/min

= 16.5 TPS

25 TPS
  • No labels