Palword dedicated servers have an issue when transferring from Linux to Windows or vice versa that prompts players with a character creation screen despite the saved files being present. This is because the server assigns different player GUIDs for each operating system. The fix below will be using a script for Python and an Unreal .sav file editor to manually switch the GUIDs of each affected player, effectively restoring their save. This process can also be followed if only one save is broken, which can occur after a game update or server crash.
Requirement: Python version 3.10 or higher is required for the scripts used in this guide. Click here to jump to the Python installation steps.
Note: This fix is highly experimental. Multiple bugs may occur, including data loss. Make backups locally to avoid losing necessary files.
1. Log in to the BisectHosting Starbase panel.
2. Go to the Files tab.
3. Find the following directory: /home/container/Pal/Saved/SaveGames/0/[World]/Players .
Note: If transferring from another server, follow the guide here to copy over the world files.
4. If all players cannot log in to their characters after a transfer, each player's old and new GUID must be found. This can be done by observing the Date Modified filter on their player file after they log in or create a character.
Note: To find someone's old GUID after a Server Transfer, have them log in to the previous server. If not all player saves are lost or no transfer occurred, the affected player's old GUID can be found by having every other player log in to the server and noting the oldest file.
5. After noting down the affected save files and who they belong to, stop the server.
6. Go to the Files tab.
7. Find the following directory: /home/container/Pal/Saved/SaveGames/0 .
8. Download the World folder.
9. Rename the same folder to create a backup.
10. Go to the Palworld Host Save Fix and select Code > Download ZIP.
11. Download the uesave-rs tool for the desired operating system.
12. Extract all downloaded files into a new temporary folder.
13. From the folder, press Shift + Right Click and choose Open PowerShell window here to open a command window in the folder.
Note: If this option does not appear, ensure no files are selected, and the right-click is done in an empty area of the folder.
14. Run the following command: python gui.py
15. Under the uesave section, select Browse and choose the uesave.exe file.
16. From the save folder section, select Browse and choose the World folder from step 8.
17. For every affected player, choose the New GUID from their new character and the Old GUID from their old character and select the Guild fix checkbox.
18. Once finished, press Run Command and confirm the warning by pressing Enter on the keyboard.
19. Wait for a few minutes for the fixes to apply to the save and confirm once finished.
Note: Repeat steps 17-19 for each affected player on the server.
20. After applying all fixes, return to the BisectHosting Starbase panel.
21. Go to the Files tab.
22. Find the following directory: /home/container/Pal/Saved/SaveGames/0 .
23. Upload the updated World folder. If the name has changed, learn how to load a world here.
24. Start the server. All affected characters will be able to log in.
Note: If a player still cannot log in, or one player's progress is replaced with another, verify that the Old and New GUIDs entered belong to the correct player and are not accidentally reversed.
How to Install Python
1. Open any cmd window.
2. Enter the following command: Python
3. If no Python version is found, the Windows store will be opened. Downloading from the store will give Python the access that it requires.