Latest Recommended Forge 1.20.1 - v2.1.1b01
Curse Maven Snippet
What's new
Changelog — ServerManagement+ v2.1.1-b1 (Minecraft 1.20.1)
Release Date: Jul 16, 2026
Latest Changes: Jul 16, 2026
Minecraft: 1.20.1 | Forge: 47.4.0 | Fabric: 0.92.8+1.20.1 (loader 0.19.2) | Branch: mc/1.20.1
Overview
v2.1.1-b1 introduces a completely overhauled, bifurcated updater architecture. It brings independent dual-query support for Modrinth and CurseForge, an intelligent server-side smart start script generator, and strips out the obsolete legacy OTA networking framework to provide a cleaner, more robust update experience.
Key Features & Improvements
Updater Architecture Overhaul
- ⚠️ Important Notice: This specific update (v2.1.1-b1) must be downloaded and installed manually on both the server and the client one last time. Once this version is installed, the new automatic updater will take over seamlessly for all future releases.
- Dual-Query Support: The updater now queries both Modrinth and CurseForge independently for updates.
- Standalone Handoff: Extracts and runs a standalone
updater.jarthat can safely overwrite the mod file while the server is offline. - Graceful Shutdown: The server gracefully shuts down prior to applying updates, ensuring world data is safely saved and standard ports are freed.
- Smart Build Number Comparison: The updater's version comparison logic now accurately handles build numbers (e.g.,
2.1.0-b1vs2.1.0-b2) for more granular patch detection. - Update Check Logic Fix: Updated the hardcoded base version string across the updater logic (e.g., in
CheckForUpdatesPacketandServerUpdateScheduler) from"2.0.0"to"2.1.1-b01", fixing false-positive update notifications when admins manually clicked "Check for Updates" or upon joining the server.
Smart Start Integration
- Script Generator: A new
StartScriptGeneratorscans the server root for existing launch scripts (.bat/.sh) and intelligently injects the-Dservermanagement.smartstart=trueflag. - Auto-Override & Fallbacks: Admins can now opt to automatically override their existing run scripts (safely backing up the originals as
.bak). If no override is chosen, standalonesmart_start.bat/.shfallbacks are generated. - Self-Cleaning System (
cleanupIfNeeded): The generator was optimized to cleanly bypass startup generation if manual scripts are present. If the mod detects that the smart-start flag is successfully integrated into the mainrun.bat/run.sh, it will automatically clean up the redundantsmart_startfallback files from the server root. - Flag Management:
update_in_progress.flagandupdate_finished.flagare dynamically created to handle the update loop and are aggressively cleaned up during server startup to prevent false update loops after manual overrides.
Legacy OTA Cleanup
- Removed Obsolete Architecture: The
com.servermanagement.otapackages (includingPlayerJoinListener,CurseForgeUpdateChecker,OTAVersion) have been completely deleted from both Forge and Fabric. - Network De-clutter: Deleted the
ModFileTransferManagerand its corresponding packets (VersionCheckPacket,ModFileRequestPacket,ModFileChunkPacket,ModFileCompletePacket). - Config Cleanup: The server automatically deletes any leftover
curseforge.propertiesfile from previous installations to prevent console warnings on startup. - Log Polish: Replaced the global
Constants.LOGwith a dedicatedServerManagementUpdaterlogger so updater checks properly log as[ServerManagementUpdater/INFO].
General Tweaks & Bug Fixes
- Handshake Parity Fix:
- Enforced strict client-side mod requirement during network handshakes (Fabric). Vanilla clients or clients missing the mod are now gracefully rejected with a helpful disconnect message (
§cThis server requires the ServerManagement+ mod to be installed on your client!), preventing server-side errors and breaking functionality. - Fixed a subsequent issue where valid Fabric clients were also being rejected by switching the handshake validation from the Forge-specific
mainchannel to the cross-loaderSyncSessionTokenPacket.ID.
- Enforced strict client-side mod requirement during network handshakes (Fabric). Vanilla clients or clients missing the mod are now gracefully rejected with a helpful disconnect message (
- Updater GUI Polish & Fixes:
- Fixed
UpdaterScreenandPerformanceSettingsScreengoing off-screen upon window resizing. This was caused by overridingScreen.rebuildWidgets()in 1.20.1 without a super call, which bypassed the standard GUI initialization and scaling update matrix. Now properly usesrefreshWidgets(). - Fixed update screen layouts (
UpdateAvailableScreenandOTAUpdateScreen) going off-screen on narrow window sizes by implementing responsive vertical stacking and dynamic text width constraints. - Added a visual
Checking for updates...loading animation inUpdaterScreenutilizing the new container tick loop, and ensured the GUI automatically sends a check packet when opened empty. - Chat Formatting Fix: The
ServerManagement Dashboardwelcome notification in chat no longer wraps text aggressively on standard 320px chat widths (formatting dividers reduced from 39 to 30 characters).
- Fixed
- Background Blur Shader Fix: Resolved custom GUI background blur shader black rendering issues on modern GPU drivers by pivoting to GLSL 1.50 (
#version 150) under theservermanagementnamespace. - Network Architecture Refactor (Fabric): Rewrote Fabric networking for 1.20.1 using the legacy
ServerPlayNetworking/ClientPlayNetworkingAPI, establishing uniformIPacketregistries to mirror the Forge implementation. - Build & Artifact Fixes:
- Cleaned up Gradle cache file locks and eliminated duplicate project compilation definitions in
settings.gradle. - Mod version output double 'b' (
2.1.1-bb01) in JAR outputs and logs has been normalized againstmultiloader-common.gradle. - Fixed broken em-dash formatting (
—) on the Forge mods screen by stripping special characters ingradle.properties.
- Cleaned up Gradle cache file locks and eliminated duplicate project compilation definitions in
- Repository & Documentation Cleanup:
- Removed obsolete
build-full.txtoutput log from the repository and explicitly untrackeddescription.mdfrom version control. - Added a comprehensive "How the Updater Works" section to
README.mdanddescription.mdfor full transparency with manual reviewers. - Provided explicit instructions for code reviewers on how to safely simulate an outdated mod and test the updater architecture using a cloned workspace.
- Removed obsolete
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

