🚀 PalworldSaveTools v2.2.1
🛠️ Compatibility
- App Version:
2.2.1 - Game Version:
1.0.1
📦 Downloads
| Platform | File |
|---|---|
| 🪟 Windows | PST_standalone_v2.2.1.7z
|
| 🐧 Linux | PalworldSaveTools-V2.2.1-linux.AppImage
|
| 🍎 macOS | PalworldSaveTools-V2.2.1-macos.dmg
|
📥 Full release: https://github.com/deafdudecomputers/PalworldSaveTools/releases/tag/v2.2.1
📝 Changelog
- Map generator now shows all bases — the world map renderer was using
sav_to_map_by_z()with a z-threshold of 5000, silently dropping island/tree-map bases from the generated image. Now usessav_to_map(x, y, new=True)directly (matching the interactive map viewer) and removes the z-threshold filter so every base camp appears regardless of elevation. - Base radius ring scaling fixed — ring size was using an additive
+5pixel offset in the scene-space formula, breaking proportionality. At 200% the ring was only 42% larger instead of 100% larger. Replaced with a purely linear formula so doubling the radius value doubles the displayed ring. - Fixed hard crash when editing inventory or tech tree — the app could terminate abruptly (segfault) when adding items, changing quantities, or toggling tech unlocks. Three related issues fixed: widget layout cleanup during
_rebuild()was leaving orphaned items that could be painted after their C++ objects were destroyed; inventory grid slot deletion had the same use-after-free pattern; tech tree button click handlers were callingsuper().mousePressEvent()on frames already scheduled for deferred deletion. Widgets are now fully detached from their parent layout before being deleted. - Repair All Structures no longer resets max durability to default — the function was reading HP values from game data and overwriting each structure's max HP with the game's default, discarding custom durability set via server config. Structures with millions of HP were silently downgraded. Now it only sets current HP equal to the existing max HP, leaving whatever durability the server or mod has configured.
- Import/Clone Base and Replace Structures also preserve custom HP — same game-data HP override was present in base import and structure replacement. Both now leave existing max HP untouched and only set current to max.
- Results widget resets on save reload — the player/guild/base picker labels in the right panel previously showed stale selections from the previous save after reloading. Now cleared to default.
- Tab picker selections reset on save load — inventory, pal editor, and base inventory tabs were re-selecting the previously chosen player/guild/base after loading a new save. Now all picker buttons reset to their default state on load.
- Tech tree toggle fixed — the
_clickhandler for tech buttons had inverted logic (not ininstead ofin), causing single-click to lock an unlocked tech and vice versa. Also no longer callssuper().mousePressEvent()on a frame already scheduled for deferred deletion. - Base inventory add-item crash fixed — adding an item to a container called
_refresh_container_ui()(which mutates the widget tree) insidedialog.exec()'s signal handler, causing a segfault from deferred delete processing in the nested event loop. UI refresh now happens afterdialog.exec()returns. - Bumped version to 2.2.1
🤝 Support
- 🐛 Open a GitHub issue
- 💬 Join our Discord
- 📦 Nexus Mods page
- 📩 DM Pylar1991 on Discord
Thank you for using PalworldSaveTools! 🙏