# MapSyncer (Paper) — server half of the "MapSyncer for Xaero's World Map" mod. # # The server renders Xaero's World Map region files from the world on disk and # streams them to players who run the MapSyncer client mod (Fabric/NeoForge, # same Minecraft version as the server) alongside Xaero's World Map. # # Unlike the upstream mod, this plugin does NOT ship the whole generated world. # It tracks which chunks were actually sent to players and renders only those, # so pre-generated or never-visited terrain stays hidden until someone finds it. # What a player receives. # shared every player sees the union of everything anyone has discovered # own each player sees only the chunks they discovered themselves # (plus the seeded history below, which cannot be attributed) visibility: shared # On first start (or /mapsync seed) mark every chunk that players have # already spent time in as discovered, using the chunk's InhabitedTime. Chunks # that were merely pre-generated (Chunky, distant-terrain LOD generation, ...) # have an InhabitedTime of 0 and stay hidden. seed: from-inhabited-time: true # Minimum InhabitedTime (ticks) for a chunk to count. 1 = anything at all. min-inhabited-ticks: 1 discovery: # A chunk counts as discovered when the server sends it to a player, which is # exactly what Xaero's client maps. -1 keeps that; a positive number caps the # distance (in chunks) from the player at which a sent chunk still counts. radius-chunks: -1 # How often the discovery bitmaps are flushed to disk (seconds). save-interval-seconds: 60 render: # How often dirty regions (changed world data or new discoveries) are # re-rendered in the background (seconds). interval-seconds: 300 # Worker threads for MCA -> Xaero conversion. Each region is a full parse of a # ~10 MB region file; keep this small on a shared box. threads: 2 # Flush the world to disk before a render cycle so freshly explored chunks are # on disk. This is the same operation the autosave performs. save-world-before-render: true # A sync request whose regions are not rendered yet renders them inline, but # stops after this many seconds and leaves the rest to the background cycle # (the client re-polls). Keep well under the client's 10 minute session limit. inline-budget-seconds: 420 sync: # Largest sum of region bytes in one packet (client cap is 1,000,000). max-packet-bytes: 262144 # Per-player send rate. 0 disables the limiter. speed-limit-kbps: 1024 # Advertised to clients: how often (ticks) their mod re-polls for changes. client-poll-interval-ticks: 6000 # Delay (ticks) between the client announcing the mod's channels and the # server's hello. The client needs a few seconds after join to read its own # cache, otherwise it forgets what it already has and re-syncs on every join. hello-delay-ticks: 100 # Per-world settings. Keys are Bukkit world names. Anything not listed uses # "default". `layers` controls what is rendered: # auto surface for worlds with a sky, cave layers for worlds with a ceiling # surface top-down map only # caves cave layers only (16 blocks each, like Xaero's own cave mode) # both worlds: default: enabled: true layers: auto