Skip to main content

Session Browser

Last updated on

Overview

AccelByte Cloud's Session Browser is used to store your game session data. This browser supports P2P sessions to store game clients and a Dedicated Server to store game server sessions. Both P2P and Dedicated Server sessions use REST API for the game client and server.

P2P

P2P sessions are generated by a game client and act as a session host. P2P entries contain game client session data which are stored in the session browser. When the lobby is disconnected, the P2P entries are removed from the server. If the lobby connection is reconnected by the host, past P2P entries will not be listed in the server browser and must be recreated in the session browser.

Dedicated Server (DS)

A Dedicated Server session is a session generated by the server that is managed by Armada.

  • If the server is managed by Armada, the Session browser will listen to events broadcast from our Dedicated Server Manager Controller (DSMC) and Matchmaking service. The game's Dedicated Server (DS) only needs to interact with those services, and so the data in the session browser is automatically updated.
  • If the server is not managed by Armada, we provide REST APIs in our SDK so the DS session can also be managed via the session browser, even if the DS is not managed with Armada.

Permissions

Permissions are used to grant access to specific resources within our services. Make sure your account has the following permissions before you attempt to manage the Session Browser.

UsageResourceAction
Create SessionNAMESPACE:{namespace}:SESSIONBROWSER:SESSIONCreate
Retrieve List of Game SessionsADMIN:NAMESPACE:{namespace}:SESSIONBROWSER:SESSIONRead
Retrieve Game Session by Session IDADMIN:NAMESPACE:{namespace}:SESSIONBROWSER:SESSIONRead
Update SessionNAMESPACE:{namespace}:SESSIONBROWSER:SESSIONUpdate
Delete SessionNAMESPACE:{namespace}:SESSIONBROWSER:SESSIONDelete
Join SessionNAMESPACE:{namespace}:SESSIONBROWSER:SESSIONRead
Register Player to SessionNAMESPACE:{namespace}:SESSIONBROWSER:SESSIONUpdate
Unregister Player to SessionNAMESPACE:{namespace}:SESSIONBROWSER:SESSIONUpdate
Get Recent Player DataNAMESPACE:{namespace}:SESSIONBROWSER:RECENTPLAYERRead

Permissions work slightly differently depending on whether they are assigned to IAM Clients or on Roles assigned to users. For more information, see AccelByte's Authentication and Authorization documentation.

Prerequisites

  • Make sure you've downloaded and configured AccelByte Cloud's Unreal Engine SDK.
  • Log in as a user in Game Client if you want to implement a session browser in the game client.
  • Log in with game client credentials if you want to implement a session browser in the game server.

Call the Session Browser

Game Client

You can call the session browser from the Game Client using the following function:

FApiClientPtr ApiClient { FMultiRegistry::GetApiClient() };
ApiClient->SessionBrowser

Game Server (Dedicated Server)

You can call the session browser from the Dedicated Server using the following function:

FServerApiClientPtr ServerApiClient{ FMultiRegistry::GetServerApiClient() };

ServerApiClient->ServerSessionBrowser