SaveGuard Cyber Shield Logo
SaveGuard Palworld
CheckMySave.com
Server Admin Diagnostic Updated September 2026

Fix Palworld Server Asking to Create a New Character After Restart

Restarted your dedicated Palworld server or updated your Docker container, but connected players are greeted with the character creation screen? If their .sav files are still present in Players/, here is how to resolve the save_game_class_name header corruption.

🛡️ Inspect Player Profiles and World Parity

CheckMySave validates all player GUIDs against Level.sav records to diagnose corrupted headers and missing player states in seconds.

Open Scanner

# Technical Cause: GVAS Class Header Truncation

In containerized environments (Docker, Kubernetes, Pterodactyl) or servers with automated nightly restart scripts, process management utilities dispatch a standard SIGTERM signal. By default, container supervisors wait only 10 to 15 seconds before issuing a fatal SIGKILL.

Because Palworld dedicated servers manage multi-gigabyte memory pools, flushing dirty memory pages to disk takes substantial time. When a server process is terminated mid-write:

The Header Truncation Mechanics:

  • The file Players/<GUID>.sav is written to disk, but the GVAS binary header property save_game_class_name is cut off.
  • Instead of containing the valid class reflection path:
    /Script/Pal.PalWorldPlayerSaveGame
  • It gets written as:
    None.PalWorldPlayerSaveGame  (or  None)
  • Upon restart, Unreal Engine's class loader rejects the non-conforming header, treats the player as a first-time connection, and routes them to character generation.
01

Step 1: Immediately Stop the Server

Do not let players complete character creation! If a player creates a new character with the same Steam ID, the server will overwrite their corrupted <GUID>.sav file with a clean Level 1 file, making recovery more complex.

docker stop palworld-server
# or: sudo systemctl stop palworld-server
02

Step 2: Inspect Player Save Parity with CheckMySave

  1. Download the server save directory from Pal/Saved/SaveGames/0/<WorldGUID>/.
  2. Drag and drop the folder into CheckMySave.
  3. CheckMySave inspects each file inside Players/ and correlates them against Level.sav records.
  4. If any player has missing world records or corrupted headers, CheckMySave flags the exact player GUIDs.
03

Step 3: Restore Player File from Rolling Backups

Palworld's internal backup mechanism keeps rolling copies of player profiles:

  1. Navigate to SaveGames/0/<WorldGUID>/backup/local/.
  2. Locate the latest timestamp folder created prior to the server restart.
  3. Copy the affected player's <GUID>.sav file from the backup folder.
  4. Paste and overwrite the file into the active Players/ directory.
04

Step 4: Configure Safe Server Shutdown Timeouts

To prevent future mid-write corruption, adjust your server supervisor configuration:

docker-compose.yml Docker
services:
  palworld:
    image: thdev98/palworld-server-docker
    stop_grace_period: 60s    # Give server 60 seconds to flush dirty pages
systemd service Linux
[Service]
TimeoutStopSec=60

Before triggering automated backups or reboots via cron, always send an RCON command: save, sleep for 20 seconds, and then gracefully issue shutdown 30.