Limited offer! Discounts of up to 50% on your servers

✨ BLACK FRIDAY ✨

November 19 to December 2, 2024

Personnage animé devant hologramme bleu, salle futuriste.

How to fix player saves on a Palworld server?

Players get the character creation screen even though their saves exist? That’s a common Palworld issue when moving a server from Linux to Windows (or vice versa): GUIDs change. Let’s cleanly restore saves by remapping GUIDs using a Python script and the uesave tool.

Prerequisites

  • Access to your Oxygenserv panel (login and password)
  • Palworld server stopped during the whole operation
  • A backup of your world (folder Pal/Saved/SaveGames/0)
  • A PC (Windows recommended) with Python 3.10+ installed
  • uesave-rs tool (uesave.exe on Windows, or the Linux/macOS binary)
  • “Palworld Host Save Fix” script (ZIP containing gui.py)
  • A way to transfer files (panel file manager or SFTP)

Step-by-step

  1. Identify affected players and collect GUIDs
    Ask affected players to join the server once and create a new character to generate a “New GUID”. In the Oxygenserv file manager, open home/container/Pal/Saved/SaveGames/0/Players and sort by “Date modified”. For each player, note the most recent file (New GUID, e.g., 3F8B...9C.sav) and find their Old GUID in your backup. If unsure, compare timestamps and file sizes and confirm the player’s login time.
  2. Download the world save
    From the panel’s file manager, go to home/container/Pal/Saved/SaveGames/0. Select everything (Level.sav, WorldOption.sav, Players folder, etc.), click “Compress”, then download the archive. You can also SFTP the entire 0 folder. Keep this ZIP as your safety net.
  3. Stop the server and isolate the save
    In the Console tab, click the green “Stop” button. When logs show “Server stopped”, go back to Files and rename SaveGames/0 to 0 (Old). This prevents unwanted writes and lets you roll back instantly if needed.
  4. Download and stage the tools (uesave + script)
    Download the “Palworld Host Save Fix” ZIP (“Code” > “Download ZIP”). Grab the proper uesave-rs build for your OS (uesave.exe on Windows). Create a temp folder like C:\palworld-fix and extract all ZIPs there. You should see at least gui.py and the uesave binary.
  5. Launch the GUI script
    In that folder, Shift + right-click and choose “Open PowerShell window here”. Run python --version (or python3 --version); if Python is missing, install it, then reopen the shell. Start the tool with python gui.py (or python3 gui.py). If dependencies are missing, run pip install -r requirements.txt and retry.
  6. Point the tool to uesave and your world
    In the script window, under “uesave”, click “Browse” and select uesave.exe (or ./uesave on Linux/macOS). Do the same for your world save: pick the folder containing Level.sav, WorldOption.sav, and the Players directory (that’s the content from SaveGames/0). If the tool asks for a single file, choose Level.sav in that same folder.
  7. Map GUIDs (New → Old)
    For each affected player, paste the New GUID (generated after their test login) and the Old GUID (from the backup) into the matching fields. Tick the “GUID fix” checkbox (if it reads “Guild fix”, that’s just a typo—tick it). Example mapping: New 3f8b9a1c0d... → Old a12c34d56e.... Repeat for every affected player.
  8. Run the fix and confirm
    Click “Run Command”. A shell window appears asking for confirmation: press Enter. The tool uses uesave to rewrite GUID references in player/world files. Wait for the completion message (typically 1–5 minutes depending on save size). If you get “file not found”, double-check the selected paths and permissions.
  9. Upload the repaired save
    Back on the panel, go to home/container/Pal/Saved/SaveGames and create a fresh 0 folder. Upload the repaired content there (Level.sav, WorldOption.sav, Players folder, etc.). Do not mix with 0 (Old); ensure the new folder only contains the updated files (recent timestamps).
  10. Start and verify in-game
    Press “Start” on the panel. Watch the console: once you see “Server started”, have affected players rejoin. They should load their original characters, inventory, and progress. If someone still gets character creation, it’s usually an inverted mapping (Old/New) or a missing player .sav in Players.

Tips & optimization

– Always back up first (full ZIP of SaveGames/0)—2 minutes now saves hours later.
– Avoid changing OS again after migration. If you must, plan a GUID fix right after first boot.
– Track your mappings in a simple CSV: new_guid;old_guid;steamid;discord for clarity.
– On Windows, keep uesave.exe and gui.py in the same folder to prevent path issues.
– For a single broken character, map only that player—fast and safe.
– Set daily automated backups and keep at least 3 restore points (D-1, D-2, D-7) to handle bad updates or crashes.

FAQ

Where exactly are the player files?

Go to home/container/Pal/Saved/SaveGames/0/Players. Each player has a [GUID].sav file. Sort by date to find the “New GUID” created after the test login, and grab the “Old GUID” from your backup (same path in the older copy).

The script won’t start, Python missing

Open PowerShell and run python. If it’s not found, install Python from the Microsoft Store or python.org, check “Add Python to PATH”, reopen the shell, then run python gui.py. If modules are missing, run pip install -r requirements.txt.

I’m on Linux/macOS and there’s no uesave.exe

Download the correct uesave binary for your OS. In the tool, select that file instead of uesave.exe. Launch the script with python3 gui.py and ensure the binary is executable (chmod +x uesave).

A player still sees character creation after the fix

Verify you mapped the correct New→Old GUID pair and that the player’s .sav exists in Players. Remap just that player and rerun the fix. Make sure the server was fully stopped during upload, otherwise files may have been overwritten.

Take it step by step and double-check each GUID—you’ve got this. If you need a hand, our team is here to help keep your Palworld worlds safe and stable.

Related articles

Table des matières

Facebook
Twitter
LinkedIn