WorldLedger
Save the parts of a multiplayer Minecraft server you actually explored, and open them later as a single-player world.
A client-only Fabric mod for Minecraft 26.2, plus a command-line tool. Apache-2.0.
How it is different from a world downloader
A world downloader keeps one snapshot of what a player could see and overwrites it the next time. WorldLedger keeps every observation along with the moment it was made and the person who made it.
- Time. An archive can be read at a chosen point in time, not only at its most recent state.
- More than one explorer. Two players who visited the same server can merge what they saw. When their recordings disagree, both are kept and labelled rather than one silently winning.
- Honest gaps. A chunk nobody observed is left out of the exported world, not filled with air. Missing is recorded as missing.
What it does
- Records chunks, biomes and block entities as an ordinary Minecraft client receives them, on a background thread, into a crash-safe folder.
- Imports those recordings into a content-addressed archive where nothing is ever overwritten.
- Writes Anvil region files that an unmodified Minecraft client opens.
- Converts an archive toward an older release, into a separate world, with the losses declared rather than hidden.
- Signs contributions, withholds or removes them on request, and lets two archives merge over a plain folder with no server in between.
Using it
worldledger-desktop is one file. On Windows it opens a window; on macOS and Linux it opens in your browser, which is the same application with nothing left out. Either way it reads what your Minecraft is missing, and offers to add Fabric and the mod in a single step that names every file it would write before writing any of them. After that it is: play, bring in what was recorded, decide what may be shared, make a world. Nothing is code-signed, so Windows will warn that the publisher is unknown.
Everything the window does is also a command, which is the way in for scripting, and for the operations the window deliberately leaves out:
worldledger init ./archive
worldledger ingest-spool --archive ./archive
worldledger policy set --archive ./archive --server example.org --disposition private --declared-by your-name
worldledger export --archive ./archive --server example.org --overwrite --into /path/to/world
The mod writes its recordings while you play; the tool assembles them afterwards. The export is written into a world the game itself created, because the world file that records the version and generator is not something this project should invent.
Where it stands
Rebuilding has been checked in a real Minecraft 26.2 client: an exported chunk loads and renders correctly, including sections below y=0 and block state properties, confirmed both in game and by an independently written reader of the file format.
The same observed world state, captured by a Windows client and by a Linux one, canonicalizes to byte-identical results. That comparison is committed as a reference and runs on every push, so a later divergence fails the build instead of waiting to be noticed.
Not everything is done. A world converted for an older release has been opened by a Minecraft 1.21.11 server, which answered correctly for what it found, but no older client has rendered one. The window has only been run on Windows. Nothing is code-signed. Every claim and its evidence is listed in status.md, including what is not verified.
Before you use it
This records data a normal client receives, on servers whose operators and players may not know an archive exists. Accumulated coverage of a server can reveal more than any single recording does, which is why the tool requires an explicit, attributed decision before it will build anything shareable. The reasoning is in the trust model.
Technical ability to perform an operation is not permission to perform it. Responsibility for use rests with the user, including complying with the terms of any server involved.