This repository was archived by the owner on Jul 12, 2026. It is now read-only.
NeoEssentials v1.1.3 — Out of Beta: Combat, WebSocket & Kit Crash Fixes
What's New in v1.1.3
NeoEssentials is out of beta. Every known issue from v1.1.2-beta is fixed, plus over 1,000 lines of orphaned code removed and several crash paths hardened. Tested live on an ATM10 v6.6 server with FTB Ranks installed. Server running NeoForge 21.1.224.
Bug Fixes
- Combat tag stuck —
/homeand/tpawere blocked for 5 seconds after attacking armor stands, vehicles, item frames, villagers, or your own tamed pets. Combat is now only triggered by actual hostile mobs and other players. Self-damage (thorns reflection) no longer tags. Combat timer now refreshes on every valid hit so long fights stay tagged instead of expiring mid-combat. - newPlayerKit crash on malformed first_joined.json — Handler crashed if the file contained anything other than a valid JSON array (corruption, empty file, unexpected content). Added proper JSON array guard, thread-safe lock across concurrent joins, atomic temp-file-then-move writes with UTF-8 encoding, and canonical path resolution via ResourceUtil.
- WebSocket double-start crash —
IllegalStateExceptionwas thrown whenever the dashboard was stopped and started again (manual/neoe dashboard restart, reload, etc.). The underlying java-websocket library does not allow restarting a stopped server. AddedstartIfNotStarted()guard andshutdownAndReset()that clears the singleton so a fresh instance can be created on next start. - Dashboard rate limit too low by default — Default
maxRequestsPerMinuteraised from 60 to 200. Fresh installs will no longer hit intermittent "Connection Error" on the web UI with live widgets. - Heavy log spam on the dashboard data path — 25 routine
LOGGER.infocalls in ServerDataCollector, PlayerDataCollector, and ServerEndpoint were firing on every data collection cycle / API request. All changed toLOGGER.debug. Error and warn calls preserved so real problems still surface.
Cleanup
- Duplicate ResourcePackManager packages removed — The orphaned
com.zerog.neoessentials.resourcepacks(plural) package contained a half-finished admin pack upload feature with zero imports, zero references, and zero event wiring from anywhere in the codebase. Removed (1,043 lines across 3 files). The activeresourcepack(singular) badge/emoji auto-send system is untouched. - PermissionBridge hardcoded color codes — 93 legacy
§color codes scattered across help output replaced with a privatestyled()helper using the MinecraftChatFormattingenum. Matches the style used elsewhere in the mod (ChatComponentUtil, MessageUtil). Type-safe, no more invisible control characters in source.
TAB List
- Individual player rows now show
[group] PlayerName pingmswith live ping updates and color coding (green good / yellow ok / red bad). Prefix is pulled from the player's permission group.
Config Notes
NeoEssentials configs are located at config/neoessentials/ in your server directory.
config/neoessentials/webdashboard.json (securitySettings section):
"maxRequestsPerMinute": 200— is now the default (was 60)
After changing configs, run /neoe reload in-game or from console.
Known Issues
None. All previously documented known issues from v1.1.2-beta have been fixed.