xNul / palworld-host-save-fix

Fixes the bug which forces a player to create a new character when they already have a save. Useful for migrating maps from co-op to dedicated servers and from one dedicated server to another.
MIT License
887 stars 68 forks source link

Found Data not being Transferred in level.sav #92

Closed Simpuhl closed 5 months ago

Simpuhl commented 5 months ago

Backstory:

I converted my local Windows save to Linux.

I tried using this script to get my data moved and I managed to get everything "except my base". It was there but no longer belonged to me.

I then used this tool: https://github.com/cheahjs/palworld-save-tools to compare my local level.sav with my new server level.sav and it was missing these lines:

I copied and pasted these into my new level.sav and got a step further.

I can now SEE my bases on the MAP and I can even fast travel to them, however it still shows they belong to another player.

Hoping someone can use these details to find a fix?

Screenshots:

Local levels.sav image

Server level.sav (Missing all the properties listed above) image

There is obviously something else missing that gives the player ownership of the palbox...

JannikBirn commented 5 months ago

It's hard to tell by your screenshots, but it looks like these are two different groups. The current version of the script dosn't adjust the player guid for the groups. Because of that, you will get a new group on the server. In the second screenshot the group has what semse like your correct guid in the "admin_player_uid" and the "player_uid" field. In the first screenshot these guids are still the old "default host" one. So the fix here would be to delete the newly created group and adjust the player and admin guids for the old one. You can try my script, that is a copy of this one but works slightly different and will adjust these guids accordantly. (I would recommend start from the previous save state)

Simpuhl commented 5 months ago

It's hard to tell by your screenshots, but it looks like these are two different groups. The current version of the script dosn't adjust the player guid for the groups. Because of that, you will get a new group on the server. In the second screenshot the group has what semse like your correct guid in the "admin_player_uid" and the "player_uid" field. In the first screenshot these guids are still the old "default host" one. So the fix here would be to delete the newly created group and adjust the player and admin guids for the old one. You can try my script, that is a copy of this one but works slightly different and will adjust these guids accordantly. (I would recommend start from the previous save state)

I am about to try your script, going to wipe my server and start from my local save again. I'll test it out and hopefully it works :)

szentigrad3 commented 5 months ago

It's hard to tell by your screenshots, but it looks like these are two different groups. The current version of the script dosn't adjust the player guid for the groups. Because of that, you will get a new group on the server. In the second screenshot the group has what semse like your correct guid in the "admin_player_uid" and the "player_uid" field. In the first screenshot these guids are still the old "default host" one. So the fix here would be to delete the newly created group and adjust the player and admin guids for the old one. You can try my script, that is a copy of this one but works slightly different and will adjust these guids accordantly. (I would recommend start from the previous save state)

just tried your script and it worked from windows coop to linux dedicated, as where i could not get this one working

xNul commented 5 months ago

This issue is a duplicate of https://github.com/xNul/palworld-host-save-fix/issues/69. I'm working on applying the fixes discovered in that issue to the script, but if you would like to stay updated, please subscribe to that issue.