File Details
OptiPortal-1.0.5.jar
- R
- Mar 19, 2026
- 18.41 MB
- 40
- Early Access
File Name
OptiPortal-1.0.5.jar
Supported Versions
- Early Access
[1.0.5] - 2026-03-19
Added
- Warm zone state persistence — HOT/WARM zone state is saved on shutdown and restored on startup; zones that have not yet expired are resumed without reloading chunks, reducing startup I/O after clean restarts
- Concurrent warm zone startup loading — startup staged load now runs up to 3 zones concurrently instead of sequentially, significantly reducing time-to-ready when multiple WARM zones are configured
- In-memory portal cache — portal proximity checks no longer query storage on every player position update; the portal list is cached in memory at startup and kept in sync with any changes. Cache is refreshable on demand via
AsyncTeleportInterceptor.refreshPortalCache() - Chunk complexity and RAM caching — chunk scoring and RAM estimation results are cached for the lifetime of the server session; repeated loads of the same chunk skip redundant work entirely. Cache is cleared automatically when a world unloads.
Fixed
- Async proximity detection silently matched zero portals due to a world name lookup bug; portal preloading now triggers correctly for all async teleport paths
NullPointerExceptionon async teleport preload fixed; no longer crashes on teleport detection- Warps removed from
warps.jsonwere not deleted from storage on first server boot after install - Repeated preload log spam eliminated under both idle and active conditions
- Zone tier promotion now correctly reflects actual chunk load state rather than configured strategy
- World thread saturation under load caused by chunk operations running on the wrong thread
- Special characters in JSON output were being written as Unicode escape sequences; all config and data files now write readable characters directly
- Portal proximity detection now respects vertical distance; zones on different floors no longer trigger preloads for players above or below them
- Activation shape setting now takes effect; ellipsoid, cylinder, and box shapes are all supported with per-zone overrides via
/preload shape <id> <ELLIPSOID|CYLINDER|BOX>
Added
- Actual RAM total shown in UI stats bar alongside the existing RAM estimate total
Changed
- Warp file sync reduced from one storage query per warp to a single bulk query per sync cycle; significantly faster on servers with large warp counts or remote databases
- Zone decay and release operations are now proportional to the size of the affected zone rather than the total number of loaded chunks on the server
- Async load balancer adapts batch sizes based on recent performance rather than a lifetime average that becomes unresponsive after extended uptime
- Async task queues are now lock-free, reducing contention between threads queuing and processing operations
- Teleport record checks are batched into a single scheduled task regardless of player count, reducing scheduler overhead at scale
- Portal disk writes are debounced and written asynchronously; no longer blocks on file I/O during active teleportation
- Proximity distance checks optimised to avoid unnecessary floating-point operations on every player position update
- Startup poll scheduler is cancelled immediately once worlds are ready rather than continuing to fire unnecessarily
Configuration
New config.json fields (all optional, defaults apply if absent):
stagedLoadConcurrency— number of WARM zones loaded concurrently at startup (default:3)
Changed
- Default activation distances tightened: horizontal
16 → 10, vertical8 → 3