#Rate Limit

1 messages Β· Page 1 of 1 (latest)

void charm
#

I created a leaderboard display system using DeluxeMenus and AJLeaderboards. The menu has 5 different leaderboard categories and each category shows the top 15 players, their names, and their category specific statistics. I noticed this error message in the console quite some time ago, but I didn't look much further into it at the time:

com.mojang.authlib.exceptions.MinecraftClientHttpException: Status: 429
        at com.mojang.authlib.minecraft.client.MinecraftClient.readInputStream(MinecraftClient.java:100) ~[authlib-6.0.54.jar:?]
        at com.mojang.authlib.minecraft.client.MinecraftClient.get(MinecraftClient.java:57) ~[authlib-6.0.54.jar:?]
        at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fetchProfileUncached(YggdrasilMinecraftSessionService.java:201) ~[authlib-6.0.54.jar:?]
        at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fetchProfile(YggdrasilMinecraftSessionService.java:171) ~[authlib-6.0.54.jar:?]
        at com.destroystokyo.paper.profile.PaperMinecraftSessionService.fetchProfile(PaperMinecraftSessionService.java:35) ~[paper-1.21.1.jar:1.21.1-132-b48403b]
        at org.bukkit.craftbukkit.profile.CraftPlayerProfile.getUpdatedProfile(CraftPlayerProfile.java:180) ~[paper-1.21.1.jar:1.21.1-132-b48403b]
        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
        at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]```

-# (The UUID changes each time that I open the menu)
#

I was working on updating the menu today and I noticed that the error message was likely related to the leaderboard system. I did some testing to confirm my suspicion and I can confirm that there is some sort of relation between the menu and the rate limiting. When I open the menu, the error is immediately displayed in the console. I haven't been able to find much information relative to this, but I did do some research. I learned that in order to get rate limited, you must make 600 unique requests within 10 minutes. The server that this is happening on is not a public server and I am the only player online. I talked to the developer of AJLeaderboards and he suggested that this issue was being causing by DeluxeMenus.

Server's Native Version: Paper 1.21.1 (Latest Build)
DeluxeMenus: Latest Dev Build
AJLeaderboards: Latest Build
Server Proxy: Velocity

I am using the player expansion for the heads and I am using the %player_name% placeholder

void charm
void charm
#

I am still encountering this issue

golden citrus
#

@crude ledge you've worked on this before

#

Seems people are getting rate limited when making mojang calls for heads

#

something's fishy here. those calls shouldn't be done in this case bcz it is leaderboards which should be for players that have played before.

#

@void charm can you confirm that the player names you are using to show heads inside the menus are of players that have joined your server before?

void charm
crude ledge
#

can u send the menu config in a paste please

static heronBOT
golden citrus
void charm
crude ledge
#

@void charm this is an extremely weird issue. i can see what the issue is but unsure for the exact root cause... however i can rule out that this not a deluxemenus issue
delete your usercache.json file and see if that helps... fixed it for me

#

@golden citrus, for some reason mojang API gave a bad UUID when getting the PlayerProfile from Bukkit.getOfflinePlayer
Basically whenever ItemMeta is set, it will continue to make requests from API if a skin isnt found within the PlayerProfile
as this was a bad UUID, no skin was ever set - causing the same username to be requested multiple times over

Not sure if uve ever seen anything like this from mojang API??? potentially issue from mojang smile_w

void charm
crude ledge
#

did u delete it while the server was stopped?

void charm
void charm
#

This is after multiple restarts and my usercache.json file only contains the UUIDs of players that have joined the server since I deleted the file

crude ledge
#

can u send the whole latest.log and the usercache file

void charm
crude ledge
#

@void charm can u find 70de5a10-c833-3361-8ee8-6f00f1c7a387 or a857ca10-4ecf-33ad-936c-9c8a78cb882e within world/playerdata folder?

#

i see that this is an offline server now also, just making sure that u also have online-mode set to true on the proxy?

void charm
crude ledge
#

im not too familiar with how bungee handles UUIDs, but my guess is that VotingPlugin has tried to get the UUID of a player, and because they possibly did not exist on the backend server at the time, they were given a false UUID?
seems to be supported by the fact there was a recent update to VotingPlugin - 6.18.5 - please read the changelog of this and try to change the setting accordingly if possible
https://www.spigotmc.org/resources/votingplugin.15358/updates

void charm
golden citrus
crude ledge
#

im like 90% sure this isnt a deluxemenu issue, but is a very weird issue

#

@golden citrus pls merge also :)

void charm
#

I spam opened the menus with this jar installed, but I didn't get rate limited, at the moment, it appears that this jar has fixed the rate limit issue. I haven't been able to spam open the menus without being rate limited since this issue was discovered and I typically get rate limited after opening the menu once or twice.

#

The heads are actually loading the player skins now too πŸ˜„

crude ledge
#

thats interesting

#

seems like my PR fixed something without me even knowing :))

void charm
# crude ledge seems like my PR fixed something without me even knowing :))

I was wrong about the issue being fixed. When I tested the jar that you sent me, I tested it on my dev server which is a replica of my main server with the only difference being that the dev server is not connected to a Velocity proxy.

I guess that was my first time testing this issue on the dev server because I tried using the new jar on the main server and the issue persisted. I then reverted the dev server to a backup that had the old VotingPlugin and old DeluxeMenus jar and the issue still was not occurring, the new jar didn't fix anything, the issue was never occurring on the dev server.

This could mean that the issue is related to online / offline mode and Velocity, because apart from a few small configuration differences, the only major difference between the two servers is the use of a proxy on the main server and the lack there of on the dev server.

crude ledge
#

send the log of ur main server please if possible, with the debugs

crude ledge
void charm
#

I must have misread this line: proxies.velocity.online-mode to the online-mode setting in your velocity.toml in the Velocity set up guide. Either that, or I turned off that setting temporarily for testing and forgot to reenable it. Thank you so much, I've been trying to resolve this issue for months!

crude ledge
#

great