Local game crashes after 1 minute after character transfer from server
Closed this issue ยท 9 comments
Hey @deafdudecomputers, first of all, thanks for creating the tool.
I'm following up on your message here: xNul/palworld-host-save-fix#191 (comment)
I tried again today with the latest version of your tool v0.8.8
, the latest version of python python-3.13.0-amd64
and Visual C++ Redistributable v0.84.0 installed, and was able to run the script properly, and start my save with my character.
For context, I'm trying to move from a G-Portal server to a local save.
Things seem to mostly work, I'm able to start my game with my character, but after what seems to be exactly 1 minute of gameplay (first auto-save?), the game crashes and opens the Pal Crash Reporter
with this message:
A process has crashed: UE-Pal
EpicAccountId:<redacted>
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000000
Palworld_Win64_Shipping
Palworld_Win64_Shipping
Palworld_Win64_Shipping
Palworld_Win64_Shipping
Palworld_Win64_Shipping
Palworld_Win64_Shipping
Palworld_Win64_Shipping
Palworld_Win64_Shipping
Palworld_Win64_Shipping
Palworld_Win64_Shipping
Palworld_Win64_Shipping
Palworld_Win64_Shipping
Palworld_Win64_Shipping
Palworld_Win64_Shipping
Palworld_Win64_Shipping
Palworld_Win64_Shipping
Palworld_Win64_Shipping
Palworld_Win64_Shipping
kernel32
ntdll
Have you ever experienced this? Any ideas what might be happening? I can provide my files for testing if you'd like.
- Other small Inconveniences:
- The map is no longer discovered, and I don't seem to have any TP (apart from my bases), is that expected?
- Tutorials seem to have reset and it's showing me tooltips (really not a problem, just sharing)
- Haven't found anything else minor, but I can't play more than a minute
Logs of running the script:
> .\fix_host_save.cmd
Found Python at C:\Program Files\Python\Python313\python.exe
Python Version: Python 3.13.0
Executing fix_host_save.py using C:\Program Files\Python\Python313\python.exe...
Save Path: C:\Users\<username>\workspace\PalworldSaveTools.v0.8.8\LocalWorldSave\Level.sav
Running: "C:\Program Files\Python\Python313\python.exe" "fix_host_save.py"
Attempting to ensure pip is installed...
Pip installed successfully.
Attempting to find msgpack...
msgpack not found. Installing...
msgpack installed successfully.
Attempting to find palworld_coord...
palworld_coord not found. Installing...
palworld_coord installed successfully.
Attempting to find psutil...
psutil not found. Installing...
psutil installed successfully.
Attempting to find palworld_save_tools...
palworld_save_tools is already installed.
Attempting to find matplotlib...
matplotlib not found. Installing...
matplotlib installed successfully.
Attempting to find pandas...
pandas not found. Installing...
pandas installed successfully.
Attempting to find cityhash...
cityhash not found. Installing...
cityhash installed successfully.
Downloading and extracting assets...
Enter new GUID: 00000000000000000000000000000001
Enter old GUID: 051E0699000000000000000000000000
WARNING: Running this script WILL change your save files... Backup recommended.
Press enter to continue...
Converting LocalWorldSave\Level.sav to JSON
Decompressing sav file
Loading GVAS file
Attempting to ensure pip is installed...
Pip installed successfully.
Attempting to find msgpack...
msgpack is already installed.
Attempting to find palworld_coord...
palworld_coord is already installed.
Attempting to find psutil...
psutil is already installed.
Attempting to find palworld_save_tools...
palworld_save_tools is already installed.
Attempting to find matplotlib...
matplotlib is already installed.
Attempting to find pandas...
pandas is already installed.
Attempting to find cityhash...
cityhash is already installed.
Converting LocalWorldSave\Players\051E0699000000000000000000000000.sav to JSON
Decompressing sav file
Loading GVAS file
Modifying JSON save data...
Converting data to SAV, saving to LocalWorldSave\Level.sav
Compressing SAV file
Compressing: 99% completedWriting SAV file to LocalWorldSave\Level.sav
Converting data to SAV, saving to LocalWorldSave\Players\051E0699000000000000000000000000.sav
Compressing SAV file
Writing SAV file to LocalWorldSave\Players\051E0699000000000000000000000000.sav
Fix has been applied! Have fun!
Press any key to continue . . .
Thanks for your time ๐
Either mods affected the save themselves to a point it breaks? Not sure, but let me know if you had mods installed on old server.
Secondly, did you delete the Players folder and Level.sav on server and replacing with the new Level.sav and Players folder the fix has applied? Just in case, some users didn't do this step correctly and it may cause some errors/etc.
Upon re-reading, I noticed you said switching from server(G-Portal) to local save. So ignore the "server" I said above, but in local save, just do the same.
I never used mods no, so no mods on the old server, and no mods on my PC (the destination of the move).
After running the script, I did delete the entire Players
folder and the Level.sav
under:
C:\Users\<username>\AppData\Local\Pal\Saved\SaveGames\<some_id>\<new_world_id>
Then copied the modified files from the LocalWorldSave
into that folder.
Is there anything special to do with LevelMeta.sav
, LocalData.sav
, and WorldOption.sav
that would matter? Keep them, remove them?
I also had disabled Steam cloud save sync for now because it was restoring things on its own when starting the game, I'll keep it disabled until I can get it working.
One more things is we were 3 players on the old server, and so far I'm only migrating my own player to the new ...00001
guid, would it make a difference if I got all 3 of us to create new characters and do all 3 transfers?
Maybe I should just try and run the Palworld Dedicated Server
on my machine, maybe I wouldn't need to character transfer? ๐ค
I'll give this a try.
The only save that need to be updated is the "host" save. It needs to be converted from regular save into 0001.sav, which is the host save. You only need Players folder and Level.sav. No need for other files such as LevelMeta.sav and etc. They will be automatically generated. However, the WorldOptions.sav will be needed if you don't use PalWorldSettings to set up your world settings. No need to try to "transfer" the new characters for other players. Did you create new character on local save then use that as base for 0001.sav?
I'll attempt the dedicated server transfer to local world myself to see if it's breaking anything. Give me few minutes.
- Make a copy of Saved folder from dedicated server(G-Portal/etc). It consists all of information needed.
- Make a new world on PalWorld. Name it whatever you want. I'll do the default name, which is Palpagos Islands.
- Create your character. Name it whatever you want.
- Enter the game.
- Walk/Run until you find 2 pieces of wood and then unlock the first fast travel point.
- The auto-save typically kicks in within 60 seconds(1 minute) by default. I'd typically wait 5 minutes just to be safe.
- Close the game.
- Go into (C:\Users\YOURUSERNAME\AppData\Local\Pal\Saved\SaveGames\some_id) and sort by date modified.
- Open the folder with most recent date modified. Remember the folder name. For me, it's (CD03AEB541DB0F6D6A01B1836B1AACB0).
- Copy the 0001.sav from Players folder in that new generated world save.
- Paste the 0001.sav file into your dedicated server Players folder.
- Copy the dedicated server Players folder and Level.sav.
- Paste the dedicated server Players folder and Level.sav into LocalWorldSave in my tool.
- Run the tool.
- Input 0001.sav as new GUID.
- Input old regular save id.sav as old GUID.
- Press enter to continue.
- Once it said fix has been applied, have fun. Close the tool.
- Copy Players folder and Level.sav from LocalWorldSave folder.
- Go to the local save and reopen the folder with your new local world. It's mentioned via 9th step.
- Paste the Players folder and Level.sav from LocalWorldSave folder. Accept any pop up warning to overwrite files.
- Launch the game again.
- Enter the world. It may take some time depending on how many bases and pals and etc on server.
- It should work.
Hey Pylar,
I gave this another go today following your instructions, but still ended up with my game crashing at the 1 minute mark at the first time the Saving
message appears, same as before.
A few things I did try to do differently today by following your updated instructions:
- How I created the character:
- Before, I used to create/load the local temporary character inside my saved world (copied from the dedicated server, and I could see some old structures at the starting point), and only then copying the files over to
LocalWorldSave
and executing the script, and then bringing it back. - This time, I created and only loaded the temp character in the new empty world, and then copied only the
0001.sav
intoLocalWorldSave/Players
(as per instructions 2 to 11), alongside my dedicated sever saved files, and only then running the script and moving the result back to the local world (and overwriting things).
- Before, I used to create/load the local temporary character inside my saved world (copied from the dedicated server, and I could see some old structures at the starting point), and only then copying the files over to
- Leveling up my temp character to lvl 2 (even lvl 3) and doing a few actions with it (catch first pal)
But like I mentioned, this didn't help, as per my original post, I can load my world and character properly, everything looks fine, and then it crashes after 1 minute.
So this isn't resolved for me, I don't know if it is because of something that G-Portal might have done to the files or what, but I can't get past it whatever I try with generating the world and running the script.
But, I've moved on to a different solution (sharing below), so all good on my end, I'm still happy to share my saved files if you'd care for them, lmk, and thanks for trying.
On my end, I ended up using the Palworld Dedicated Server
process (available on steam) and moving my G-Portal save on that setup, no need for temporary character and character transfer with any tool, and that also means I can have just the Palworld Dedicated Server
process running locally and my friends joining it, without being inside the game myself, so I think that'll work better for me and my friends.
For people that might find this post, here's how I did it (with inspiration from this guide and the official documentation:
- Install
Palworld Dedicated Server
from Steam - Run it once and wait for it to generate and world and display
Running Palworld dedicated server on :8211
- Shut it down
- Go to the
PalServer
saved folder, which if you followed default installation should be there (adapt to your situation):C:\Program Files (x86)\Steam\steamapps\common\PalServer\Pal\Saved\SaveGames\0\<local_dedicated_world_id>
- Inside that folder, delete everything, and paste in your files from your previous server (
Players
folder,Level.sav
andLevelMeta.sav
. Optionally:backup
folder if you want) - Create a
PalServer\Pal\Saved\Config\WindowsServer\PalworldSettings.ini
file following the guide above and adapting settings to your needs.- One thing you want to update right away is the
BaseCampWorkerMaxNum=50
otherwise if you leave at 15, the extra pals from your bases will be dropped in front of the PalBoxes, which is just annoying
- One thing you want to update right away is the
- Do some port-forwarding on your router to allow friends to connect to your server, I'll let you figure that one out.
One final tip I'll share:
- I found out how to transfer the Map discovery data and things like tooltips/indicators progression for your character
- That data is saved within the
LocalData.sav
file which is always stored on your computer (even when using dedicated servers) inC:\Users\YOURUSERNAME\AppData\Local\Pal\Saved\SaveGames\some_id\world_id
.
- That data is saved within the
- So once you have your servers/local-games running (whichever kind of transfer you're doing), you need to copy over the
LocalData.sav
:- from
C:\Users\YOURUSERNAME\AppData\Local\Pal\Saved\SaveGames\some_id\old_world_id
- to:
C:\Users\YOURUSERNAME\AppData\Local\Pal\Saved\SaveGames\some_id\new_world_id
- from
Alright, as I finished writing all this and jumped in to take those 2 screenshots, I realized one crucial thing:
๐ And turns out this was the issue! I'm now able to play my save world locally, and the game hasn't crashed for a good 20 minutes or more, even after re-enabling the private locks on my chests.
๐ก So it seems like the private locks on chests aren't being transferred properly and that's causing the issue.
- I wonder if it would've still crashed if I still had the
<old_guid>.sav
file in thePlayers
folder, but still even in that case, I could never access my chest again, and it can't be deleted either. - So the workaround is to remove private locks on the old save before running the script, then adding the locks back after having successfully migrated the world.
- And the solution is to get those locks transferred properly in the tool.
Thanks again for the tool and your help ๐ Now I have multiple options going forward ๐
Alright, as I finished writing all this and jumped in to take those 2 screenshots, I realized one crucial thing:
โ ๏ธ I could not access my privately locked chest, and I wondered if maybe that was the issue.
โถ๏ธ I went back to my server, disabled all the Private locks on chests, waited for an auto-save, left and used those new save files with the tool's script again, going through the whole process in the same way.๐ And turns out this was the issue! I'm now able to play my save world locally, and the game hasn't crashed for a good 20 minutes or more, even after re-enabling the private locks on my chests.
๐ก So it seems like the private locks on chests aren't being transferred properly and that's causing the issue.
- I wonder if it would've still crashed if I still had the
<old_guid>.sav
file in thePlayers
folder, but still even in that case, I could never access my chest again, and it can't be deleted either.- So the workaround is to remove private locks on the old save before running the script, then adding the locks back after having successfully migrated the world.
- And the solution is to get those locks transferred properly in the tool.
Thanks again for the tool and your help ๐ Now I have multiple options going forward ๐
That's really interesting to know. So, I'll try to fix this issue and by the meantime, I'll let everyone know to disable private lock on their chests before transferring. Thank you for debugging and appreciate you!