Skip to content

oMaN-Rod/palworld-save-pal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

767 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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:

    uv sync
    source .venv/bin/activate
  2. Run the application in development mode:

    cd ui
    bun install
    bun run dev:web
  3. 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. Activate python environment

    uv sync
    .venv\Scripts\activate
  3. Run the desktop app:

    cd ui
    bun install
    bun run dev:desktop

Build Desktop App

Activate the environment

uv sync
.venv\Scripts\activate

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. 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
    bun install
    bun run build
    cd ..
    mkdir dist
  3. Build standalone executable:

    python setup.py build

or

  1. Build installer:

    python setup.py bdist_msi

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.

🔥 Features

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 繁體中文, Español (México), Bahasa Indonesia, Polski, ไทย, Türkçe, and Tiếng Việt
  • Supports Desktop for Windows/Mac/Linux, Docker (web), or running from source (web)

Pals

  • Edit Palbox, Base, Dimensional Pal Storage, and Global Pal Storage Pals
  • Edit Nickname
  • Edit Gender
  • Edit Active Skills / Learned Skills
  • Edit Passive Skills
  • Edit Level
  • Edit Rank
  • Edit Souls
  • Edit Trust
  • 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.
  • Apply Pal preset on multiple Pals, e.g., max out all Dragon types with a specific profile.

Players

  • Edit Name
  • Edit Level
  • Edit Stats (Health, Stamina, Attack, Work Speed, and Weight)
  • Heal Player - edit health and stomach
  • Edit Inventory
  • Edit Technologies
  • Create your own inventory presets/load outs and apply them across players and saves.
  • Edit Technology Tree, Technology Points, and Ancient Technology points
  • Delete Players (Deletes all map objects, items, and pals)
  • Edit Active and Completed Missions

Guilds

  • Edit Guild Name
  • Edit Guild Chest
  • Edit Base Pals
  • Edit Base Inventory
  • Edit Base Name (Currently only applies in PSP, not exposed in game)
  • Edit Lab Research
  • Delete Guilds (Deletes all players, map objects, items, and pals)

Extras

  • Data Explorer / Debug Mode (Read Only)
  • Map integration - See players, bases, fast travels, dungeons, and alpha/predator pals on the map
  • Preset management - Create and manage Player (Inventory), Pal, Active/Passive Skills, Storage presets.
  • Universal Pal Storage (UPS) lets you organize Pals into collections with customizable tags and instantly transfer one, many, or all Pals across any player and any save in a single action.
  • Unlock Map (remove fog)

📜 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