
Offline Mode Fix
A Fabric mod that fixes chat lag spikes and UI warnings on offline-mode Minecraft servers
Обновлён 12 апреля 2026 г. · опубликован 3 апреля 2026 г.
Offline Mode Fix
A lightweight, plug-and-play Fabric mod that fixes the random chat lag spikes, annoying UI warnings, and texture loading crashes when playing on offline-mode Minecraft servers.
Features
- Zero Chat Lag: Prevents the random network timeout lag spikes that trigger after periods of inactive chat on offline servers.
- Clean UI: Removes the ugly red/gray "Not Secure" sidebars from player messages, restoring the classic chat look.
- Player Head: Restores player head in Player Tab for offline server.
- No Annoying Toasts: Hides the "Unverified Server" popup that appears every time you join the world.
- No Texture Crashes: Stops the log spam and client crashes caused by strict signature validation on custom offline skins.
- Smart Premium Compatibility: Automatically detects if you are using a premium account and lets vanilla checks run normally. You can safely leave this mod installed when playing on premium servers like Hypixel.
Installation
- Install the Fabric Loader: https://fabricmc.net/
- Download the correct
.jarfor your Minecraft version from the releases page. - Drop the
.jarinto your.minecraft/modsfolder.
Building from Source
This project uses Stonecutter to seamlessly support multiple Minecraft versions from a single unified codebase. You will need Java 21+ and Git installed on your system.
Clone the repository:
git clone https://github.com/louiszn/offline-mode-fix cd offline-mode-fixBuild the project using the Gradle wrapper. To compile all supported Minecraft versions at once, run:
Windows:
gradlew buildAndCollectLinux / macOS:
./gradlew buildAndCollect
Once the build process finishes, you will find the compiled
.jarfiles for every version cleanly organized in the/versions/xxx/build/libs/directory.
IDE Setup for Development (IntelliJ IDEA)
Because Stonecutter relies on dynamic comments to switch code between mapping versions:
- Install the Stonecutter Dev plugin by KikuGie from the IntelliJ Plugins Marketplace for proper syntax highlighting and error resolution.
- Open the Gradle tab, navigate to
Tasks -> stonecutter, and double-clickSet active project to xxxto swap your active workspace to a specific Minecraft update (e.g.,1.21.11).
How it works (Technical)
Offline-mode servers suffer from several distinct client-side issues introduced in different Minecraft updates:
- 1.16.4 (The Social Manager): Minecraft checks every incoming message against the
PlayerSocialManagerblocklist. In offline mode, looking up unauthenticated Version 3 UUIDs causes unnecessary synchronous network requests and processing delays. - 1.19+ (Chat Signing): Minecraft attempts to fetch and refresh cryptographic public keys from Mojang's API to verify chat signatures. On offline servers, these background refreshes fail, causing random lag spikes (often triggering after ~30 seconds of inactive chat) and forcing the game to flag all messages as "unsecure" (UI warnings).
- 1.20.2 (Authlib Strict Validation): The game enforces strict Base64 signature validation for player textures (skins/capes). Dummy signatures provided by offline skin plugins (like
BUILDER_APPALLED_PUMPKIN) instantly triggerIllegalArgumentExceptionlog spam and texture loading failures.
This mod uses surgical Mixins to:
- Detect offline (Version 3) UUIDs to instantly bypass the
isBlockedandisTextFilteringEnablednetwork checks. - Intercept the chat GUI renderer to hide the "Not Secure" tag.
- Block the specific "Unverified Server" toast from being added to the screen via the
ToastManager/ToastComponent. - Bypass
YggdrasilServicesKeyInfostrict Base64 property validation if a dummy signature is detected.
Contributing
Contributions are always welcome. If you have an idea for an improvement or find a bug, please open an issue first to discuss what you would like to change. Pull requests are greatly appreciated.
Версии
| Версия | Канал | Игра | Загрузчики | Дата | Скачать |
|---|---|---|---|---|---|
| 1.0.0+26.1.2 | Релиз | 26.1, 26.1.1, 26.1.2 | fabric | 12 апреля 2026 г. | .jar (15 КБ) |
| 1.0.0+26.1.1 | Релиз | 26.1, 26.1.1 | fabric | 3 апреля 2026 г. | .jar (15 КБ) |
| 1.0.0+1.21.11 | Релиз | 1.21.11 | fabric | 3 апреля 2026 г. | .jar (16 КБ) |
| 1.0.0+1.21.10 | Релиз | 1.21.7, 1.21.8, 1.21.9, 1.21.10 | fabric | 3 апреля 2026 г. | .jar (16 КБ) |
| 1.0.0+1.21.1 | Релиз | 1.21, 1.21.1 | fabric | 3 апреля 2026 г. | .jar (16 КБ) |
| 1.0.0+1.20.6 | Релиз | 1.20.3, 1.20.4, 1.20.5, 1.20.6 | fabric | 3 апреля 2026 г. | .jar (16 КБ) |
| 0.1.0+26.1 | Релиз | 26.1, 26.1.1 | fabric | 3 апреля 2026 г. | .jar (15 КБ) |
| 0.1.0+1.21.11 | Релиз | 1.21.11 | fabric | 3 апреля 2026 г. | .jar (15 КБ) |
| 0.1.0+1.21.10 | Релиз | 1.21.7, 1.21.8, 1.21.9, 1.21.10 | fabric | 3 апреля 2026 г. | .jar (15 КБ) |
| 0.1.0+1.21.1 | Релиз | 1.21, 1.21.1 | fabric | 3 апреля 2026 г. | .jar (15 КБ) |
| 0.1.0+1.20.6 | Релиз | 1.20.3, 1.20.4, 1.20.5, 1.20.6 | fabric | 3 апреля 2026 г. | .jar (15 КБ) |
Ченджлог
1.0.0+26.1.1Релиз26.1, 26.1.1 · 3 апреля 2026 г.
See GitHub releases for changelog.
1.0.0+1.21.11Релиз1.21.11 · 3 апреля 2026 г.
See GitHub releases for changelog.
1.0.0+1.21.10Релиз1.21.8, 1.21.9, 1.21.10 · 3 апреля 2026 г.
See GitHub releases for changelog.
1.0.0+1.21.1Релиз1.21, 1.21.1 · 3 апреля 2026 г.
See GitHub releases for changelog.
1.0.0+1.20.6Релиз1.20.4, 1.20.5, 1.20.6 · 3 апреля 2026 г.
See GitHub releases for changelog.
Полная история изменений — на Modrinth.
Комментарии
Загружаем…