Palworld Dedicated Server Save Corruption Fix | GBAtemp.net

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 steamappscommonPalServerPalSavedSaveGamesrandomnumbers, 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.

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!

https://gbatemp.net/threads/palworld-dedicated-server-save-corruption-fix.646958/

Related Posts