- Source Code
- https://github.com/NoahvdAa/NoChatLagServer
- Minecraft Versions
- 1.17, 1.18
- Compatible Java Versions
- 16 and up
A couple of days ago, something changed in Mojang's blocked users API, causing the client to not properly load the list of blocked users on start. Because of this, the client will attempt to fetch the blocklist every two minutes when the chat is being rendered. This loading is done on the same thread as the rendering, causing the game to freeze until Mojang's API returns a response. Since the requests takes a while to complete, this will cause a noticeable lag spike.
NoChatLagServer fixes this bug by setting the sender-uuid to that of the server for every chat message. Since messages sent by the server itself bypass the block check, this will prevent the lag spikes from happening, with the side effect of completely breaking the blocking system. After removing the sender UUID, the client will still attempt to parse the username when using the standard chat format (<sender> message). The config option invisibleNameCharacter exists to combat this. It'll add an extremely small character in front of the player's username, causing the client parsing to not find any players. This may have the side effect of breaking bots and mods attempting to find the author of a message by parsing chat. This option will do nothing if you're not using the default chat format.
If you don't want the block list broken, check out my client-side fabric mod, NoChatLag.
Requires ProtocolLib
This issue is being tracked in Mojira issue WEB-5587.
NoChatLagServer fixes this bug by setting the sender-uuid to that of the server for every chat message. Since messages sent by the server itself bypass the block check, this will prevent the lag spikes from happening, with the side effect of completely breaking the blocking system. After removing the sender UUID, the client will still attempt to parse the username when using the standard chat format (<sender> message). The config option invisibleNameCharacter exists to combat this. It'll add an extremely small character in front of the player's username, causing the client parsing to not find any players. This may have the side effect of breaking bots and mods attempting to find the author of a message by parsing chat. This option will do nothing if you're not using the default chat format.
If you don't want the block list broken, check out my client-side fabric mod, NoChatLag.
Requires ProtocolLib
This issue is being tracked in Mojira issue WEB-5587.
Last edited: