
ZeroSeek
High-performance Memory-Mapped I/O, Concurrent World Generation, Hardware GPU Acceleration, and Integrated StarLight Lighting Engine for Minecraft servers.
Список изменений
ZeroSeek v1.2.0: Batch Region Rebase & Non-Destructive TPS Governor
ZeroSeek v1.2.0 delivers an architectural overhaul of the delta persistence subsystem, complete multi-dimension isolation, a non-destructive rewrite of the TPS Governor using MixinExtras, and full alignment with Java 22 Foreign Function & Memory (FFM) APIs on Minecraft 1.21.11 (Fabric).
What's New
1. Batch Rebase Pattern for Delta Chunk Storage
The asynchronous delta persistence subsystem has been redesigned to eliminate file descriptor thrashing and off-heap memory churn during delta merges:
- Region-Grouped Batch Writes: Modified chunk delta files (
world/**/region_delta/r.X.Z/c.x.z.raw) are now aggregated and grouped by destination region before executing rebase tasks. - Single Descriptor Allocation: ZeroSeek opens the target
RegionFilehandle exactly once per batch, writes all pending chunk deltas sequentially, and closes the handle in a single atomic cycle. - Single Cache Invalidation: Native off-heap
MmapLruCachehandles are invalidated exactly once per region file prior to write injection, eliminating cache eviction loops and stale virtual memory pages. - Full Multi-Dimension Architecture: Added automatic dimension hierarchy resolution supporting:
- Overworld (
world/region/r.X.Z.mca) - The Nether (
world/DIM-1/region/r.X.Z.mca) - The End (
world/DIM1/region/r.X.Z.mca) - Custom & Modded Dimensions (
world/dimensions/<namespace>/<dimension_path>/region/r.X.Z.mca)
- Overworld (
- High-Throughput Delta Discovery:
ExternalDeltaManager.getAllDeltaFiles()uses a pruned directory scanner that explicitly skips heavy vanilla trees (region/,poi/,entities/,playerdata/,stats/,advancements/), dropping filesystem traversal overhead on servers with large worlds.
Bug Fixes & Safety (Non-Destructive TPS Governor)
Prior releases throttled server load by aggressively suppressing core entity and network ticking, which caused physics desyncs and rubberbanding. Version 1.2.0 replaces all destructive hooks with a non-destructive governor architecture:
1. Complete Restoration of Vanilla LivingEntity.aiStep()
- Root Cause Fixed: Cancelling
aiStep()previously bypassed gravity integration, suffocation checks, fall damage counters, fluid drag, status effect updates, and vehicle/mount synchronization. - Invariant:
LivingEntity.aiStep()is now executed unconditionally without interception.
2. Surgical Mob AI Decimation via @WrapOperation
- Safe Goal Throttling: Implemented
MobMixinusing@WrapOperationonserverAiStep()targetingGoalSelector.tick()andGoalSelector.tickRunningGoals(boolean). - Player Proximity Immunity: Mobs within 48 blocks of any alive player (
level.hasNearbyAlivePlayer(x, y, z, 48.0)) are strictly immune to AI skipping. - Adaptive Load Throttling: Distant mobs only experience probabilistic AI decimation under verified server degradation:
NORMALstate (TPS >= 15.0): 0% skip (Vanilla execution).STRESSstate (10.0 <= TPS < 15.0): 25% skip (stressSkipAiChance = 0.25).CRITICALstate (TPS < 10.0): 75% skip (criticalSkipAiChance = 0.75).
3. Removal of Movement Packet Drops
- Fix: Removed destructive mixins on
ServerGamePacketListenerImpl(ServerboundMovePlayerPacket). - Result: Complete elimination of client rubberbanding, server-client coordinate divergence, and false-positive anticheat kicks during low TPS conditions.
4. Removal of Chunk Ticket Interference
- Fix: Removed throttling hooks on
DistanceManager.addPlayer()andDistanceManager.updatePlayerTickets(). - Result: Players will no longer fall through unloaded chunks or get stranded in void boundaries when server load spikes.
Technical Improvements & Architecture
Platform & Toolchain Upgrades
- Minecraft Target: Standardized on Minecraft 1.21.11.
- Loader Target: Fabric Loader >=0.16.0 (tested on 0.18.2) and Fabric API 0.139.4+1.21.11.
- Java 22 FFM API: Memory segment management fully integrated with
java.lang.foreign.MemorySegmentandjava.lang.foreign.Arena.ofShared(). - Bytecode Compliance: Set
"compatibilityLevel": "JAVA_22"inzeroseek.mixins.json.
Test Suite Integration
- Added unit test coverage via JUnit 5 in
RebaseWorkerTest:testComputeBaseFilePath: Validates.mcapath derivation across Overworld, Nether, End, and custom dimensions.testDetectDimension: Asserts exactResourceKey<Level>parsing from path structures.testGroupingDeltaFiles: Verifies batch partition counts per region file.testExternalDeltaManagerScan: Validates directory exclusion rules and.rawfile filtering under temporary filesystems.
