EbonJaeger / perworldinventory-kt

Multi-world inventory plugin for Spigot written in Kotlin.
MIT License
46 stars 32 forks source link

[URGENT] Migrating data files to a new server. #169

Open diegotcach opened 4 years ago

diegotcach commented 4 years ago

Good afternoon,

.I just want to ask a really quick question. I have a server with PWI, im migrating all the inventories to a NEW server where PWI is not needed anymore. I know I cant convert the .json files from PWI to .DAT files. So I basically added PWI to my new server to keep all the inventories. I downloaded all the files and uploaded them to the new server. For some reason, this is not working. I've changed the worlds name in worlds.yml with the new ones and still not working. I really don't wanna lose 40k files.

Thank you!

EbonJaeger commented 4 years ago

As long as the world names inside the groups match, it should be fine... Note though that when players log in, they'll have the inventory that Minecraft tracks in the world .dat files. If this is a new server with a new setup, why do you want to keep the old inventories anyways?

diegotcach commented 4 years ago

As long as the world names inside the groups match, it should be fine... Note though that when players log in, they'll have the inventory that Minecraft tracks in the world .dat files. If this is a new server with a new setup, why do you want to keep the old inventories anyways?

I'm basically switching to a better server. I don't want players to start from scratch. I've literally copied the data folder to the new server. But users are starting with the essentials kit.

EbonJaeger commented 4 years ago

Are the worlds new? It sounds like you're using new worlds, which don't have the player data from the previous server.

diegotcach commented 4 years ago

Are the worlds new? It sounds like you're using new worlds, which don't have the player data from the previous server.

There's 4 worlds, which 3 of them are new. But, the inventories are saved in the PWI plugin right? So doesn't matter the worlds(?)

EbonJaeger commented 4 years ago

It's not as simple as that. A player's current inventory (and thus the inventory they log out and join with) is tracked by Minecraft in the world data files. PWI just saves inventories when a player changes world group or gamemode, and sets them to the player accordingly when moving between groups/gamemodes.

diegotcach commented 4 years ago

It's not as simple as that. A player's current inventory (and thus the inventory they log out and join with) is tracked by Minecraft in the world data files. PWI just saves inventories when a player changes world group or gamemode, and sets them to the player accordingly when moving between groups/gamemodes.

Alright, is there any solution?

medeman commented 4 years ago

I don't get how it's supposed to work. I'm migrating from a single server to individual servers per map using BungeeCord. The way I understand it is that the only world that has up-to-date playerdata files is the default world in server.properties - and the .dat files all have the last used inventory of the player saved, not necessarily the inventory of the world.

So I thought I'd install perworldinventory-kt and MultiVerse on every instance and copy over the data folder and the worlds.yml groups. On one server the map is called hawaii3, I confirmed that there's a hawaii3.json in the data/UUID folder of my own player/account. Looking at it it also has some items in the inventory. When I connect to the server the inventory doesn't get loaded, it's just empty. When I switch to creative mode, the inventory from hawaii3_creative.json is loaded. When switching back, the survival inventory is still empty. By that point the plugin changed the hawaii3.json file so all inventory slots are now empty (AIR).

Why does this happen?

I've been on this problem for many hours now and I'm out of ideas.

disable-bypass is set to true in the config.yml.

This is my worlds.yml:

groups:
  hawaii3:
    worlds:
      - hawaii3
      - hawaii3_nether
      - hawaii3_the_end
    default-gamemode: SURVIVAL
EbonJaeger commented 4 years ago

Inventories do not get loaded on player join unless they log in to a group that is different from the one they logged off in, since there would really be no need to otherwise.