EssentialsX

EssentialsX

2M Downloads

EssentialsX Discord messages are very behind when chat is spammed

ayunami2000 opened this issue ยท 7 comments

commented

Type of bug

Exploit, Other unexpected behaviour

/ess dump all output

Creating server dump... Error while creating dump <html> <head><title>413 Request Entity Too Large</title></head> <body> <center><h1>413 Request Entity Too Large</h1></center> <hr><center>nginx</center> </body> </html>

Error log (if applicable)

No response

Bug description

When someone spams chat (like REALLY spams chat), EssentialsXDiscord lags behind a TON. Like, maybe 5-15 minutes or so behind I'd say. It just slooooowly sends every single spammed chat message until it has gotten through them all. I'd like there to be at least some sort of queue size limit where it doesn't send some messages.

Steps to reproduce

  1. Spam messages, e.g. 10-200 per second or something like that, idk.
  2. Check discord.

Expected behaviour

Discord chat should return to normal immediately upon spam ending.

Actual behaviour

Discord chat proceeds to send each and every single message, no matter how many there are, until it gets through them ALL. And it does this SLOWLY, so that a backlog of messages is formed.

also there is no text box below for the "in the text box below, you can attach any relevant screenshots..."

Also I'm running the latest stable EssentialsX build. Let me know if this behavior has changed on the dev builds!

commented

I am pretty sure this is because of ratelimiting on Discord's side. Essentials cannot really do anything about that besides maybe filtering out Spammed Messages.

commented

I am pretty sure this is because of ratelimiting on Discord's side. Essentials cannot really do anything about that besides maybe filtering out Spammed Messages.

I'd suggest bundling multiple chat messages together in one message from the bot

commented

I am pretty sure this is because of ratelimiting on Discord's side. Essentials cannot really do anything about that besides maybe filtering out Spammed Messages.

I'd suggest bundling multiple chat messages together in one message from the bot

This is why they're behind, the bundler waits for a delay or if it reached the maximum message length before sending them out. We'd probably need to start skipping messages if the queue gets too big

commented

Oh you're talking about chat messages. In that case, messages should probably be batched here too.

commented

I am pretty sure this is because of ratelimiting on Discord's side. Essentials cannot really do anything about that besides maybe filtering out Spammed Messages.

I'd suggest bundling multiple chat messages together in one message from the bot

This is why they're behind, the bundler waits for a delay or if it reached the maximum message length before sending them out. We'd probably need to start skipping messages if the queue gets too big

I've not seen a single message get bundled with another on my server.

commented

I am pretty sure this is because of ratelimiting on Discord's side. Essentials cannot really do anything about that besides maybe filtering out Spammed Messages.

I'd suggest bundling multiple chat messages together in one message from the bot

This is why they're behind, the bundler waits for a delay or if it reached the maximum message length before sending them out. We'd probably need to start skipping messages if the queue gets too big

I've not seen a single message get bundled with another on my server.

Then you're not sending messages fast enough

commented

I am pretty sure this is because of ratelimiting on Discord's side. Essentials cannot really do anything about that besides maybe filtering out Spammed Messages.

I'd suggest bundling multiple chat messages together in one message from the bot

This is why they're behind, the bundler waits for a delay or if it reached the maximum message length before sending them out. We'd probably need to start skipping messages if the queue gets too big

I've not seen a single message get bundled with another on my server.

Then you're not sending messages fast enough

No I mean, I think something's wrong with the code to check when it's too fast and to bundle them in bulk:
image
These were all sent insanely fast (all in this screenshot in less than a second) in-game, but only showed up in the Discord mirror super slowly.