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.
Palworld Save Pal is a tool for managing and analyzing save files.
Grab the latest release from the releases page and extract it to a folder of your choice.
Details for using Palworld Save Pal can be found in the User Guide
To run Palworld Save Pal using Docker:
-
Clone this repository:
git clone https://github.com/oMaN-Rod/palworld-save-pal.git
-
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
-
Or you can follow these steps:
-
Set the environment variable for the svelte SPA
ui/.env
. Replace{{ ip_address }}
with the IP address of the server::PUBLIC_WS_URL={{ ip_address }}:5174/ws PUBLIC_DESKTOP_MODE=false
-
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 -rf .svelte-kit bun install bun run build
-
Build the docker image:
docker-compose up --build -d
-
For developers who want to contribute to Palworld Save Pal:
-
Set up the development environment:
python -m venv .venv source .venv/bin/activate pip install -r requirements.txt
-
Run the application in development mode:
python psp.py --dev
-
Set the environment variable for the svelte SPA
ui/.env
.PUBLIC_WS_URL=127.0.0.1:5174/ws PUBLIC_DESKTOP_MODE=false
-
Run the frontend in development mode:
cd ui bun install bun run dev
-
Open your browser and navigate to
http://127.0.0.1:5173
-
Set the environment variable for the svelte SPA
ui/.env
.PUBLIC_WS_URL=127.0.0.1:5174/ws PUBLIC_DESKTOP_MODE=true
-
Run the frontend in development mode:
cd ui bun install bun run dev
-
Activate python environment
python -m venv .venv source .\.venv\Scripts\activate pip install -r requirements.txt
-
Run the desktop app:
python .\desktop.py --dev --web-host localhost --web-port 5173
Activate the environment
python -m venv .venv
source .\.venv\Scripts\activate
pip install -r requirements.txt
.\build-desktop.ps1
-
Set the environment variable for the svelte SPA
ui/.env
.PUBLIC_WS_URL=127.0.0.1:5174/ws PUBLIC_DESKTOP_MODE=true
-
Create EXE:
python -m nuitka --onefile .\desktop.py --output-filename=PSP.exe --windows-icon-from-ico=ui/static/favicon.ico --windows-console-mode=disable
-
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
-
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.
Here's what's planned for future releases of Palworld Save Pal:
- Filter Pals by name, nickname, or Element type
- Remote access to save files (sftp to remote server)
- Bulk edit pals (e.g., set all stomachs to 100%)
- Edit Nickname
- Edit Gender
- Edit Active Skills
- Edit Passive Skills
- Edit Health - Modified pals are automatically healed
- Edit Stomach - Modified pals are automatically healed
- Edit Level
- Edit Learned skills
- Edit Rank
- Edit Souls
- Set/Unset Lucky
- Set/Unset Boss
- Add/Remove Pals
- Clone Pals
- Edit Name
- Edit Level
- Edit Health
- Edit Stomach
- Edit Inventory
- Player presets for inventory
- Stats (Health, Stamina, Attack, Work Speed, and Weight)
- Edit Storage items
MIT License (do whatever you want with it).
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.