Skip to content

Palworld Save Pal is a save file editor for Palworld. Quickly filter and edit your Pals'. Edit your Player stats and inventory. Steam and Gamepass support.

Notifications You must be signed in to change notification settings

oMaN-Rod/palworld-save-pal

Repository files navigation

PALWORLD Save Pal

Note: This project was put together for fun and to kick the tires on Sveltekit 5 and Skeleton UI Next. Things may be broken or not work as expected.

โš ๏ธ Backup your save files before using this tool!! โš ๏ธ

Palworld Save Pal is a tool for managing and analyzing save files.

๐Ÿ“‹ Table of Contents

๐Ÿš€ Installation

Grab the latest release from the releases page and extract it to a folder of your choice.

๐ŸŽฎ Usage

Details for using Palworld Save Pal can be found in the User Guide

๐Ÿณ Docker

To run Palworld Save Pal using Docker:

  1. Clone this repository:

    git clone https://github.com/oMaN-Rod/palworld-save-pal.git
  2. Run the build script based on your environment, these scripts capture the system IP address and set the environment variable for the svelte SPA:

    Linux

    ./build-docker.sh

    Windows

    .\build-docker.ps1
  3. Or you can follow these steps:

    1. Modify the docker-compose.yml file to set the IP/URL address of your docker host:

      services:
         backend:
            build:
               context: .
               dockerfile: Dockerfile
               args:
               # Change this to the URL of your public server
               - PUBLIC_WS_URL=127.0.0.1:5174/ws
            ports:
               - "5174:5174"
            volumes:
               - ./data:/app/data
               - ./palworld_save_pal:/app/palworld_save_pal
            environment:
               - PORT=5174
            command: python psp.py
    2. Build the docker container:

      docker compose up --build -d

๐Ÿ‘จโ€๐Ÿ’ป Developer Guide

For developers who want to contribute to Palworld Save Pal:

Web

  1. Set up the development environment:

    python -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
  2. Run the application in development mode:

    python psp.py --dev
  3. Set the environment variable for the svelte SPA ui/.env.

    PUBLIC_WS_URL=127.0.0.1:5174/ws
    PUBLIC_DESKTOP_MODE=false
  4. Run the frontend in development mode:

    cd ui
    bun install
    bun run dev
  5. Open your browser and navigate to http://127.0.0.1:5173

Desktop App

  1. Set the environment variable for the svelte SPA ui/.env.

    PUBLIC_WS_URL=127.0.0.1:5174/ws
    PUBLIC_DESKTOP_MODE=true
  2. Run the frontend in development mode:

    cd ui
    bun install
    bun run dev
  3. Activate python environment

    python -m venv .venv
    source .\.venv\Scripts\activate
    pip install -r requirements.txt
  4. Run the desktop app:

    python .\desktop.py --dev --web-host localhost --web-port 5173 

Build Desktop App

Activate the environment

python -m venv .venv
source .\.venv\Scripts\activate
pip install -r requirements.txt

Using build script

.\build-desktop.ps1

Manual build

  1. Set the environment variable for the svelte SPA ui/.env.

    PUBLIC_WS_URL=127.0.0.1:5174/ws
    PUBLIC_DESKTOP_MODE=true
  2. Create EXE:

    python -m nuitka --onefile .\desktop.py --output-filename=PSP.exe --windows-icon-from-ico=ui/static/favicon.ico --windows-console-mode=disable
  3. Build the SPA (replace bun with your package manager of choice). This will create a build directory in the project root containing the static files for the SPA:

    cd ui
    rm .svelte-kit
    bun run build
  4. Copy build to the dist folder:

    mkdir .\dist\
    cp -R .\build\ .\dist\
    cp -R .\data\ .\dist\
    cp PSP.exe .\dist\

Note: The dist folder will contain the executable and the SPA build files, the data folder contains json files with game data, all need to be distributed together.

๐Ÿ—บ๏ธ Roadmap

Here's what's planned for future releases of Palworld Save Pal:

General

  • Filter/Sort Pals by name, nickname, character ID, Boss, Lucky, Human, Level, Paldeck #, Predator, Oil Rig, Summon, or Element type
  • Gamepass & Steam support (solo/coop/dedicated)
  • Localization; supports Deutsch, English, Espaรฑol, Franรงais, Italiano, ํ•œ๊ตญ์–ด, Portuguรชs, ะ ัƒััะบะธะน, ็ฎ€ไฝ“ไธญๆ–‡, and ็น้ซ”ไธญๆ–‡

Pals

  • Edit Pal box and Guild Pals
  • Edit Nickname
  • Edit Gender
  • Edit Active Skills / Learned Skills
  • Edit Passive Skills
  • Edit Level
  • Edit Rank
  • Edit Souls
  • Set/Unset Lucky
  • Set/Unset Boss
  • Add/Remove/Clone Pals
  • Edit Work Suitability
  • Heal Pals - edit health and stomach (Modified pals are automatically healed)
  • Create your own Active/Passive Skill presets, making it easy af to apply skills.

Players

  • Edit Name
  • Edit Level
  • Edit Stats (Health, Stamina, Attack, Work Speed, and Weight)
  • Heal Player - edit health and stomach
  • Edit Inventory
  • Create your own inventory presets/loadouts and apply them across players and saves.

What's cooking ๐Ÿ‘จโ€๐Ÿณ๐ŸคŒ

  • Converting to/from gamepass/steam
  • Converting to/from solo/co-op/dedicated
  • Transferring Players and Pals across saves
  • Apply Pal preset on multiple Pals, e.g., max out all Dragon types with a specific profile.
  • Edit Storage items

๐Ÿ“œ License

MIT License (do whatever you want with it).

โžก๏ธ Related Projects

These are projects I've found that specifically target Palworld save files, each was helpful in some way during the development of this project:

  • PalEdit - PSP was inspired by it.
  • palworld-save-tools - PSP uses this tool for handling save files, can be used directly to convert to/from json.
  • palworld-uesave-rs - I originally considered building this app using Tauri, opted for using Python, but this project was helpful.
  • Palworld Pal Editor - Also served as a reference for Palworld Save Pal, adopted some of this projects approach.
  • PalWorldSaveTools - Has a bunch of useful features for parsing, editing, and converting save files.

โ˜• Buy me a Coffee

"Buy Me A Coffee"

About

Palworld Save Pal is a save file editor for Palworld. Quickly filter and edit your Pals'. Edit your Player stats and inventory. Steam and Gamepass support.

Topics

Resources

Stars

Watchers

Forks