Palworld Dedicated Server Save Corruption Fix

Hello, forgive me as this will be the first time I've made a tutorial so I'll try and make it as concise as possible without making it extremely long. Many who have tried playing on Palworld servers may have already experienced it or heard of people who have had their entire save basically "bricked" due to a bug that has to do with someone leaving your guild while some are offline causing those some to be unable to login and merely see an infinite loading screen.

I'm currently using Windows, so if you are using a Linux server then hopefully it's close enough to help you.

This method will not return your levels, but a healthy 10,000x EXP gain in the server config for a minute while you beat up pals is enough to get you to 25-30. Inventory, Party Pals, Equipment, Palbox Pals, and such can all be regained.

I'd recommend backing up your server saved files as well just in case you need to start again from scratch.

Step 1. Setup Python (https://www.python.org/downloads/), a decent text editor that can handle large files like Notepad++ (https://notepad-plus-plus.org/downloads/), and both of the Palworld save tools by cheahjs (https://github.com/cheahjs/palworld-save-tools/blob/main/convert-single-json-to-sav.py / https://github.com/cheahjs/palworld-save-tools/blob/main/convert-single-sav-to-json.py)

Step 2. In your server's files, navigate to \steamapps\common\PalServer\Pal\Saved\SaveGames\0\randomnumbers\, and copy Level.sav, and also the Players folder into whatever folder you have the two save python scripts in.

Step 3. Drag the Level.sav onto the convert-single-sav-to-json.py script and type Y to allow it to continue, and it should take a decent length of time as it's converting that 15MB~ file into over a gigabyte so give it some time.

Step 4. Open up Notepad++ and open the Level.sav.json which will also take a bit to load, after that you are going to press CTRL+F to open up the find window, and type guild_name in the Find what box and press Find Next.
1706288085732.png

Step 5. It should look something similar to this ^^^; the highlighted area is what you'll need to determine which files in the Players folder belong to who. Figure out which UIDs you need and find the corresponding file in the Players folder.

Step 6. Convert each corrupted player file in json using the convert-single-sav-to-json.py script. Rename the corrupted player file you converted into corrupted.sav.json

Step 7. Delete the corrupted player file from the SERVER's files and restart. Doing so will allow the players to join the server and create a new character which you will need to copy over the old values into the new file.

Step 8. Once the corrupted player has finished making their character, a new player file should be found in the server's Players folder. Copy that new player file over to the folder where you are converting files and also convert it using the convert-single-sav-to-json.py script.

Step 9a. You can now open the corrupted.sav.json and the new player file in any text editor and compare UIDs. I found https://text-compare.com/ works well enough to simplify the comparison.

1706289194224.png

Step 9b. Some have said merely copying over the InstanceId GUID from the corrupted to the new player file was enough to bring everything over, but I'm going a bit more in depth with the different variables so you are welcome to try that and recompile the file to see if it works.

Step 9c. Begin copying over the GUIDs from OtomoCharacterContainerId, inventoryInfo, DropSlotContainerId, EssentialContainerId, WeaponLoadOutContainerId, PlayerEquipArmorContainerId, FoodEquipContainerId, and PalStorageContainerId.

Step 9d. Learned technologies is a pretty simple area to copy over, just put a comma after "Battle_MeleeWeapon_Bat" and you can just copy the rest below it over.
1706289796923.png

Step 9e. To recover Paldeck, Boss completions, and a few other variables you wil ned to copy over the next large chunk. Starting right after a "Struct": "PalContainerId" line, you will copy over everything below it all the way until the }, above "struct_id" line. Use screeenshots for reference.
1706289980240.png1706290005473.png
Step 9f. There are some other variables that are contained in here that you can easily change in case your Lifmunk effigies don't reappear. RelicPossessNum is the variable you can search for to increase to a point that'll get you back to whatever level you had your capture power at.

Step 10. You can now save the newly modified player file, and convert it back using the convert-single-json-to-sav.py script. Put it back into your server, restart, and you should be hunky dory.

That's it, a lot to look through, but it is possible to get your stuff back, so bump that exp gain up for a little bit and you're back to exploring!
 
  • Like
Reactions: Flame and linuxares

nsguan

New Member
Newbie
Joined
Feb 6, 2024
Messages
1
Trophies
0
Age
20
XP
2
Country
United States
I am ale to follow up to step 6 but it seems for me that the corrupted player files aren't able to be converted into json files because they are full of null bytes.
 

Wolfy

Person That Never Was
OP
Member
Joined
Aug 18, 2015
Messages
1,134
Trophies
0
Age
25
Location
Somewhere In The Aether...
XP
3,007
Country
United States
so does the old file and the new file need to be 100% the same im moving my saves and all from one server to another

As long as you move the Level.sav over as well you should be good. And it's really just copying the old UIDs from your corrupted save over to the newly created character UIDs.
 

theLargePhoenix

New Member
Newbie
Joined
Feb 8, 2024
Messages
1
Trophies
0
Age
25
XP
3
Country
United States
im on the same boat as nsguan and unable to convert it to json. im assuming he has the same error which is

\Save Tools\palworld-save-tools-windows-v0.18.0\palworld_save_tools\palsav.py", line 18, in decompress_sav_to_gvas
raise Exception(
Exception: not a compressed Palworld save, found too many null bytes, this is likely corrupted
Post automatically merged:
 

Nephy

New Member
Newbie
Joined
Feb 24, 2024
Messages
1
Trophies
0
Age
40
XP
2
Country
United Kingdom
im on the same boat as nsguan and unable to convert it to json. im assuming he has the same error which is

\Save Tools\palworld-save-tools-windows-v0.18.0\palworld_save_tools\palsav.py", line 18, in decompress_sav_to_gvas
raise Exception(
Exception: not a compressed Palworld save, found too many null bytes, this is likely corrupted
Post automatically merged:

Does anyone know a fix for this? I am stuck here too :(
 

Nayah_01

New Member
Newbie
Joined
Feb 25, 2024
Messages
1
Trophies
0
Age
38
XP
2
Country
Belgium
This afternoon when we tried to log in to our server (which I host with SteamCMD) the three of us have been getting a new char screen pop-up. I've tried multiple fixes and nothing seems to work. With these explanations I've tried manually copying the details of the old save into a new player save file, and I seem to be able to get the paldeck unlocks, technology points, the playermakeupdata working.

But the moment I try to copy the guids from the playerinventory and I connect to the server, the server just stops working. By that I mean that the black cmd-screen from palserver-win64-test-cmd.exe just closes itself when I try to connect to the server.



We've been playing for a while now and apparently lost all our inventory, our bases, our materials... I did not make regular backups so no way to reroll...

I've been trying to fix this for 5hr now and can't seem to get any further...

Anyone got an idea what would be wrong?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Lol rappers still promoting crypto