Reproduction Steps
While using UserService:GetUserInfosByUserIdsAsync in my game, I am often getting the error Request failed because HTTP 429 only in RCC ( not in Studio )
This is happening because I am using the API often ( with 125-150 Players on each RCC ) and my guess is when many of my RCC instances are residing on the same server/IP address, the specific IP address and all RCC’s hosted on that IP address can get a HTTP 429 response with all the hits to that API.
Example: Worst-case scenario, 150 players joining a server at once → each player needs DisplayName data on their friends + additional players ( My game has a separate friends-list, so I can’t rely fully on Players:GetFriendsAsync for this data ) → RCC takes several minutes to retry API every time flood-limit is hit.
Expected Behavior
While using UserService:GetUserInfosByUserIdsAsync in my game, I should be hitting the flood-limit way less.
Actual Behavior
I see this in many servers I join
Workaround
Flood-limits are normal, and I usually will try to make the limits work in my code, but I think this API has way too strict of a flood limit that it makes it impossible to use for my use-case.
I have already tried queueing requests for the API, making sure the API is only being run once on each RCC at a time, and I am still hitting the strict flood-limits. ( Also the documentation does not clearly state how many UserIds you can feed the API or mention anything about the flood limit )
I’ve tried batching the requests into small/larger chunks, and making sure the API is only run one-at-a-time on the RCC but it doesn’t make the situation better.
Issue Area: Engine
Issue Type: Performance
Impact: Moderate
Frequency: Constantly
Date Last Experienced: 2021-11-19 00:11:00 (-08:00)