Unified Xaero Worldmap

Quick rating

Community listing page, reviews here may not be monitored by the author.

Unified Xaero Worldmap

No reviews yet

shared world map for the whole server, built on Xaero's World Map. Explored tiles sync live to everyone online and catch you up automatically on rejoin - caves and every dimension included. Additive merging: nobody can wipe another player's exploration.

Mod Loaders
Minecraft
26.3 26.2

About

Description

Unified Xaero Worldmap

One shared Xaero's World Map for your whole server. Everything anyone explores shows up on everyone's map, live, in every dimension and every cave layer. Players who were offline catch up automatically the moment they join.

Available for Fabric, Forge and NeoForge on every Minecraft version Xaero's World Map 1.46 supports, from 1.16.5 to 26.3.


Everyone's map, one map

Xaero's World Map is normally personal: you only see the chunks you walked through yourself. On a server with friends that means everyone maps the same spawn area, and nobody knows what the others found.

Unified Xaero Worldmap turns the map into a shared resource for the whole server:

  • You explore, everyone sees it. Walk somewhere new and it appears on your friends' maps within seconds, with no reload, no menu and no command.
  • Log off for a week, log back in: your map is already filled in with everything the group discovered while you were away.
  • Caves and dimensions included. Cave layers sync like the surface does, and so do the Nether, the End and any other dimension the server has. Discoveries in a dimension you're not in right now still arrive and wait for you there.
  • Your existing map counts too. A map you already had before the mod was installed is shared with the server in the background, so the group map starts with everything everyone already explored.
  • Nothing to set up. No web map, no file copying, no commands. Install the mod on the server and on each player's game, done.

Which file do I download?

Pick the file that matches your Minecraft version and your mod loader. The server and every player need the same file (same Minecraft version, same loader).

Minecraft Fabric Forge NeoForge Java
1.16.2 – 1.16.5 ✅ ✅ – 8
1.18.2 ✅ ✅ – 17
1.19.1 – 1.19.2 ✅ ✅ – 17
1.20 – 1.20.1 ✅ ✅ – 17
1.20.3 – 1.20.4 ✅ ✅ ✅ 17
1.21 – 1.21.1 ✅ ✅ ✅ 21
1.21.4 ✅ ✅ ✅ 21
1.21.5 ✅ ✅ ✅ 21
1.21.8 ✅ ✅ ✅ 21
1.21.10 ✅ ✅ ✅ 21
1.21.11 ✅ ✅ ✅ 21
26.1 – 26.1.2 ✅ ✅ ✅ 25
26.2 ✅ ✅ ✅ 25
26.3 ✅ ✅ ✅ 25

File names look like unified-xaero-worldmap-<version>+1.21.1-neoforge.jar: mod version, then Minecraft version, then loader. The Minecraft versions in between (1.17, 1.19.3/1.19.4, 1.20.2, 1.20.5/1.20.6, 1.21.2/1.21.3, 1.21.6/1.21.7, 1.21.9) are not supported, because Xaero's World Map 1.46 doesn't exist for them.


Requirements

On the server and every player's game:

What Version
Xaero's World Map 1.46.0 or newer, required on both the server and every client
Fabric only: Fabric Loader 0.18.4 or newer
Fabric only: Fabric API the version for your Minecraft version
Forge / NeoForge only: xaerolib whatever your World Map version needs (CurseForge and most launchers install it automatically as World Map's dependency)
Forge the Forge version for your Minecraft version (e.g. 47 for 1.20.1, 52 for 1.21.1)
NeoForge the NeoForge version for your Minecraft version (e.g. 21.1 for 1.21.1); on 26.3 only NeoForge betas exist so far

Optional: Xaero's Minimap works alongside it (client only). If you use it, pick a Minimap version that works with World Map 1.46 (26.4.0 or newer; tested with 26.5.x).


Installation

Server:

  1. Install your loader (Fabric / Forge / NeoForge) for your Minecraft version.
  2. Put into the server's mods folder: Xaero's World Map, this mod, and Fabric API (Fabric) or xaerolib (Forge/NeoForge).
  3. Start the server. The shared map and its config are created automatically in <world>/unified_xaero_worldmap/.

Every player: the same mods as the server, in the game's mods folder. Xaero's Minimap is optional.

That's it. When a player joins, the mod checks that both sides match, syncing starts on its own, and nothing else needs doing.


Who can join

The mod is optional on both sides, so it never locks anyone out:

  • A player without the mod joins the server normally and plays with their own, unshared Xaero map.
  • A player with the mod on a server without it plays normally too; there's just nothing to sync with.
  • A player on an incompatible version of this mod stays connected. Sync is off for them, and they get one chat message saying which version each side runs.
  • A player on a different Minecraft version joining through a version-bridging proxy like ViaVersion: Xaero's World Map stores maps differently on some Minecraft versions, so if the formats differ, sync turns off for that player with a clear chat message. Players on the server's own version keep syncing normally.

Why it's safe

  • Nobody can wipe the shared map. Merging is additive, one 16×16-block tile at a time: tiles are added or updated, never deleted. Nothing a player sends can erase or blank out what someone else explored, whether by accident or on purpose.
  • Fresh beats stale, old never beats new. A tile you just explored updates the shared map. Old map data from before you joined only fills gaps; it never overwrites something another player mapped more recently.
  • Your own map files are protected. Incoming map data is merged into your map carefully, following Xaero's own save cycle. Files the mod can't read safely, such as map files from an older Minecraft version, are left untouched and never overwritten or deleted.
  • Built for public servers. The server only accepts map data for its own dimensions and for cave layers that can exist there. It rejects malformed data before it reaches anyone. Every player has an upload rate limit and a capped share of the server's background work, and the whole shared map has a size cap on disk (4 GiB by default). Live updates from places a player has never been near are never broadcast to others.
  • Fails safe when Xaero updates. The mod checks at startup that everything it needs from Xaero's World Map is still there. If a future World Map update changes something, sync switches itself off with one chat line and one log line. Your game and your map keep working normally, and it never crashes.
  • Singleplayer is untouched. Singleplayer worlds are never synced. Uninstalling the mod at any time leaves Xaero's World Map exactly as it was.

Configuration (server)

The server writes <world>/unified_xaero_worldmap/config.json with defaults on first start. Changes take effect after a restart. Values outside the allowed range are corrected automatically, and a broken config file is backed up and replaced with defaults instead of crashing the server. The defaults suit a 5–20 player survival server.

Setting Default Range What it does
syncEnabled true Master switch. false turns sync off for everyone.
liveSaveIntervalMillis 5000 1000 – 60000 How quickly a freshly explored area reaches other online players (only while at least 2 synced players are online). Lower = fresher maps, more work per client. Raise it if players notice stutter while exploring together.
reconcileIntervalSeconds 120 10 – 86400 How often each client double-checks its map against the server. Also how long it takes for a joining player's existing map to reach players already online.
maxRegionsPerTick 2 1 – 64 Map regions sent to a catching-up player per pass (with the default interval: 2 per second, roughly 200–600 KB/s). Raise it for faster catch-up if you have bandwidth.
syncIntervalTicks 20 1 – 1200 Ticks between those download passes (20 = once per second).
maxUploadsPerSecond 8 1 – 256 Per-player upload rate limit.
persistIntervalSeconds 30 0 – 3600 How often merged map data is written to disk. 0 writes every change immediately.
maxStoreBytes 4 GiB 256 MiB – 1 TiB Size cap for the whole shared map on disk. Once reached, no new areas are added, but already-mapped areas keep updating. A well-explored region takes about 100–200 KB, so 4 GiB holds roughly 20 000–40 000 of them.
maxRegionsPerLayer 50000 1 – 65536 Cap on stored regions per dimension and cave layer.
maxIoMillisPerSecondPerPlayer 500 50 – 1000 Share of the server's background map thread one player may use, so one player with a huge map can't slow down everyone else.
maxPayloadBytes 1 MiB 64 KiB – 1.5 MiB Largest single map upload or download.
maxInFlightBytesPerPlayer 8 MiB – 64 MiB How much unprocessed upload data one player may have queued.
regionCacheSize 128 8 – 4096 Map regions the server keeps in memory (about 10–30 MB at the default).
ioQueueCapacity 512 16 – 65536 Depth of the server's background work queue.

Most servers never need to change anything. The ones people actually tune are liveSaveIntervalMillis, maxRegionsPerTick and maxStoreBytes.


Performance

  • Playing alone on a server: the mod changes nothing about Xaero's own behaviour or timing.
  • Per frame: the mod's own code costs about 0.01 ms per client tick. All map parsing, merging and disk work runs on background threads at the lowest priority.
  • Playing together: while at least one other synced player is online, Xaero is asked to save map regions every 5 seconds instead of every 60, so discoveries reach friends quickly. In an uncapped-FPS test this cost about 10% at around 2000 FPS, i.e. a few hundred microseconds per frame; at normal framerates you won't notice it. Server owners can raise liveSaveIntervalMillis to trade freshness for even less work.
  • Catching up a big map: with 1000 map regions on the server, a newly joined player was fully caught up in about 7 minutes at the default download rate, and the server never fell behind ("Can't keep up") while sending it.

Known limitations

  • LAN worlds: the host's own map doesn't sync, because Xaero already maps the host's world straight from the save. Guests who join do sync, with the host acting as the server.
  • Existing maps travel on a timer, not live: map data a player already had before joining is uploaded in the background and reaches other online players at their next periodic check (every 120 seconds by default). Newly explored areas are live.
  • Upgrading Minecraft: Xaero's World Map stores maps differently on some Minecraft versions (1.16.5, 1.18.2 – 1.21.4, 1.21.5 – 26.2, and 26.3 each use their own format). If your server moves to a version with a different format, the shared map starts over and rebuilds from what players upload. Nothing is deleted: the old server map is kept aside on disk. Each player's own old map syncs again once Xaero's World Map rewrites it in the new format, which happens when they revisit that area.
  • Xaero's "full" cave mode isn't synced; the regular cave layers are.
  • Map regions you're looking at reload briefly when other players' tiles arrive for them.
  • Mixed loaders on one server, such as Fabric players on a NeoForge server, haven't been tested.
  • Heavy artificial load, like scripted teleporting of several players into ungenerated terrain every second, can overwhelm vanilla world generation. That's a vanilla limit; the mod itself never blocks the server thread.

FAQ

Does the server need Xaero's World Map? Yes, the server as well as every player. That's what lets new areas land on your map immediately, even for dimensions you haven't visited yet.

Can other players see my base? Yes, if you explored it: every area anyone maps becomes part of the shared map. That's the point of the mod, so keep it in mind on servers with secret bases. Waypoints are never shared; they stay private to each player.

Do waypoints sync? No. Only the explored map itself syncs.

Can a griefer wipe or mess up the shared map? No. Merging only ever adds or updates tiles, nothing a player sends can delete what others explored, and data for places a player has never been near is never broadcast.

Does it sync my singleplayer maps? No. Singleplayer worlds are never touched. A world opened to LAN syncs for the guests who join, not for the host.

What happens to players who don't have the mod? They join and play normally, with their own personal Xaero map.

What if Xaero's World Map updates? The mod checks itself at startup. If something it needs has changed, it turns sync off with one chat message and carries on; nothing crashes and your map keeps working.

Can I turn it off without uninstalling? Yes: set syncEnabled to false in the server config and restart.

Where is the shared map stored? In the world save, under <world>/unified_xaero_worldmap/. It's backed up together with your world.

Is this made by Xaero? No. It's an independent, unofficial add-on. See Credits.


Credits

This project is an unofficial add-on for Xaero's World Map by Xaero96 (CurseForge Project ID: 317780).

It extends Xaero's World Map with server-wide shared map synchronization, allowing explored map tiles to be shared between players while continuing to use Xaero's World Map as the underlying map system.

Xaero's World Map is a required dependency, and this add-on does not function without it. Xaero's Minimap is optionally supported but not required.

All credit for the original map system, map rendering, map storage, exploration tracking and related functionality belongs to Xaero96 and the original Xaero's World Map project.

This project is independent, unofficial, and not affiliated with or endorsed by Xaero96. It does not include or redistribute Xaero's World Map or Xaero's Minimap.

Original project: https://www.curseforge.com/minecraft/mc-mods/xaeros-world-map Original author: Xaero96 CurseForge Project ID: 317780