LilyPad / GoLilyPad

GNU General Public License v3.0
98 stars 58 forks source link

Player data not working #35

Closed ghost closed 7 years ago

ghost commented 8 years ago

I've updated to Minecraft 1.9.4 and it seems that everytime a player goes to Hub or disconnects, the players inventory resets, removing everything they had and treating the player like a new player by not saving the players data file. Been using proxy version #148 and bukkit-connect #98.

ghost commented 8 years ago

This is more than likely a server end issue being that LilyPad does not affect player/uuid files

coelho commented 8 years ago

Yeah this would be more of a Bukkit-Connect bug but this place is fine as well. I haven't heard of this bug before, I'll need to test it.

ghost commented 8 years ago

I'm sorry, I wasn't sure what it would fall under so I posted it here. Lilypad servers were the only ones experiencing this issue even on servers with no other plugins. I'll try to give more info if needed.

ghost commented 8 years ago

Posting a log of your console after player join/leave might help coelho

ghost commented 8 years ago

Okie dokie, will try that right away. The whole text file log or should I upload it to a site. I don't recall the name of the site at the moment for that though

ghost commented 8 years ago

Upload it to a site - it will make it easier for people to read

ghost commented 8 years ago

http://pastebin.com/gUxnGUUB Link to the Hub server console log. Did you want the logs for the proxy and connect as well?

ghost commented 8 years ago

If anything else is needed just let me know. I've been triple checking everything to try and verify if it's something wrong on my end but sadly have come up with nothing. I did use the previous version of bukkit connect #97 and it did solve the issue of players inventories being reset but then players skins weren't working or the permissions. So I'm guessing it is something with the bukkit-connect file after all. Also thanks again for looking it into the problem, I greatly appreciate it.

manuelgu commented 8 years ago

I can confirm this bug. Fresh install of spigot 1.9.4 and BukkitConnect.

manuelgu commented 8 years ago

This seems to be an issue with the playerdata files. OfflinePlayer#hasPlayedBefore returns false after the upgrade when the join for the first time.

@coelho Any clue?

manuelgu commented 8 years ago

After further investigation it turns out that the playerdata/uuid.dat files itself are stored properly.

  1. Move to somewhere else, put item in your inventory and log off.
  2. Inspect .dat file and see that location and inventory is stored
  3. Login again
  4. Inspect .dat file again, location and inventory is still stored
  5. Log off
  6. Inspect .dat file once more, see empty inventory and default location
coelho commented 8 years ago

I'll review this more in a few days. I think I have an idea of what it is.

fatboy2380 commented 8 years ago

I think I've been experiencing a similar if not the same issue where when I log in for the first time (new uuid.dat file) I spawn correctly, but when I log out, it will always spawn me back at that position when I log in even if I move.

From what I can tell it's creating 2 uuid.dat files, one with the offline uuid, and a new one is created with the correct uuid and is updated on logout, but it always reads from the offline uuid.dat file.

Maescool commented 8 years ago

So I've been looking into the code 1.8 UserCache public UserCache(MinecraftServer minecraftserver, File file) { 1.9 and up: public UserCache(GameProfileRepository gameprofilerepository, File file) {

So, my guess is Bukkit-Connect, LoginListener, usercache part needs to be updated

coelho commented 8 years ago

Please check if the latest LilyPad-Connect fixes this?

manuelgu commented 7 years ago

This has been fixed and can be closed.