Chat Lag Fix
Fixes Minecraft client lag from receiving chat messages (for 1.17 and 1.16)
About this Mod
Fixes Minecraft client lag from receiving chat messages
YOU DO NOT NEED THIS MOD ANYMORE ON 1.18
Mojang has fixed the bug in their API that was causing it to return an error instead of an empty list. Minecraft will fetch the block-list once when joining the world. This mod may still improve world loading times by the time it takes to make that HTTP request; especially if you have a slow internet connection.
This comment by a Mojang employee confirms that the bug was fixed: https://bugs.mojang.com/browse/WEB-5587?focusedCommentId=1134973&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-1134973
This bug still affects 1.17 and 1.16 but only on the first chat message received: https://bugs.mojang.com/browse/MC-218167
Technical Details: When receiving a chat message, Minecraft sends a HTTP request in the render thread to check your player block list. The current frame does not finish rendering until this request has finished, causing a lag spike. This mod lets chat messages through until a block-list can be fetched.
Why is this happening now and not before?: something happened to Mojang's API. When joining a world, the blocklist would usually load fine, but Mojang's API has started returning errors for users who have migrated to Microsoft accounts, causing the block list to be fetched in 2 minute intervals when receiving a message.
A commented walkthrough of why the bug occurs
// A simplified view of the code. private static final long BLOCKLIST_REQUEST_COOLDOWN = 120; private Instant nextRequest; private final blockList Set; // This method is called when receiving a chat message
public boolean isBlockedPlayer(UUID playerID) {
// If we don't have the blocklist yet, fetch it
// Note that when there's an error, fetchBlockList returns null
//
if (this.blockList == null) {
this.blockList = fetchBlockList();
// If we still don't have it, assume the player is not blocked
if (this.blockList == null) {
return false;
}
}
return this.blockList.contains(playerID);
}public Set
fetchBlockList() {
// Only check at least every 2 minutes.
// This is why the lagspike only occurs every 2 minutes or later
if (this.nextRequest == null || Instant.now().isAfter(this.nextRequest)) {
return null;
}
// Reset the 2 minute timer
this.nextRequest = Instant.now().plusSeconds(BLOCKLIST_REQUEST_COOLDOWN);
try {
// Make the HTTP request
BlockListResponse response = minecraftClient.get(routeBlocklist, BlockListResponse.class);
return response.getBlockedProfiles();
} catch (/* exception */) {
// If there's an error return null
return null;
}
}
If you'd like to see the unmodified for yourself, check out com.mojang.authlib.yggdrasil.YggdrasilUserApiService, remember that these methods get called on the render thread, thus blocking the frame from finishing.
GIF demonstration of the bug
Available Versions
How to Install Chat Lag Fix on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set fabric Loader
In the panel under "Egg", select the fabric loader and matching Minecraft version (1.18.1).
Install Mod
Open the mod browser in the dashboard and search for "Chat Lag Fix". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.18.1, 1.18, 1.17.1 (+3 more)
Server-side
✗ UnsupportedRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
Chat Lag Fix server crashes on startup – what to do?
Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.18.1). You can switch loaders with one click in the panel.
Is Chat Lag Fix compatible with fabric?
Chat Lag Fix officially supports fabric for Minecraft 1.18.1, 1.18, 1.17.1. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with Chat Lag Fix – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Chat Lag Fix consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install Chat Lag Fix with just one click on your server.