tebexio / Tebex-Minecraft

The new Tebex plugin for Minecraft, supporting Bukkit, Bungeecord, Velocity, Spigot, and PaperSpigot
https://tebex.io
GNU General Public License v3.0
14 stars 35 forks source link

[All Platforms] Inefficient online player handling causes rate limit (status code 429) #21

Closed KugelblitzNinja closed 7 months ago

KugelblitzNinja commented 8 months ago

Given what there standed error code 429, I am assuming this is more of an API thing then the plugins code its self.

Iv not included error scatcks as they are all a bit diffrent but all steam from api error 429, when ever the plugin tried to use the tebex API.

We only have 8 servers running over 2 Hosts (dedicated and only used by us) so it is a bit strange we are getting connection throttled from time to time.

It maybe worth adding some local chacing of run commands when the plugin is unable to report to the API that they have been ran, it dose not try to re-run them later.

Server Type - git-Purpur-2134 (MC: 1.20.4) Tebex Plugin - 2.0.1

WildBamaBoy commented 8 months ago

Can you enable debug mode and post your server logs after the issue occurs again? Run /tebex debug true, and you'll get more in-depth information in your server logs.

KugelblitzNinja commented 8 months ago

Ok, will that command need to run when ever the server restarts?

It will mostly take a few days for me to get whats needed, as the 429 errors happen for and hour or two evey few days.

KugelblitzNinja commented 8 months ago

Or maybe not (Here comes the strange strange issues)

After running /tebex forcecheck

[16:04:09 INFO]: [Tebex] Performing force check...
[16:04:09 INFO]: [Tebex] [DEBUG] Checking for due players..

Thats it, now i know this server has 50 to 100 + pending commands waiting and when running that command you should see the full list, but nothing happens.

The same thing is happening on all of our server atm.

WildBamaBoy commented 8 months ago

This might be unrelated to the plugin. Can you send us an email at tebex-integrations@overwolf.com? Include your servers' IP addresses if you can. If any other errors or stacktraces appear in the meantime please include those as well, they will be helpful.

KugelblitzNinja commented 8 months ago

Humm, Just noticed some command like /tebex goals stops the servers main thread.

So i end up getting The server has not responded for XXX seconds! Creating thread dump, im assuming that dump will useful sent in the email.

Edit: Also the plugin on all of our servers is no longer processing store purchases, so it fully broken now.

KugelblitzNinja commented 8 months ago

Im now able to recrate this on a test server.

Using Paper-1.20.4-407 and tebex-bukkit-2.0.1 being the only plugin on the server. (Freash Install)

latest.log

Order of commands used