MapGen-1.4.3.jar
What's new
[1.4.3] - 13th October 2026
Fixed
- Config loading validates each setting on its own: invalid ports, batch sizes, hosts, origins, log paths and unknown storage types are reported and replaced by the default, and a corrupt file is left untouched. The file is written atomically.
- Avatar proxy only accepts canonical UUIDs, caps downloads at 256 KiB and bounds its cache.
Removed
- Config options nothing read (cache, zoom, tile and legacy HTTPS settings, among others). Twelve options remain and
config.jsonis rewritten with only those on the next start; older keys are dropped, not migrated. - Unused
ExportFormatandLayerType.isCompatibleWith. - Unused
/api/debug,/api/cacheand/api/maps/generateendpoints, the unwired export, layer-processor, background-generation and live-monitor scaffolding, and help text forexportandcachecommands that were never registered. - Source comments.
Added
- Vertical slice view - Surface/Slice layer toggle with a height slider, +/-1/8/32 steps, Follow Player Y, and
[/]shortcuts. Rendered off the world thread from loaded cubic sections via/api/slice/infoand/api/slice/tiles/{z}/{x}/{y}.png, with a bounded LRU cache, in-flight dedupe and limited render slots. - Connection states - Live / Reconnecting / Offline / Paused badge with bounded exponential backoff, server probe before reconnect, stall detection and a full resync after every reconnect. No overlapping polls, no silently swallowed failures, load stops after 30 s hidden.
- World selector -
worldparameter across the APIs, with per-world tile cache directories. - Tile invalidation - Modified chunks push
tile-invalidationevents so open maps refresh changed tiles. - Player tools - Follow a player, per-player movement trails, and a filterable player list.
- Map tools - Distance measuring (D), marker search, and a right-click menu to copy block or chunk coordinates, centre, or start measuring.
Changed
- Web viewer redesigned: slim top bar, collapsible player and tools docks with layer checkboxes, a floating slice bar, a compact status bar, and a phone layout with bottom-sheet docks. No longer loads background or border images from hytale.com.
- Tiles are served with an ETag; unchanged tiles answer 304 instead of being re-downloaded, and the tile layer keeps a larger buffer.
- Web frontend split into
interactive-map.html,css/map.cssand ES modules injs/(no framework). Leaflet assets carry SRI hashes. - Realtime stream rewritten: per-client writer with bounded queue, client cap, 15 s heartbeat, change-detected pushes, entities collected only while a browser subscribes to the
mobschannel. - API coordinates are now block coordinates; marker and spawn placement corrected. Spawn uses the world's real spawn provider.
- Map zoom minimum is 0; tile zoom validated to 0-6.
- HTTP server hardened: UTF-8, security headers, bounded request bodies, JSON errors, no wildcard CORS.
- Updated compatibility for Hytale Update 7 section-based chunk storage and cubic worlds.
- Software terrain rendering now uses
HeightmapColumnand the loadedBlockSectionat each surface coordinate instead of scanning the former fixed 0-319 range. - Chunk preload tracking now obtains its world from the Update 7 event rather than the removed
WorldChunk.getWorld()method. - Migrated map protocol regression tests to the palette/packed-index
MapImageformat and foreign-memory serializer. - Interactive map website now uses the current Hytale logo.
Removed
- No-op "Clear Cache" and "Generate Area" buttons, the cache-hit stat, the unused batch tile stub, and
ChunkActivityMonitor.
Validation
- Unit and HTTP tests added for the slice renderer, realtime handler and tile ETags.
- Web UI exercised in headless Chrome against a mock server with synthetic data: connection recovery (Live, Offline, Live), slice view, trails, follow, measure, context menu, escaping of hostile player and marker names, and a phone-size viewport. Tested on a Hytale Update 7 server.
- Compiled and tested against Update 7 server SHA-256
C3B5985B9E72727BF3BCF220923D7E61E78FE0F37CD1CD9C2A73F51E4F408FF8.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects