Ever started playing on one of your Minecraft servers and a few hours later that one friend that didn't buy the game wants to join? Now you have to start a lengthy process of turning your server to offline mode and making sure everyone has their inventory and achievements after the switch...
This happened to me way to often, and now I automated the whole process. The Java applicatin will convert all player related files to be offline or online compatible.
| Server Type | Min. MC Version | Max. MC Version |
|---|---|---|
| Vanilla | 1.7.6 | 26.2 |
| Bukkit | 1.7.6 | 26.2 |
| Forge | 1.7.10 | 26.2 |
| Fabric | 1.14 | 26.2 |
| Paper | 1.7.10 | 26.2 |
| Spigot | 1.8 | 26.2 |
Mojang introduced UUIDs in Minecraft 1.7.6 (2014). Converting between pre 1.7.6 and post 1.7.6 is currently not being
pursued and will not be any time soon.
If you find any bugs or edge cases, please report them to this repo!
First look at Disclaimer and make sure you understand the "risks" of using this tool.
- Download the most current jar
- Place it in your server's main folder (not mandatory, just makes things easier)
- Execute the jar through your terminal with the following command:
java -jar MinecraftOfflineOnlineConverter.jar <arguments>-offlineto convert your server to offline files-onlineto convert your server to online files- If necessary
-p "path/to/server/folder/"(if the jar is not in the server's main folder) -copyto copy player data from one world to another-propertiesto directly edit values in server.properties-customApiBaseUrl "https://myskinserver.com"custom API base URL for online UUID/name lookups (Mojang API path schema was to be used read more here). Useful for custom auth/skin servers like Blessing Skin-retrieveUUIDUrl "https://myskinserver.com/api/.../"full name to UUID endpoint URL (domain + path). Only the player name is appended. Overrides-customApiBaseUrlfor this lookup-retrieveNameUrl "https://myskinserver.com/api/.../"full UUID to name endpoint URL (domain + path). Only the UUID is appended. Overrides-customApiBaseUrlfor this lookup-verbosefor verbose console output (for debugging and error reporting)-vprint MOOC version-hfor help
- Paper servers (when converted to offline), sometimes create
<Online UUID>.dat.offline-read) files - No confirmed support for Sponge servers
- Entity relations tied to players (e.g. pet ownership) is not transferred. Here is a workaround that works for now
Executing the command
./gradlew clean shadowJarbuilds a runnable JAR with all dependencies.
Please always make a backup of your game files before using this tool. Whilst it was thoroughly tested on my own servers, there is always the chance that a bug might occur!
If you need this application for a lower Minecraft and/or Java version, please leave me a message or issue :)!
This project is licensed under the MIT License.
Minecraft is a registered trademark of Mojang AB.