Skip to content

Repository files navigation

MinecraftOfflineOnlineConverter v26.1

App version 26.1 Minecraft version 26.2 Java version 26

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.

Supporting

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!

Usage

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>
  • -offline to convert your server to offline files
  • -online to convert your server to online files
  • If necessary -p "path/to/server/folder/" (if the jar is not in the server's main folder)
  • -copy to copy player data from one world to another
  • -properties to 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 -customApiBaseUrl for this lookup
  • -retrieveNameUrl "https://myskinserver.com/api/.../" full UUID to name endpoint URL (domain + path). Only the UUID is appended. Overrides -customApiBaseUrl for this lookup
  • -verbose for verbose console output (for debugging and error reporting)
  • -v print MOOC version
  • -h for help

Known Issues

  • 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

Building

Executing the command

./gradlew clean shadowJar

builds a runnable JAR with all dependencies.

Disclaimer

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 :)!

License

This project is licensed under the MIT License.

Remark

Minecraft is a registered trademark of Mojang AB.

About

A simple Java application to convert Minecraft server player files between online and offline mode.

Topics

Resources

Contributing

Stars

66 stars

Watchers

4 watching

Forks

Releases

Used by

Contributors

Languages