-
Type: New Feature
-
Resolution: Fixed
-
Priority: Minor
-
None
-
Affects Version/s: None
-
None
-
1.1 -> 1.21
-
Yes
In 2012 Dinnerbone introduced the plugin message system in Bukkit, which includes a validation method for outgoing messages that checks their length against a seemingly arbitrary value of 32 kB. This limit has since been left alone and is inherited by all other major implementations that use Bukkit, including Spigot.
Dinnerbone wrote a blog post about this system where he mentions the limit and proposes that developers split their data across multiple messages if the limit is an issue.
This initially appears like a good idea to perhaps prevent a plugin from blocking the connection for too long by sending massive amounts of data, however as far as I can tell this actually has to technical benefit, and only serves to complicate the logic on both the sending and receiving side in order to reassemble the data, since rapid-firing multiple messages from the same thread still ends up blocking the connection as if they were a single big message.
Other popular systems such as Fabric and Forge have no such limit in place, and it is not enforced in the vanilla client either. It is only present in Bukkit.
I propose that this limit is either removed or at the very least made configurable.