ProtocolLib

3M Downloads

clients sending 16k packets per second

MrMcyeet opened this issue ยท 0 comments

commented

Describe the bug
A clear and concise description of what the bug is.

Alrighty, I have spend WAY more time tracking this one down than I really care to admit, but here we are.

I use an anticheat plugin called Vulcan 
`( https://www.spigotmc.org/resources/vulcan-advanced-cheat-detection-1-7-1-16-4.83626 )` 
Which uses PacketEvents `( https://github.com/retrooper/packetevents )` and the 
server is running Tuinity `( https://github.com/Spottedleaf/Tuinity )`. 
The error/bug comes in in the latest release of Vulcan, players were getting kicked for sending too many packets. 
Tuinity has PacketLimiter `( https://www.spigotmc.org/resources/packet-limiter.70217/ )` built in, which is 
defaulted to kick players at 500 pps `(packets per second)`. After much testing, Ive figured out that with 
Vulcan, and another plugin that uses protocollib enabled
`(previously i thought that Holographic displays was the culprit, but i have since discovered that it was protocollib)`, 
that players pps seems to climb for seemingly no reason 
`( Ive gathered a youtube clip of this taking place here 
--> https://www.youtube.com/watch?v=hNjgYGIp_Mk The plugin im using to load and unload plugins 
does not effect this, ive just installed it for convenience, this was happening before installing it. )`
But after disabling HolographicDisplays the players pps drops to expected levels `( 25-50ish )

This was ripped from a bug report that wrote on Holographic displays github, with a few alterations. but every thing i put there applies to protocollib. Here is a link to the report i put on holographicdisplays github --> filoghost/HolographicDisplays#363

Players pps was measured with ViaVersion's /pps command.

The developer of Vulcan said that nothing that was changed, other than PacketEvents, would have anything even remotely close to causing this. The developer of Packet events suggest to try contacting the devs of protocollib.

To Reproduce
Steps to reproduce the behavior:

  1. Install vulcan on a Tuinity server (turn the packet limiter to -1 in the tuinity.yml)
  2. Install protocollib on same server
  3. Install any plugin that uses protocollib (i used HolographicDisplays)
  4. Punch another player a bunch
  5. Use a chatspammer to do /viaver pps (via version is NOT needed to reproduce, only to measure the packets per second. The chat spammer is not required, it just makes it a bit easier.)
  6. see the player start sending more and more pps (i can get it to 12-14k with frequent spikes to 16k pps)

Expected behavior
A clear and concise description of what you expected to happen.
The client to have 5-75pps. not 16k

Screenshots
If applicable, add screenshots to help explain your problem.
https://youtu.be/Fm67ng68jlM

Version Info
Provide your ProtocolLib install info with /protocol dump through pastebin.
https://pastebin.com/UG1P0rZv

Additional context
Add any other context about the problem here.
I am using a hacked client for this. I can confirm that with the vanilla client, this issue persists.
I am using a plugin that can enable and disable plugins without a server restart. I can confirm that this issue persists without it.
Im just using these two things to speed up the process. The hacked client for the chat spammer and pluginmanager to not need to restart the server
Im aware that the title says 16k pps, when I measured 16k pps, the server had been running for a few hours. so its not hard to see that the number would just keep climbing. The clip i put in the screenshot section got to 4k in a few minutes.