
ServerManagement+
ServerManagement+ gives you simple access to a complete Economy System and need QOL features for Admins that will elevate your Gameplay Experience
Оцените первым
436
2
ServerManagement+ v2.1.2-b1 for Forge 1.20.1
Beta09.09.2026
Список изменений
ServerManagement+ v2.1.2 (Minecraft 1.20.1)
This update backports critical bug fixes and configuration improvements from the 1.21.1 branches to the 1.20.1 release, while intentionally omitting the major UI/Networking rewrites (Multi-Item Rewards) to preserve 1.20.1 GUI stability.
Features & Improvements
- Configuration Consolidation: Consolidated Economy settings (
Starting Balance,MineBay Enabled,MineStacks Enabled,Max Listings,Trade Blacklist, etc.) intoserverconfig/servermanagement-server.tomlfor standard runtime parity with modern branches.
Economy Rebalancing (Phase 1 — Goldrush Backport)
- Inflation Floor Fix (
MarketPricingEngine): ChangedMIN_INFLATIONfrom0.1to1.0. Anchor prices now represent absolute intrinsic value floors — inflation only scales prices up when the economy grows, never crushes them below baseline. - Supply Factor Softening (
ItemSupplyDemandTracker,ClientMarketData): Replaced aggressive1/(1+log10)supply curve with gentle1/(1+0.15*ln)natural log curve. At 5000 supply (10x baseline), items now only lose ~26% value instead of ~55%. Scarcity bonus reduced from 1.2/20% to 1.1/10%. - Comprehensive Anchor Prices (
ItemValuation): Expanded from ~30 to ~140 hardcoded anchor prices. Added raw ores (gold, iron, copper, diamond, emerald, ancient debris), building blocks (stone, cobblestone, granite, diorite, andesite, deepslate, tuff), bricks, sandstone variants, prismarine, nether materials, quartz variants, copper oxidation variants, and rare unobtainables (dragon breath, heart of the sea, trident, conduit, shulker shell, echo shard, wither skeleton skull). - Recipe Pricing Stability (
RecipeBasedPricing): Tightened cycle breaker from 25 to 15 price increases. AddedlockedItemsset for proper cycle detection that falls back to anchor/dynamic prices instead of silently freezing. Added $1,000,000 hard ceiling on recipe-derived prices. AddedgetDynamicFallbackPrice()with bounded scarcity multipliers (sqrt taper, rarity modifiers) and a hard $500 cap for items with no recipe and no anchor. - Client-Side Fallback Pricing (
ClientMarketData): AddedgetDynamicFallbackPrice()mirroring server logic. Items not in the recipe cache now get scarcity-aware pricing instead of flat $1.00. Switched item ID resolution from full NBT key to simpleBuiltInRegistries.ITEM.getKey()for consistency. - Fair Gambling (
GamblingManager): Set all MineStacks house edge constants to0.0(was 2-5%). All games now offer fair 50/50 payouts. - Ore-Based Drop Rate Pricing (
DropRateTracker,RecipeBasedPricing): Backported theDropRateTrackerandVirtualRecipeEntrysystem from 1.21.1. Ores now dynamically derive their price from observed block-break drop statistics (e.g., diamond ore price reflects the ~1.2 average diamonds dropped per ore mined). This creates a natural price relationship between ores and their drops instead of relying solely on hardcoded anchor values.
Bug Fixes
- Economy NBT Serialization: Fixed a critical exploit where items with NBT data (such as Enchanted Books, named items, or damaged tools) were losing their exact state upon server restart. The dynamic market engine and recipe pricing now correctly serialize and track NBT data in 1.20.1.
- Critical: Item Price Uniformity Fix (
MarketPricingEngine.getItemKey,RecipeBasedPricing,ItemSupplyDemandTracker): Fixed a critical bug wheregetItemKey()returned full NBT compound strings (e.g.,{id:"minecraft:diamond",Count:1b}) instead of simple registry IDs ("minecraft:diamond"). This caused every anchor price lookup inItemValuationto miss, making all items collapse to the$1.00default — explaining why items with wildly different crafting recipes and rarity had identical prices. Fixed across all callers in both Forge and Fabric. - Repository Cleanup: Cleaned up leftover testing directories and
TestModrinth.javascripts that leaked into the production tree. - Versioning: Adapted internal hardcoded updater target versions to
2.1.2-b1due to the previous version being released already. - Server Stability Fixes:
- Fixed a critical crash on dedicated servers where opening the GUI would attempt to load client-only classes.
- Fixed a critical memory-leak where cached
Menuitems inadvertently prevented JVM garbage collection because they were incorrectly instantiated inside constructor lambdas. - Fixed a
BootstrapMethodErrorduring dedicated server startup caused byOpenGuiPacketaggressively referencing client UI screens. - Resolved
RuntimeDistCleanerdedicated server crashes for theGlobalSettingsMenuandMotdEditorMenuby wrapping clientbound Forge packet lambdas inDistExecutor.unsafeRunWhenOn(Dist.CLIENT). - Restored missing ZGC (
-XX:+UseZGC) warnings upon login for server administrators and local clients. Server OP's can now simply press[Click to Fix]in-game to auto-patch their server run-scripts, while clients get a convenient[Copy Optimal Flags]button directly into their clipboard.
- MineBay/MineStacks Gating:
- Fixed MineBay and MineStacks GUIs remaining accessible to players even after an admin disabled them via the Economy Management Settings screen. Toggle states saved correctly to
ForgeConfigSpec, but subsequentModConfig.*.get()calls inOpenGuiPacketreturned stale cachedtruevalues due to NightConfig'sFileWatcherautoreload racing with the main server thread afterSPEC.save(). - Added explicit
clearCache()calls on all modifiedForgeConfigSpec.ConfigValueentries inSaveEconomySettingsPacket.handle()afterset()andsave(), ensuring the next.get()re-reads from the updated backing config. - Added missing
ModConfig.MINEBAY_ENABLED.get()/MINESTACKS_ENABLED.get()gating checks to the/minebay,/minestacks, and/casinochat commands, which previously bypassed theOpenGuiPacketserver-side check entirely. Players now receive a red[SM+] ... is currently disabled.chat message when attempting to use a disabled sub-feature via command. - Applied all gating fixes to both Forge and Fabric modules for full loader parity.
- Fixed
/minebay,/minestacks, and/casinocommands bypassing the master economy feature toggle. The commands only checked individual sub-feature flags (MINEBAY_ENABLED/MINESTACKS_ENABLED) but notFeatureManager.isFeatureEnabled("economy"), so disabling the entire economy from ConfigScreen had no effect on these commands. Added the master economy check as a first-pass gate before the sub-feature check on both Forge and Fabric.
- Fixed MineBay and MineStacks GUIs remaining accessible to players even after an admin disabled them via the Economy Management Settings screen. Toggle states saved correctly to
- Economy Feature Toggle Cascade:
- Fixed the master
economyfeature toggle (ConfigScreen) not cascading to sub-screens. Disabling the economy via the Feature Configuration screen now blocks server-side access to all economy sub-screens: Bank, MineBay, MineStacks, DailyTasks, and Achievements. Previously, only MineBay/MineStacks had individual config checks, while Bank/DailyTasks/Achievements were completely unguarded — and none of them checked the economy master toggle. - Added
FeatureManager.isFeatureEnabled("economy")gate to all 5 economyGuiTypecases inOpenGuiPacket.handle()on both Forge and Fabric. Blocked attempts show"[SM+] The economy system is currently disabled."in red chat. - Fixed market value tooltips (
ClientItemTooltipHandler) remaining visible when the economy feature was disabled. AddedFeatureManager.isFeatureEnabled("economy")early-return check before the existingshowMarketValueTooltipsadmin setting check. - Fixed feature state changes not propagating to other connected clients.
ToggleFeaturePacket.handle()now broadcasts aSyncFeatureStatesPacketto all connected players after toggling, ensuring tooltips disappear and screens are blocked immediately without requiring reconnect. - Economy sub-settings (
minebayEnabled,minestacksEnabled,showMarketValueTooltips) are preserved inModConfigwhen the economy feature is disabled, and automatically restored to their last configured state when re-enabled. - Applied all changes to both Forge and Fabric modules for full loader parity.
- Fixed the master
- Chat Prefix Unification:
- Unified all inconsistent in-game chat prefixes (
[ServerManagement],[SM+],[ServerManagement+]) to a single[SM+]prefix via a newConstants.CHAT_PREFIXconstant. All player-facing chat messages across both Forge and Fabric now reference this constant, ensuring consistent branding. - Cleaned up redundant
[ServerManagement]prefixes fromBlurBackdropSLF4J logger messages (the logger name already identifies the source). [MineBay]sub-brand prefix intentionally preserved as-is.- Shell script console output and GUI titles retain the full
ServerManagement+branding where appropriate.
- Unified all inconsistent in-game chat prefixes (
- Fixed Server Performance GUI screen incorrectly displaying local client GC and JVM statistics (Heap size, Allocation Rate, GC type, and Pauses) instead of the server's remote statistics. The server now correctly syncs these statistics in the \SyncPerformanceSettingsPacket.
Файлы
ServerManagement+-forge-1.20.1-2.1.2-b1.jar(3.99 MiB)
ОсновнойМетаданные
Канал релиза
Beta
Номер версии
v2.1.2-b1
Загрузчики
Forge
Версии игры
1.20.1
Загрузок
34
Дата публикации
09.09.2026
