[Dota 2] Add player ranks to roster -> player

Related Games:
Dota 2
Related app/team name (not a must if you want to keep it private):
DotaPlus

  • Feature Description:
    Add the player’s rank to the roster → player event.
  • impact for my app: [low, mid, high, show-stopper].
    High - it will allow me to add a very impactful new feature.
  • What is your current pain point?
    I lack this data to be able to offer a big new feature to the users
  • What do you have in mind to solve it?
    Dota ranks are represented by a tier and an optional leaderboard rank.
    The tier is one of the following numbers
    11-15
    21-25

    71-75
    80

If the tier is 80, it means there may or may not be an additional leaderboard, which is just an additional number.

This is how the ranks are implemented in the game code.

So, a Herald 2 will be 12 (Herald = 10, 2 stars = 2, hence 12)
Legend 5 will be 55
Divine 1 will be 71
Immortal without a leaderboard rank will be 80
Immortal with a leaderboard rank will be 80, [any number between 1 and about 5000]

So the roster event will have 1 new property called rank, with the following type:

{ tier: number, leaderboardRank?: number }

So the ranks I mentioned previously will look like this:
Herald 2 rank: { tier: 12 }
Legend 5 rank: { tier: 55 }
Divine 1 rank: { tier: 71 }
Immortal without a leaderboard rank rank: { tier: 80 }
Immortal with a leaderboard rank rank: { tier: 80, leaderboardRank: 375 }

This new rank property will reside inside the roster → player object, alongside the player’s name, role, hero etc

Hi!
Thank you for the detailed request!
We will take a look into this and keep you updated about the progress of this.

As you also posted this on the dev discord forum, while we’ll try to keep the thread here updated as well, we will mainly be updating progress over there. See you over there!