Access
Connect cross-platform accounts & identity management
The AccelByte Leaderboard Service enables you to keep track of players’ scores and ranking in the game by collecting data from the Statistics service such as the number of matches played, the player’s matchmaking rating, and their experience points. The Leaderboard service will use this data to calculate each player’s rank. This service supports multiple leaderboards in one game, including a daily leaderboard for day to day player activities, a weekly leaderboard for a weekly player recap, a monthly leaderboard to record player activities every month, a seasonal leaderboard for seasonal player activities such as holiday events, and also an all-time leaderboard to record and player activities for all time. Each type of leaderboard is explained in greater detail below.
The leaderboard will start from the defined start time. At that time the leaderboard will retrieve the player’s current statistic scores, which will become the initial scores for the all-time leaderboard. If the leaderboard data also includes a daily, weekly, monthly, or seasonal suffix, it will also map to the statistic code.
The leaderboard consumes statistic events to collect a player’s latest score. Then, players' delta score will be added to the existing score in related leaderboards such as daily, weekly, monthly, or seasonal, and the all-time leaderboard score will be replaced with the latest score.
A leaderboard will be reset based on its reset time that was calculated when the leaderboard started or when it is restarted.
When a player levels up or enters a new arena, the game client sends their score data to the Statistics service. There, the character event will be published with additional data, such as the character’s name and skills. On the other end, the Leaderboard service will fetch the character score data from Kafka and save the new score and rank data in its internal database.
A game client call retrieves the leaderboard data from the Leaderboard service. It will return all related leaderboard data, including additional information such as character names and skills.
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 leaderboard in the Admin Portal. For a full list of permissions that impact leaderboards management, see the Leaderboards tab of the permissions reference (opens new window).
Usage | Resource | Action |
List All Leaderboards By Given Namespace | ADMIN:NAMESPACE:{namespace}:LEADERBOARD | Read |
Create New Leaderboard | ADMIN:NAMESPACE:{namespace}:LEADERBOARD | Create |
Get Leaderboard By Leaderboardcode | ADMIN:NAMESPACE:{namespace}:LEADERBOARD | Read |
Get User Ranking | ADMIN:NAMESPACE:{namespace}:LEADERBOARD | Read |
Delete User Ranking | ADMIN:NAMESPACE:{namespace}:LEADERBOARD:USER | Update |
Permissions work slightly differently depending on whether they are assigned to IAM Clients or Roles assigned to users. For more information, read the Authentication and Authorization documentation.
Before you create a leaderboard config, make sure you have created a statistic configuration in the same game namespace. Statistics configs are used to update a player's leaderboard rank.
In the Leaderboard menu of the Admin Portal, click the Create Leaderboard button.
Fill in the required fields.
When you’re done, click the Add button to create your new leaderboard.
The new leaderboard will appear in the Leaderboard List.
In the Leaderboard List of the Admin Portal, choose the leaderboard you want to see ranking data for by clicking on the Action column and selecting View.
In this example, we choose to see the all-time leaderboard rankings. You can view the rankings for all types of leaderboards.
In the AccelByte Admin Portal, go to the Game Management section and open the Leaderboard page.
In the Leaderboard List tab, choose the leaderboard that you want to delete. Then click Delete in the Action menu next to that leaderboard.
The Delete Leaderboard form appears. Select the Take a Snapshot Before Deletion box if you want to archive the first 1000 records of the leaderboard and type DELETE in the available fields.
Click the Delete button to delete the leaderboard.
In the AccelByte Admin Portal, go to the Game Management section and open the Leaderboard page.
On the Leaderboard page, open the Snapshots tab.
In the Snapshot tab, you can see all of the archived leaderboards. To open a leaderboard, click View in the leaderboard’s Action menu.
The archived data appears
Retrieve all player rankings using a specific leaderboard code. The data is presented in descending order.
Get a specific player’s ranking using their User ID and the desired leaderboard code.
Before using the Leaderboard service from the SDK, you will need to initialize your server-side SDK to make you authorized and able to perform create, read, update, and delete actions.
Before using the Leaderboard service from the Golang SDK, you will need to initialize the SDK by following the steps below:
Once completed, you can use the Golang SDK to create, read, update, or delete the Leaderboard (opens new window) service from your serverless app.
Before using the Leaderboard service from the Python SDK, you will need to initialize the SDK by following the steps below:
Once completed, you can use the Python SDK to create, read, update, or delete the Leaderboard (opens new window) service from your serverless app.
Before using the Leaderboard service, you will need to set some permissions. Use the following .NET namespaces:
using AccelByte.Sdk.Api.Leaderboard.Model;
using AccelByte.Sdk.Api.Leaderboard.Operation;
using AccelByte.Sdk.Api.Leaderboard.Wrapper;
Before using the Leaderboard service, you will need to set some permissions. Initialize the LeaderboardConfiguration wrapper from the Leaderboard service using the following code:
LeaderboardConfiguration wLeaderboard = new LeaderboardConfiguration(sdk);
Once completed, you can use the SDK to create, read, update, or delete leaderboards.
Use the following function to create a leaderboard (opens new window):
Use the following function to delete a leaderboard (opens new window):
Use the following function to retrieve a leaderboard (opens new window):
Use the following function to update a leaderboard (opens new window):
← Achievements Rewards →