EchoMirror
Keep your progress when your server mode changes.
Server-side only · Automatic identity binding · Optional FTB integration
Switching between online and offline mode changes the UUID Minecraft uses to identify a player. This can leave an existing inventory, statistics and progress attached to a different identity.
EchoMirror links a player's offline identity to their online UUID, allowing successfully bound players to keep using the same saved data across server mode changes.
Players do not need to install EchoMirror on their clients.
What it preserves
| Data | Supported content |
|---|---|
| Player state | Inventory, armor, ender chest, experience, position and other saved player state |
| Vanilla progress | Statistics and advancements |
| FTB Teams | Supported team ownership, membership and player references |
| FTB Quests | Supported quest progress and reward records |
FTB integration is optional. Supported FTB versions depend on the Minecraft version and EchoMirror release.
Automatic binding, with administrator control
- Automatic matching: Uses known player names to look up matching online accounts before the dedicated server opens its world.
- Backups before migration: Creates backups before applying data changes.
- Conflict protection: Preserves conflicting data for administrator review instead of choosing a player state automatically.
- Recovery support: Tracks migrations and attempts recovery or rollback when an operation is interrupted.
- Manual binding: Lets administrators handle different player names and explicitly choose which existing player state to keep.
Once binding is complete, normal switches between online and offline mode reuse the established identity without repeating the migration.
Available versions
| Minecraft | Mod loaders | Java |
|---|---|---|
| 1.19.2 | Forge | 17 |
| 1.20.1 | Forge, Fabric | 17 |
| 1.21.1 | Fabric, NeoForge | 21 |
| 1.21.11 | Fabric, NeoForge | 21 |
Download the file matching both your Minecraft version and mod loader.
Fabric releases require Fabric API.
Getting started
- Stop your dedicated server normally and back up your world.
- Place the matching EchoMirror JAR in the server's
modsfolder. - Start the server. Automatic binding is enabled by default for known players.
- Review the console output and use
echomirror statusto check the results.
Initial automatic matching requires access to Mojang's public profile service. Existing player name records are needed to identify old offline data.
Always stop the server normally before changing
online-mode. Allow additional disk space and startup time for the first migration; migration backups are retained until you remove them.
Manual binding
Run these commands from the dedicated server console:
echomirror status
echomirror bind-offline <onlineUUID> <onlineName> <offlineName> [offline|canonical]
echomirror cancel
offlinekeeps the offline player's existing state and is the default.canonicalkeeps the existing online player's state.cancelcancels a queued manual binding before it starts.
Apply queued bindings with a normal server shutdown and restart.
Inventories, statistics and advancements follow the selected state. They are not combined into a merged save.
Scope and compatibility
- Designed for dedicated servers.
- FTB integration supports specific versions of FTB Library, Teams and Quests. Use versions supported by your EchoMirror release.
- FTB Chunks is currently unsupported and prevents binding.
- Pet ownership, other mods' UUID-based storage, external permission or economy databases, and FTB block-entity references require separate handling.
- Administrators must verify that linked identities belong to the same person. Name matching alone does not prove account ownership, and server authentication rules remain unchanged.


