MapSyncer-for-XaeroWorldmap
ModA multi-platform Minecraft mod that syncs server-side explored areas to clients' Xaero's World Map.
Type
Mod
Modrinth Downloads
611
Modrinth ID
AW5A8Q2T
Last Updated
Jun 15, 2026
Description
MapSyncer for Xaero's World Map
A multi-platform Minecraft mod that syncs server-side explored areas to clients' Xaero's World Map. BiliBili GitHub
Platform Support
MC Version Forge NeoForge Fabric 1.20.1 ✅ — ✅ 1.21.1 ✅ ✅ ✅ 1.21.11 ✅ ✅ ✅ 26.1 — ✅ ✅Prioritizing modern versions. NeoForge didn't exist as an independent loader before 1.20.4. Forge provides no developer documentation after 26.1.
Client Dependencies
Supports both dedicated servers and integrated servers (single-player LAN sharing). On integrated servers, the host's Xaero's World Map save directory is reused as the map cache, eliminating redundant conversion.
Dependency Requirement Xaero's World Map 1.40.11+Server Requirements
- Xaero's World Map is NOT required on the server
- Chunky or similar pre-generation tools are recommended
Features
Feature Description Incremental Sync CRC32 hash + timestamp comparison — only transfers changed regions Streaming Load Writes to Xaero directory as data arrives, triggers immediate reload per region Bandwidth-Aware Dynamic send rate adjustment to avoid blocking game network Resumable Sync Auto-resumes from interruption after reconnect (hash-based) View-Distance Priority Regions within player's view distance are prioritized Dimension Support Overworld, Nether, End, and mod dimensions (e.g. Twilight Forest) Incremental Update Server-side periodic/scheduled map cache regeneration Cave Mode Scans downward from a configurable height, outputs to caves subdirectory Multi-Threaded Hash Configurable parallel CRC32 computation on the client Auto Sync Automatically checks for newer server maps on join, no manual command neededCommands
Client Commands
Command Description /mapsyncer Show help /mapsyncer sync Sync current dimension /mapsyncer sync <dim> Sync a specific dimension /mapsyncer sync all Sync all dimensionsDimension arguments: overworld, the_nether, the_end, or mod dimension IDs like twilightforest:twilight_forest
Server Commands (OP required)
Command Description /mapsyncer generate Generate cache for all dimensions /mapsyncer generate <dim> Generate cache for a specific dimension /mapsyncer generate <dim> <x> <z> Generate a single region /mapsyncer generate <dim> --force Force rebuild (clears existing cache) /mapsyncer status View generation progress and cache statistics /mapsyncer incremental off Disable incremental updates /mapsyncer incremental tick [interval] Enable periodic updates (20–72000 ticks) /mapsyncer incremental scheduled [hour] [min] Enable scheduled updates (default 04:00)Forge/NeoForge uses /mapsyncer; Fabric uses /mapsyncerserver to avoid conflicts with the client-side /mapsyncer.
Configuration
Client Config
Option Default Range Description hashThreads CPU cores/2 1–cores Number of threads for CRC32 computationServer Config
Forge config: world/serverconfig/mapsyncer-server.toml (per-world) NeoForge / Fabric config: config/ directory (.toml for NeoForge, .properties for Fabric)
General [general]
Option Default Range Description enableDebugLogging false — Enable debug logging maxConcurrentRegions 4 1–16 Concurrent region conversion threads maxSyncPacketSize 262144 (256KB) 64KB–1MB Max packet size in bytes syncSpeedLimitKBps 1024 (1MiB/s) 0–10240 Sync rate limit (0 = unlimited)Incremental Update [incremental_update]
Option Default Description incrementalUpdateMode DISABLED DISABLED / TICK / SCHEDULED incrementalUpdateIntervalTicks 200 TICK mode interval (20 ticks = 1 second) scheduledUpdateHour 4 Scheduled update hour (0–23) scheduledUpdateMinute 0 Scheduled update minute (0–59)Dimension Scan [dimension_scan]
Option Default Description default_scan_mode SURFACE Default scan mode for unconfigured dimensions default_cave_start 63 Starting height for CAVE modeDimension config format:
dimension_configs = [ "minecraft:overworld|SURFACE|63|true|false|-64|384|384", "minecraft:the_nether|CAVE|63|false|true|0|256|256", "minecraft:the_end|SURFACE|63|false|false|0|256|256" ]Format: dimensionID|scanMode|caveStart|hasSkylight|hasCeiling|minY|height|logicalHeight
- SURFACE: Scans downward from heightmap. For Overworld and End.
- CAVE: Scans downward from a fixed height. For Nether.
Project Structure
libs/ Abstract library layer (platform-agnostic, compiled as independent JARs) ├── core/ Pure Java core: MCA/NBT parsing, utilities └── platform-api/ Platform abstraction interfaces, network payload definitions mc-1.20.1/ 1.20.1 version ├── shared/ Shared source (referenced by platform modules via sourceSet) ├── fabric/ Platform implementation (produces final mod JAR) └── forge/ mc-1.21.1/ 1.21.1 version ├── shared/ ├── fabric/ ├── forge/ └── neoforge/ mc-26.1/ 26.1 version ├── shared/ ├── fabric/ └── neoforge/Pipeline
Server MCA files (region/*.mca) │ ▼ MCA Parser (pure Java, no Xaero dependency) Decompress → NBT parse → Extract chunk data │ ▼ Region Conversion (RegionConverter) │ ▼ Encode to Xaero format (region.zip) │ ▼ Timestamp + Hash Cache (GenerationCache) │ ▼ Incremental Update Processor (optional) TICK mode / SCHEDULED mode │ ▼ Network Sync Protocol Hash comparison → View-distance priority sort Batched transfer + rate limiting │ ▼ Streaming Receive Write to Xaero directory as data arrives │ ▼ Xaero Reload Trigger (reflection) requestLoad → Map re-rendersFile Storage
Server: <server>/server_map_cache/ ├── null/ # Overworld ├── DIM-1/ # Nether ├── DIM1/ # End ├── caves/<layer>/ # Cave mode output └── generation_cache.properties # Timestamp + hash cache Client: <client>/xaero/world-map/Multiplayer_<IP>/ # Modern Xaero unified path (preferred) <client>/XaeroWorldMap/Multiplayer_<IP>/ # Legacy Xaero path (compatibility fallback) ├── null/mw$<worldId>/ # Overworld ├── DIM-1/mw$<worldId>/ # Nether └── DIM1/mw$<worldId>/ # EndDimension Mapping
Dimension Minecraft ID Xaero Directory Overworld minecraft:overworld null Nether minecraft:the_nether DIM-1 End minecraft:the_end DIM1 Mod dimensions namespace:path namespace$pathKnown Issues
Issue Details Impact Cave rendering anomalies Some cave content is inaccurate Mostly affects Nether; under investigationBuild
# Build all active platforms (parallel) ./gradlew build -x test --parallel # Build a single platform ./gradlew :mc-1.21.1:forge:build -x test ./gradlew :mc-1.21.1:fabric:build -x test # Quick build scripts scripts/fastbuild/build-all.bat # All active platforms scripts/fastbuild/build-forge.bat # All Forge modules (Gradle 8.9 + JDK 17/21) scripts/fastbuild/build-fabric-26.1.bat # Fabric 26.1 (isolated Gradle process) scripts/fastbuild/build-26.1.bat # All 26.1 modulesBuild artifacts are placed in each platform module's build/libs/ directory.
License: GPL-3.0
Acknowledgements: Xaero's World Map & Minimap
Compatibility
Mod Loaders
Game Versions
Similar Mods
Sweaters
Deck out your mobs in ugly Christmas sweaters with the Sweaters mod!
VAROMODS PASTEL COLORS
Build whatever you want with these pretty pastel colored blocks!
Undergarden Paths
Just a small mod that adds paths for Undergarden's Deepturf and its variants!
BIC Shield Compat
Makes shield-disabling weapons work against Born in Chaos's Skeleton Thrasher and Door Knight by intercepting their fake...
Meteors (Fabric/Forge/NeoForge/Quilt)
Meteors falls from the sky!
Unique Materials
Unique Materials adds various new resources and ingredients to the game