billy-yoyo / RainbowSixSiege-Python-API

Asynchronous python api for rainbow six siege (r6sapi)
MIT License
130 stars 31 forks source link

Operation Steel Wave might implicitly cause API changes #51

Closed RAYs3T closed 3 years ago

RAYs3T commented 4 years ago

Intro

Today the new TS build should go live with Operation Steel Wave. Normally after 3-4 Weeks of testing this makes it to the live build.

Yesterday in the reveal was shown that the MMR will be globalized, meaning that there is only one MMR rating instead of multiple ones for all the regions.

Quote from the Siege blog

A big change is coming to our Matchmaking Rating system. In order to prevent matchmaking abuses while switching regions, we will be changing to unified MMRs for each playlist. This means that you will not have different MMRs depending on the region you play in. However, your matchmaking ranking will remain separate in different playlists.

Source: https://www.ubisoft.com/en-us/game/rainbow-six/siege/game-info/seasons/steelwave

Implicit changes to the API may be involved

All this could mean that there are upcomming changes for the API. They could be:

  1. Remove the region function entirely and collect all data in one common pool.
  2. Only merge the MMR via a new endpoint? So it is no longer available with the old requests.
  3. Or copy / sync the MMR across all the regions.

My guess would be that they are going for option 3, since it is properly the easiest to implement. This would also mean that there are no real changes required for this project (if they keep it like it is)

So if anyone knows a dev or has a direct channel maybe we could get some infomation about that... :)

Also are there API endpoints for the TS avaiable where we could validate this claim?

billy-yoyo commented 4 years ago

Thanks for making this issue, wasn't aware of this!

I've never looked in to the existence of TS API endpoints so can't confirm anything. This isn't the first time the ranked data has changed, last time they did the ranked rework (changed the ranks & stuff) they just updated the data for seasons moving fowards (logically).

The region function will still be required for backwards compatability of previous seasons, so I won't be ripping it out. If I had to guess, I'd imagine the region query parameter for the endpoint would just not do anything for requests sent for future seasons. If this is the case, all that'll need to change within the library will be making the region optional for seasons >= the current one, and if no region is given simply omitting the query parameter.

I don't have any devs nor do I have a channel to them unfortunately - sometimes it'd be helpful if I did though haha. We'll just have to wait and see how the API changes :)

RAYs3T commented 4 years ago

If i have some more time next week i'll dig around a little bit with the unofficial endpoints. Maybe there is one for the test servers. If i find anything i'll let you know and contribute it.. :)

RAYs3T commented 4 years ago

@billy-yoyo Good news so far - they sync the data across regions. So there is no change required.

But it seems like there a no entries created for season start / reset which means the player has still the old data until he played one match. Before this was reset right after begin of the season. If you query now for an account that has not played any ranked game this season. You get details from the last season. But once he played a game, everything is fine.

billy-yoyo commented 3 years ago

Going to start working towards getting the library up to date with the API again, but will track the progress in other tickets so will close this issue.