Hytale Server Optimizer

Digital Hytale Server Optimizer 2026-01-24

No permission to download
Digital Resources
+ View Distance Message Fix: Fixed BroadcastChanges: false not working by fetching fresh config instead of using stale cached value.

+ TPS Command Conflict: Converted /tps from standalone command to /optimizer tps subcommand to avoid overwriting other plugins TPS commands.

+ AI LOD Custom NPC Protection: Added ApplyToCustomNPCs: false config option with efficient caching so AI throttling only affects vanilla NPCs by default.

+ Profile Report Target: Changed tick time target display from <50ms to <33ms to reflect Hytale's actual 30 TPS.

+ AutoGC Logging Fix: Corrected inverted free memory calculation that was showing wrong values after garbage collection.

+ Server Compatibility: Verified full API compatibility with the latest HytaleServer.jar update.
+Added TPS report command /tps or /optimizer tps
+Added manual garbage collection command /optimizer gc
+Added automatic garbage collection features with delay + threshholds
Added automatic entity despawning feature (DISABLED BY DEFAULT, new decision to test new experimental features and not forcing enabled for every user)
+ Fixed an issue with auto restoring VR of idle players

-> Filtering entities, blocks, projectiles etc. by despawn flag and making the despawn timer configurable, allowing to set a shorter despawn timer for certain entities reducing stress on the server.

Thanks to Carriedo for the suggestions!
Overall new strategy: Use full system potential and only optimize if resources hit a critical threshold. Recovery logic now also taking player count into account, assuming that only a reduce of player count helps lowering system stress avoiding changing view distances etc. to often. (Causing lag in itself)

+ Fixed AI LOD stability under high load and improved parallel safety.
+ Added strict view‑radius recovery gating (time delay + player drop + TPS/heap).
+ Removed unsafe per‑player min‑loaded toggle from config and enforced it off.
+ Reduced lag spikes by recovering view distance in one step after stability.
+ Added AI LOD sharding and visibility fallback for large player counts.
+ Hardened idle player logic (less duplicate scheduling, safer cache handling).
+ Improved TPS scanning safety and early‑exit optimizer loop.
+ Updated default thresholds and AI LOD distances for critical‑only activation.
+ Fixed critical crash in AI LOD system that occurred when processing took longer than the update interval
+ Optimized AI LOD distance calculations by using chunk-based pre-filtering
Configuration
+ Added automatic bounds checking for loop interval (3-15 seconds minimum/maximum)
+ Config file now automatically fixes invalid loop interval values on load
+ Changed default loop interval from 2 to 3 seconds for better performance balance
+ Added runtime validation with warnings if loop interval is set outside safe range

Performance Optimizations
+ Reduced AI processing overhead by combining duplicate player checks, cutting processing time in half
+ Improved task scheduling efficiency when checking player positions, significantly reducing overhead with many players
+ Added player lookup cache to eliminate slow searches when tracking idle players
+ Optimized profiler data analysis by using faster lookup methods instead of slow filtering
+ Replaced inefficient averaging calculations with faster manual computation
+ Fixed duplicate task scheduling that was creating unnecessary overhead
+ Optimized player radius adjustments to avoid creating unnecessary data copies
+ Improved player position checking to iterate more efficiently through worlds
+ Added early exit optimization when processing nearby entities to skip unnecessary checks
+ Added distance-based filtering to skip processing of entities that are too far away
+ Added automatic cache cleanup when players disconnect to prevent memory buildup
+ Added automatic cache population when players join to ensure immediate tracking
+ Fixed logic error in entity visibility tracking that could skip cleanup operations
+ Disabled dangerous chunk unloading feature by default to prevent server lag spikes
+ Added stability checks to prevent rapid radius changes that cause chunk reloading
+ Made chunk radius reductions one-way only to prevent oscillation and repeated reloading
+ Added 30-second cooldown before restoring chunk settings for idle players to prevent rapid toggling
+ Prevents frequent chunk unload/reload cycles that trigger expensive server operations
+ Safe radius optimizations remain enabled (only affects entity processing, not chunk loading)
+ Plugin now completely stops processing when all features are disabled to eliminate any overhead
+ animation desync fix, improved visibility check with chunk status
+ Invis chunk cleanup fix
+ Fixed a logic error causing entities to freeze
+ Updated to work with latest game update
+Added automatic performance profiler with /optimizer profile command
+Added idle player optimization to reduce RAM usage for inactive players
+Added event-driven logging with configurable cooldown to prevent console spam
+Added broadcast cooldown for view radius change messages
Fix: Resolved logging format error with String.format
Fix: Resolved event logging spam with cooldown mechanism
Changelog v1.0.1 15.01.2026

+ Added /optimizer status and /optimizer reload (console/admin friendly).
+ AI LOD for NPCs (distance/visibility-based update rates).
+ Auto-create/repair config.json on startup.
+ Event-only logging with cooldown to prevent spam.
+ New config options: AI LOD + per-player min-loaded radius.
Back
Top
Cart