RiotGames / developer-relations

Riot Games Developer Ecosystem Bug Reporting
http://developer.riotgames.com
747 stars 44 forks source link

[BUG][FEATURE REQUEST]: gameStartMillis is not accurate ```/val/match/v1/matches/{matchId}``` #775

Open lodravenn opened 1 year ago

lodravenn commented 1 year ago

Bug Description Currently, there are issues with gameStartMillis in the /val/match/v1/matches/{matchId} endpoint of the Valorant API. The provided gameStartMillis timestamp corresponds to when the Match Found screen appears, which is not the actual start time of the game. There seems to be no way to retrieve the accurate start time of the game when it actually begins. In contrast, the League of Legends Timeline API provides the first index timestamp, which indicates the exact start time of the game at 00:00. It would be beneficial for the Valorant API to include a similar feature in the match.kills data.

Steps to Reproduce:

Make a request to the "/val/match/v1/matches/{matchId}" endpoint of the Valorant API.
Retrieve the "gameStartMillis" value from the response.
Compare the "gameStartMillis" timestamp with the actual start time of the game.

Expected Behavior: The current gameStartMillis timestamp should be renamed to matchFoundStartMillis. A new variable, inGameStartMillis, should be introduced in the response to hold the timestamp of when the game actually starts.

Actual Behavior: The gameStartMillis timestamp in the Valorant API corresponds to when the Match Found screen appears, which is not the actual start time of the game. There is no variable available that represents the actual start time of the game.

Additional Information: It would greatly improve the usability of the Valorant API if the actual start time of the game could be obtained through the API. This information is crucial for various purposes, such as analyzing game data accurately, calculating game durations, and synchronizing events with the game timeline. Including a timestamp that represents the exact start time of the game, similar to the first index timestamp in the League of Legends timeline API, would be highly beneficial for developers utilizing the Valorant API.

lodravenn commented 1 year ago

example match.matchInfo data


    "matchId": "aec8a794-fc39-438b-b062-dbf8abc4f1f4",
    "mapId": "/Game/Maps/Duality/Duality",
    "gamePodId": "aresriot.aws-euw2-prod.eu-gp-london-1",
    "gameLoopZone": "aresriot.aws-euc1-prod.eu-glz-eu-1",
    "gameServerAddress": "",
    "gameVersion": "release-06.10-shipping-9-885592",
    "gameLengthMillis": 2651698,
    "gameStartMillis": 1685281517068,                // timestamp of Match Found screen appears
    "provisioningFlowID": "Matchmaking",
    "isCompleted": true,
    "customGameName": "",
    "forcePostProcessing": false,
    "queueID": "competitive",
    "gameMode": "/Game/GameModes/Bomb/BombGameMode.BombGameMode_C",
    "isRanked": true,
    "isMatchSampled": false,
    "seasonId": "2de5423b-4aad-02ad-8d9b-c0a931958861",
    "completionState": "Completed",
    "platformType": "PC",
    "premierMatchInfo": {},
    "partyRRPenalties": {
        "374fb668-158b-45da-8f7a-b8c0eaf5fc73": 0,
        "43e74475-8618-4510-9d93-a3d0c98cca73": 0,
        "4e134395-edfd-4985-81d6-d3bbdabf210a": 0,
        "54ff4c85-e20c-4406-804f-83f13a19fc3f": 0,
        "5d72ce8d-4ab9-46c8-a0d4-f04618253fe1": 0,
        "6a743a57-ff1b-420c-81e1-ff05ddd9467a": 0,
        "e9da6c6d-9977-46bd-99d3-14f15cddbf6d": 0,
        "f0a37dc9-ed7e-4ca3-8fc5-6f491c0e1642": 0
    },
    "shouldMatchDisablePenalties": false
}
bangingheads commented 1 year ago

Same issue as #771

JoshuaBohn commented 1 year ago

Quick Work around, you can work off round time for the first round object in the match details

lodravenn commented 1 year ago

Quick Work around, you can work off round time for the first round object in the match details

the roundTime is the number of milisec from when the buy phase end, ex: 4000 // mean 4 sec from when buy phase ended. You can't calculate the game start time based on that alone. You also need to consider how long the loading screen takes.

naot97 commented 1 year ago

the game start of "timeSinceGameStartMillis" is just around in loading screen time, not exactly. So we don't know duration of hero selection and loading screen takes.

lodravenn commented 1 year ago

all riot has to do is to add 1 more property in their api, how hard can it be?

naot97 commented 1 year ago

all riot has to do is to add 1 more property in their api, how hard can it be?

maybe it's just a bug, hope they will update in v2

Token07 commented 1 year ago

all riot has to do is to add 1 more property in their api, how hard can it be?

Unfortunately, it's not that simple. Even seemingly minor changes have an approval process to go through that can involve numerous internal teams.

lodravenn commented 1 year ago

has any Rioter read this?