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
885 stars 69 forks source link

[Feature Request] Action in Reverse? #12

Closed eaganlai closed 8 months ago

eaganlai commented 8 months ago

This tool is to create a XXXXX000000,sav from 0000000001.sav I am in a reversed situation as I want to create a 000000000.1sav from XXXXX0000000.sav Grateful if anyone share their experience on this.

xNul commented 8 months ago

Great idea! I'll look into adding it.

Bloopis commented 8 months ago

I wanted the same feature. I have started to modify the script. Can upload if you want @xNul

xNul commented 8 months ago

@Bloopis sure! I'm not sure if I'll accept it yet though, need to see how you're implementing it first because I have a design in mind to add a few other features too

Bloopis commented 8 months ago

Np @xNul .

Here the code, feel free to use it. fix-host-save.zip

For bool I have used standard method to not add any dependency. Which lead that any value given (aa, true, bb) will leave as True bool value.

I have a TBD (line 68) for line 69. Because you require the file host_new_sav_path only for delete it after (no changes are made to this file). So I have modified if block for the revert but maybe is more clear to delete this block.

matthewjohnstone96 commented 8 months ago

@Bloopis How do you use your script? I assume something like python fix-host-save.py "C:\path\to\uesave.exe" "C:\path\to\dedicated\server\save\SERVER_SAVE_HASH" 00000000000000000000000000000001 True

KonRK4 commented 8 months ago

@matthewjohnstone96 not "True" its "reverse"

Mine is python fix-host-save.py C:\Users\Kon.cargo\bin\uesave.exe C:\Users\Kon\Desktop\Fix 36BA2666000000000000000000000000 reverse

Bloopis commented 8 months ago

@matthewjohnstone96 You use it like you use the standard mode and just add extra param to activate the reverse mode

python fix-host-save.py "C:\path\to\uesave.exe" "C:\path\to\dedicated\server\save\SERVER_SAVE_HASH" XXXXX00000000000000000000000 True

@KonRK4 Actually the code is open, you can add what you want, if there is a value the script will activate the reverse mode

xNul commented 8 months ago

@eaganlai should be able to do this now with the latest update to the code so I'm going to close it. Just use the 00001 GUID as the new GUID and the player's current GUID as the old GUID. Feel free to let me know if it doesn't work and I'll reopen this

progranadegrinder commented 8 months ago

I did test this and it worked for me.

Dr-WeiAL commented 8 months ago

Np @xNul .

Here the code, feel free to use it. fix-host-save.zip

For bool I have used standard method to not add any dependency. Which lead that any value given (aa, true, bb) will leave as True bool value.

I have a TBD (line 68) for line 69. Because you require the file host_new_sav_path only for delete it after (no changes are made to this file). So I have modified if block for the revert but maybe is more clear to delete this block.

Can it be converted to a co-op if it started out as a Windows dedicated server save and has not been converted? I went into the game after the conversion and ended up recreating a character

Dr-WeiAL commented 8 months ago

@eaganlai should be able to do this now with the latest update to the code so I'm going to close it. Just use the 00001 GUID as the new GUID and the player's current GUID as the old GUID. Feel free to let me know if it doesn't work and I'll reopen this

It really doesn't work, at least when I try.

C:\Users\WeiAL\Desktop\Tool\pal-save\palworld-host-save-fix>python fix-host-save.py "C:\path\to\uesave.exe" "C:\Users\WeiAL\Desktop\5FCEEF154A7E4548564696B12C3D04FA" 00000000000000000000000000000001 83DBAA5F000000000000000000000000
WARNING: Running this script WILL change your save files and could potentially corrupt your data. It is HIGHLY recommended that you make a backup of your save folder before continuing. Press enter if you would like to continue.
>
ERROR: Your player save does not exist. Did you enter the correct new GUID of your player? It should look like "8E910AC2000000000000000000000000".
Did your player create their character with the provided save? Once they create their character, a file called "C:\Users\WeiAL\Desktop\5FCEEF154A7E4548564696B12C3D04FA/Players/00000000000000000000000000000001.sav" should appear. Look back over the steps in the README on how to get your new GUID.
xNul commented 8 months ago

@Dr-WeiAL it will only work on saves that were originally co-op and if you still have the original 00001 save

Dr-WeiAL commented 8 months ago

@Dr-WeiAL it will only work on saves that were originally co-op and if you still have the original 00001 save

Okay, I get it.