promotional bannermobile promotional banner

Unified Xaero Worldmap

Share and sync Xaero's World Map between players on a multiplayer server. What one player explores appears on everyone's map, caves and all dimensions included, and players catch up on join. Fabric, Forge, NeoForge, 1.16.5 to 26.3.
Back to Files

Unified Xaero Worldmap 2.0.2 (NeoForge 26.3)

File nameunified-xaero-worldmap-2.0.2+26.3-neoforge.jar
Uploader
NavrelisNavrelis
Uploaded
Oct 14, 2026
Downloads
12
Size
517.7 KB
Mod Loaders
NeoForge
File ID
9172370
Type
R
Release
Supported game versions
  • 26.3

Curse Maven Snippet

NeoForge

implementation "curse.maven:unified-xaero-worldmap-1704237:9172370"

Learn more about Curse Maven

What's new

Unified Xaero Worldmap 2.0.2

2.0.2 stops copied map tiles from spreading. A copied tile is a 16x16-block map tile (one chunk) that shows the picture of another chunk of the same region; 2.0.0 could create them (see 2.0.1). 2.0.1 removed the cause, but copies that are already in a shared map, or that a client still on 2.0.0 keeps making, went on spreading to every player. 2.0.2 refuses them, on the server and on every client, and adds a report that tells a server operator where the copies in the shared map are. It deletes nothing. Everything else about how maps sync is as in 2.0.1.

Update the server and every player. The server part keeps copies from clients that are not on 2.0.2 out of the shared map. The client part keeps each player's own map free of copies that come down from a server.

Fixed

  • Copied map tiles no longer spread through the shared map (server). When a player on 2.0.0 or 2.0.1 sends a live map change that would put a copy over a tile the server already has, the server keeps its own tile and does not send the copy to anyone. A tile counts as a copy only if the change is large (at least 64 of the tile's 256 pixels) and makes the tile a near-identical twin (at least 254 of 256 pixels equal) of another varied tile of the same region. Not judged at all: tiles for places the server has nothing for yet, the re-sync uploads, and players on 2.0.2. The sender gets the server's tile at its next re-sync. The server log gets at most one line a minute about it, plus one line per player and server run that asks the player to update.
  • Copied map tiles no longer overwrite your own map (client). When a download would put a copy over one of your tiles by the same rule, 2.0.2 keeps your tile and writes one line to the log. It tells the server at the next re-sync that the region matches, so the region is not downloaded over and over, and it does not upload the kept tile. When you then stand at that chunk and World Map has drawn it (two live saves in a row), your tile goes up and replaces the server's copy.

New

  • A report for server operators: java -cp <the mod jar> obscura.unified.tools.CopiedTilesReport <world>/unified_xaero_worldmap. It only reads. It lists every pair of near-identical tiles in the shared map with the chunk coordinates of both and a teleport command for each chunk. See "If your map already has copied tiles".
  • A server setting, copiedTileGuard (default true). With false the server merges every upload as 2.0.1 did. New in config.json; a config from 2.0.1 gets the key added on the next start.
  • A 2.0.2 client says in its hello to the server (one extra optional number, ignored by older servers) that it uploads no copies. The server does not judge such a client's uploads.

If your map already has copied tiles

2.0.2 refuses copies, and does not remove the ones already there: a removed copy would come back from every client that still has it, so removing cannot work. What works is replacing the copy with the true tile, and that happens when a player stands in the chunk.

For server operators:

  1. Update the server to 2.0.2, and ask your players to update.
  2. Stop the server, or work on a copy of the folder <world>/unified_xaero_worldmap. Run java -cp <the mod jar> obscura.unified.tools.CopiedTilesReport <world>/unified_xaero_worldmap (the mod jar is the 2.0.2 file for your Minecraft version and loader; the tool needs no Minecraft and changes nothing). It takes a few seconds.
  3. Each PAIR line names a dimension, a layer (surface or a cave layer number), the region, the two tile numbers, the chunk coordinates of both tiles and how many of the 256 pixels are equal. One of the two tiles is a copy of the other; the report cannot reliably say which, so heal both. Under it, a VISIT line gives a command for each of the two chunks, like /execute in minecraft:overworld run tp @s <x> <y> <z> (with numbers filled in). The SUMMARY line at the end counts the pairs found; pairs=0 means there is nothing to repair.
  4. A player on 2.0.2 with operator rights runs each VISIT command and stays in that chunk until World Map has drawn it and saved. On the surface the command puts you 20 blocks above the highest block, so you fall down onto the chunk. With another player online the save comes within about 5 seconds; alone on the server World Map saves about once a minute. The correct tile then replaces the copy on the server and goes to every player who is online; players who are offline get it when they next join. For a cave layer the command puts you in the middle of that layer's 16-block slice; you must be in a cave in that layer, with World Map showing it, for World Map to redraw that layer.
  5. Run the report again. The pairs you visited should be gone.

What 2.0.2 cannot find or fix by itself:

  • Copies in chunks nobody visits stay where they are.
  • Plain tiles (flat water, a stone ceiling) are never judged: about 5 % of surface tiles, 18 % of cave tiles and 36 % of nether tiles.
  • A copy whose original has changed in 3 or more pixels since is no longer a near-identical twin; the report does not list it. A visit repairs it.
  • A copy that filled a place where nothing was known is accepted. That chunk shows wrong terrain instead of "unexplored" until someone visits it.
  • A player who joins with no map receives the copies the server holds (only a client with its own tile can keep it). Your own good tile that a copy overwrote before you updated is gone; walking through the chunk redraws it.

For players: if your map shows wrong tiles, walk through those chunks; World Map redraws them and the fresh tile replaces the wrong one on the server and on everyone's map.

Compatibility

2.0.2 works with 2.0.1 and 2.0.0 in any combination of client and server. The network protocol (v5) is the same, the map file formats are unchanged, and the one new config key is optional, so you can update servers and players one by one. Still not compatible with 1.0.0 (protocol v4); sync stays off with a chat message until both sides run 2.0.x.

  • 2.0.2 client on a 2.0.1 or 2.0.0 server: connects and syncs as before. The server has no guard, so copies it holds are still handed out; your 2.0.2 client refuses the ones that would replace your own tiles.
  • 2.0.2 server with a 2.0.0 client: that client's live copies are refused and the stored tile stays. It gets the server's tile at its next re-sync. A running 2.0.0 client keeps making copies until it is restarted; each attempt costs the server one small refused upload and no more than one log line a minute. Update the clients.
  • 2.0.2 server with a 2.0.1 client: judged like a 2.0.0 client, since it cannot say it is clean. 2.0.1 makes no copies, so normally nothing is refused. In a rare case a tile can be refused wrongly: a player pastes, in one save (WorldEdit, a schematic), a chunk-exact duplicate of another varied chunk of the same region. The previous tile then stays until a 2.0.2 player redraws the chunk there; nothing is lost or deleted.
  • 2.0.2 server with 2.0.2 clients: the uploads are trusted and not judged; the clients guard their downloads.

Test result

  • In the real game on Minecraft 1.21.1 (Fabric), 2026-10-14, with a copy planted into the server's map store (one tile replaced by another varied tile of the same region):
    • A 2.0.2 client kept its own tile for 12 re-sync rounds (about 2 minutes, with the rounds shortened to 10 seconds) and wrote the log line once.
    • A player who joined with no map received the copy. That is the limit described above.
    • When the 2.0.2 player walked to the chunk, the server's tile was replaced by the player's correct tile within 6-10 seconds, byte for byte the tile the client had kept, and the other player had it within a second. Afterwards there were no copied tiles anywhere.
    • With the released 2.0.1, the same client took the copy within 7 seconds.
  • Automated tests: 721 core tests, also run on Java 8.
  • Real data: the report tool run over a real server map from a live server found exactly the 4 copied pairs known there, in about 8 seconds.

Requirements

Unchanged from 2.0.1:

  • Xaero's World Map 1.46.0 or newer, on the server and every client.
  • Fabric: Fabric API for your Minecraft version. Forge / NeoForge: xaerolib, which World Map needs anyway.
  • Xaero's Minimap is optional (client only); if you use it, 26.4.0 or newer.

Known limitations

  • On a LAN game the host's own map does not sync (Xaero maps the host's world straight from the save); guests sync normally.
  • Xaero's "full" cave mode layer is not synced; the sliced cave layers are.
  • Map data you had before joining reaches other online players at their next periodic re-sync (every 120 seconds by default), not live. A new change in a region that was already identical on your client and the server goes out live.
  • A live update for a dimension you have never visited is written to your disk right away only when the server has Xaero's World Map installed (it is required); otherwise it arrives when you enter that dimension.
  • Xaero map files in a pre-6.x save format are skipped until Xaero rewrites them.
  • Client and server must be on the same Minecraft family. Joining through a version-bridging proxy such as ViaVersion turns sync off for that player, with a message.
  • After the server moves to a Minecraft family with a different region format, the shared map starts over and is rebuilt from what players upload. The old server data is kept on disk, not deleted; your own old local map syncs again once World Map rewrites it (by revisiting the area).
  • A map region you are looking at reloads briefly when other players' tiles arrive for it.
  • Server and every client must speak the same protocol version. All 2.0.x versions do, so 2.0.0, 2.0.1 and 2.0.2 can be mixed; 1.0.0 cannot.
  • The copied-tile guards are limited as described under "If your map already has copied tiles".

By Obscura. Unofficial add-on, not affiliated with Xaero.

This mod has no additional files