Client
.NET/Unity C++/Unreal/Cocos2d-x JavaScript/Cocos2d-js Godot 3 Godot 4 Java/Android Defold cURL REST Swift Dart/Flutter
Server
TypeScript Go Lua
Leaderboards The Leaderboards system manages competitive player rankings based on scores. Learn more in the Leaderboards concept guide .
The methods below require Hiro 1.33 or later. If you are on an earlier version, see
Hiro 1.32 and earlier .
Overview
# The Leaderboards system enables your game to:
Retrieve defined leaderboards. Track and display player rankings. Before you start
# Make sure you have:
Python project configured with Hiro SDK. Nakama system integrated (guide ). Working with leaderboards
# Get all leaderboards
# List all available leaderboards.
1
2
3
4
request = LeaderboardListRequest ()
leaderboard_list = await hiro_client . leaderboard_list ( session , request )
print ( leaderboard_list )
Filter by category:
1
2
3
4
5
request = LeaderboardListRequest ()
request . categories = [ "Tournament" ]
leaderboard_list = await hiro_client . leaderboard_list ( session , request )
print ( leaderboard_list )
Get a leaderboard
# Get a specified leaderboard by ID.
1
2
3
4
5
request = LeaderboardGet ()
request . id = "GalacticChampions"
leaderboard = await hiro_client . leaderboard_get ( session , request )
print ( leaderboard )
Submit a score
# Submit a score to a leaderboard.
1
2
3
4
5
6
7
request = LeaderboardUpdate ()
request . id = "GalacticChampions"
request . set_score_numeric ( 1500 )
request . set_subscore_numeric ( 0 )
leaderboard_score = await hiro_client . leaderboard_update ( session , request )
print ( leaderboard_score )
List scores
# List scores on a leaderboard. Pass owner_ids to retrieve scores for specific owners.
1
2
3
4
5
6
7
request = LeaderboardScoresListRequest ()
request . id = "GalacticChampions"
request . owner_ids = [ "userId1" , "userId2" ]
request . limit = 100
score_list = await hiro_client . leaderboard_scores_list ( session , request )
print ( score_list )
Filter by region:
1
2
3
4
5
6
7
request = LeaderboardScoresListRequest ()
request . id = "GalacticChampions"
request . region = "EU"
request . limit = 100
score_list = await hiro_client . leaderboard_scores_list ( session , request )
print ( score_list )
List scores around owner
# List scores centred around a specific owner.
1
2
3
4
5
6
7
request = LeaderboardScoresListAroundOwnerRequest ()
request . id = "GalacticChampions"
request . owner_id = session . user_id
request . limit = 10
score_list = await hiro_client . leaderboard_scores_list_around_owner ( session , request )
print ( score_list )
Hiro 1.32 and earlier
# Prior to Hiro 1.33, leaderboards_config_get was the only way to retrieve available leaderboards, returning a LeaderboardConfigList with basic configuration data. This method is deprecated in Hiro 1.33 and later. Use leaderboard_list instead.
1
2
leaderboard_config_list = await hiro_client . leaderboards_config_get ( session )
print ( leaderboard_config_list )