<div align="center">

![PalworldSaveTools Logo](../assets/branding/PalworldSaveTools_Blue.png)

# PalworldSaveTools

**Комплексный набор инструментов для редактирования файлов сохранений Palworld**

[![Downloads](https://img.shields.io/github/downloads/deafdudecomputers/PalworldSaveTools/total)](https://github.com/deafdudecomputers/PalworldTools/releases/latest)
[![License](https://img.shields.io/github/license/deafdudecomputers/PalworldSaveTools)](LICENSE)
[![Discord](https://img.shields.io/badge/Discord-Join_for_support-blue)](https://discord.gg/sYcZwcT4cT)
[![NexusMods](https://img.shields.io/badge/NexusMods-Download-orange)](https://www.nexusmods.com/palworld/mods/3190)

[English](../../README.md) | [简体中文](README.zh_CN.md) | [Deutsch](README.de_DE.md) | [Español](README.es_ES.md) | [Français](README.fr_FR.md) | [Русский](README.ru_RU.md) | [日本語](README.ja_JP.md) | [한국어](README.ko_KR.md) | [Português (Brasil)](README.pt_BR.md) | [Português (Portugal)](README.pt_PT.md)

---

### **Скачайте автономную версию с [GitHub Releases](https://github.com/deafdudecomputers/PalworldSaveTools/releases/latest)** 

---

</div>
<div align="center">

## Обзор

<img src="https://readme-typing-svg.demolab.com?lines=%D0%A7%D1%82%D0%BE+%D0%B8%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE+%D1%8D%D1%82%D0%BE+%D0%B7%D0%B0+%D1%88%D1%82%D1%83%D0%BA%D0%B0%3F;%D0%92%D0%B0%D1%88%D0%B0+%D1%8D%D0%BA%D0%BE%D0%BD%D0%BE%D0%BC%D0%B8%D1%8F%2C+%D0%B2%D0%B0%D1%88+%D0%BF%D1%83%D1%82%D1%8C;%D0%9E%D0%B4%D0%B8%D0%BD+%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%2C+%D1%87%D1%82%D0%BE%D0%B1%D1%8B+%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D1%82%D1%8C+%D0%B2%D1%81%D0%B5%D0%BC%D0%B8&center=true&width=490&height=28&font=monospace&size=22&color=7DD3FC&vCenter=true" alt="" />

</div>

Palworld Save Tools (PST) — это быстрое универсальное настольное приложение для проверки и редактирования файлов сохранения Palworld. Созданный на основе Python и PySide6, он напрямую считывает и записывает сжатый формат сохранения игры — никаких игровых модов не требуется.

Если вам нужно управлять выделенным сервером, мигрировать между кооперативными и выделенными серверами, очищать потерянные данные или точно настраивать отдельный Pals, PST предоставляет для всего этого единый унифицированный интерфейс.

### Основные моменты

- **Кроссплатформенность** — предварительно созданные двоичные файлы для **Windows**, **Linux** и **macOS**.
- **Быстрый встроенный синтаксический анализ** — одна из самых быстрых доступных программ чтения сохраненных файлов, работающая на движке [`palsav`](src/palsav).
- **Визуальная карта** — Интерактивная карта мира с маркерами базы/игрока, запретными зонами и калибровкой координат.
- **Глубокое редактирование Pal** — Полный контроль над статистикой, IVs, душами, навыками, passives, рабочими качествами, рангом и флагами внешнего вида.
- **Инструменты серверного уровня** — массовое удаление, очистка, преобразование и перенос символов, созданные для администраторов.
- **Автоматическое резервное копирование** — каждая операция сохранения создает резервную копию перед записью.
- **9 языков** — локализованный пользовательский интерфейс, руководства в приложении и документация.





---





## Содержание

- [Обзор](#обзор)
- [Особенности](#особенности)
- [Установка](#установка)
- [Быстрый старт](#быстрый-старт)
- [Руководства](#руководства)
- [Устранение неполадок](#устранение-неполадок)
- [Сборка из исходного кода](#сборка-из-исходного-кода)
- [Вклад](#вклад)
- [Лицензия](#лицензия)
- [Команда Palworld](#команда-palworld)

- [Поддержка](#support)
- [Лицензия](#лицензия)
- [Благодарности](#признания)





---




<div align="center">

## Особенности

<img src="https://readme-typing-svg.demolab.com?lines=%D0%A5%D0%BE%D1%80%D0%BE%D1%88%D0%B8%D0%B5+%D0%B2%D0%B5%D1%89%D0%B8;%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8C%D1%82%D0%B5+%D1%8D%D1%82%D0%BE;%D0%A3%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2%D0%B0%D0%BD%D0%BE+%D1%81+%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8&center=true&width=290&height=28&font=monospace&size=22&color=7DD3FC&vCenter=true" alt="" />

</div>

### Управление игроками

- Просмотр и поиск всех игроков по имени, уровню, количеству pal, UID, гильдии и времени последнего посещения.
- Редактируйте имена игроков, уровни, статистику и технологические очки.
- **Вкладка «Статистика»** — характеристики героя (здоровье, выносливость, атака, защита, скорость работы, вес) с правильными внутриигровыми значениями; Реликтовые способности с переключателями и спиннерами.
- **Макс. все характеристики** — мгновенно ограничивает все характеристики до максимума (50 очков).
- **Массовые операции** между несколькими игроками: управление предметами, управление pal и разблокировка технологий.
- Удаление неактивных игроков по временному порогу; удалить дубликаты.

### Pal Editor

Интерфейс глубокого редактирования для любого Pal, принадлежащего любому игроку. Pals организованы **Party** (активный отряд) и **Palbox** (хранилище).

- **Статистика и IVs** — HP, Атака, Защита (IV 0–100), Уровень (1–80), Ранг доверия (0–10).
- **Души** — HP, Атака, Защита, Скорость Ремесла (0–20).
- **Навыки** — выбор активных навыков; выучить все движения; навыки массовой синхронизации в Pals.
- **Пассивные черты** — пассивный выбор с полными игровыми данными.
- **Пригодность к работе** — установите индивидуальные уровни пригодности к работе (0–10).
- **Флаги внешнего вида** — переключение «Босс/Альфа», «Счастливчик/Блестящий», «Хищник», «Пробужденный» и «Импортированный/ДНК».
- **Ранг и блокировка** — установите ранг и уровень блокировки избранного (0–3).
- **Чит-режим** — переключите, чтобы расширить все ограничения: уровень, IVs, души, конденсаторный ранг до 255; разблокируйте неограниченное количество активных/пассивных навыков с возможностью дублирования.
- **Экспорт/Импорт** — щелкните правой кнопкой мыши любой pal, чтобы экспортировать его как `.pstpal` (сжатый) или `.json`. Импортируйте в пустые слоты рабочих группы, палбокса, ДПС или базы. Работает с сохранениями и игроками.
- **Макс. все Pals** — Максимум всех характеристик (IVs, души, ранг, уровень) для всех pals в группе, всех страниц палбокса или всех рабочих базы — соблюдаются ограничения чит-режима.
- **Исправить незаконный Pals** — Обнаружить и ограничить pals недопустимыми характеристиками, навыками или чертами для каждого игрока.
- **Массовое клонирование/удаление** — диалоговое окно выбора видов с контролем количества и переключателями источников (Party/Palbox/DPS) для пакетных операций.
- Добавьте новый Pals или быстро удалите двойным щелчком мыши.

### Управление гильдией

Двухпанельный вид: список гильдий вверху, список участников внизу.

- Переименовывать гильдии, менять лидеров, устанавливать уровень гильдии, максимальный уровень гильдии.
- Разблокировать все лабораторные исследования; восстановить все гильдии.
- Перемещайте игроков между гильдиями; удалять пустые или неактивные гильдии.

### Инструменты базового лагеря

- Просмотр всех базовых лагерей с ассоциацией гильдии.
- **Экспортировать** базовые чертежи в `.json`; **импорт** (одиночный или многофайловый) в любую гильдию.
- **Клонировать** базы в другие гильдии со смещением позиционирования.
- **Изменить координаты** — щелкните правой кнопкой мыши маркер базы на карте, выберите «Изменить координаты», затем щелкните любое место, чтобы телепортировать базу.
- **Сдвиг основания** — сдвиньте основание на точные смещения X/Y/Z, чтобы исправить отсечение земли или плавание.
- **Регулировка базового радиуса** (50–1000%).
- Удаление неактивных баз и небазовых объектов карты.
### Просмотр карт

Интерактивная визуализация всего вашего мира.

- Базовые маркеры (значок дома) и маркеры игрока (значок человека) с панелями подробностей.
- Переключение наложений: Базы, Игроки, Радиусные кольца, Зоны отчуждения.
- **Рисование зон** — рисуйте прямоугольные или многоугольные запретные зоны прямо на карте.
- **Режим калибровки** — Точно совместите карту с игровыми координатами.
- Представления «Карта мира» и «Древовидная карта»; фильтровать по гильдии или имени игрока.
- Масштабирование (1,0x–30,0x), панорамирование, двойной щелчок для перехода к маркеру.
- Маркеры правой кнопки мыши и пустое место для действий управления.

### Управление запасами

**Инвентарь игрока** — три дополнительных вкладки:
- *Инвентарь* — Все предметы и снаряжение в основной сумке; редактировать количество, добавлять, удалять.
- *Ключевые предметы* — Квестовые предметы, изображения и технологии; Массовое добавление всех изображений/ключевых предметов.
- *Статистика* — Уровень, HP, Выносливость, Атака, Защита, Скорость работы, Вес.
- Панель оборудования для слотов для оружия, аксессуаров, еды, брони, щита, планера и модулей.
- Разблокируйте все карты + точки быстрого перемещения в один клик.

**Базовый инвентарь** — просматривайте предметы и управляйте ими, а также работайте с Pals на всех базах:
- Просмотр/редактирование предметов в контейнерах; прозрачные контейнеры; изменить слоты контейнеров.
- Межгильдейские операции с предметами (найти/удалить предметы во всех гильдиях).
- Удаление межгильдейской структуры.
- Подвкладка **Base Pals** — управляйте работой Pals, назначенной каждой базе, с помощью полных контекстных меню редактора pal.

### Исключения

Списки защиты, которые защищают игроков, гильдии и базы от операций по зачистке.

- Три параллельные панели: исключенные UID игроков, идентификаторы гильдий и базовые идентификаторы.
- Добавляйте записи через контекстное меню, вызываемое правой кнопкой мыши, на вкладках «Игроки», «Гильдии» или «Базы».
- Постоянно сохраняйте и загружайте списки исключений.
– Составьте список **прежде** выполнения массовой очистки.

### Инструменты сохранения

Доступны на вкладке **Инструменты** в виде интерактивных карточек:

| Инструмент | Описание |
|------|-------------|
| **Конвертировать сохранения** | Преобразование между форматами SAV и JSON |
| **Преобразовать GamePass → Steam** | Конвертировать сохранения Xbox/GamePass в формат Steam |
| **Преобразовать SteamID** | Преобразование идентификаторов Steam в UID Palworld |
| **Восстановить карту** | Применить полностью разблокированный прогресс карты ко всем мирам/серверам |
| **Слот-инжектор** | Увеличение количества слотов для палбоксов на игрока |
| **Изменить сохранение** | Открытие и изменение необработанных данных сохранения |
| **Перенос персонажа** | Перенос персонажей между разными мирами/серверами (кросс-сохранение) |
| **Исправить сохранение хоста** | Обмен UID между двумя игроками (обмен хостами, миграция платформы) |

### Очистка и служебные функции

Эти операции серверного уровня, доступные через **Меню → Функции**, включают в себя:

- **Удаление** — Удаление пустых гильдий, неактивных баз/игроков, дубликатов игроков, неиспользуемых данных.
- **Очистка** — удаление недействительных/модифицированных элементов, недействительных pals и passives, недопустимых структур; исправить недопустимый pals (ограничение до разрешенного максимума); сброс зенитных турелей; разблокировать private chests; ремонт всех конструкций.
- **Сброс** — Сброс миссий, подземелий, нефтяной вышки, захватчика, сброса припасов.
- **Timestamps** — исправление отрицательных временных меток; сбросить время игрока.
- **PalDefender** — генерирует команды `killnearestbase`.





---




<div align="center">

## Установка

<img src="https://readme-typing-svg.demolab.com?lines=%D0%97%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D0%B5+%D0%B5%D0%B3%D0%BE+%D0%B7%D0%B0+%D1%81%D1%87%D0%B8%D1%82%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5+%D0%BC%D0%B8%D0%BD%D1%83%D1%82%D1%8B;%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%B8%D1%82%D0%B5+%D0%B8+%D0%B2%D0%BF%D0%B5%D1%80%D0%B5%D0%B4;%D0%9D%D0%B8%D0%BA%D0%B0%D0%BA%D0%BE%D0%B9+%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8+%D0%BD%D0%B5+%D1%82%D1%80%D0%B5%D0%B1%D1%83%D0%B5%D1%82%D1%81%D1%8F&center=true&width=420&height=28&font=monospace&size=22&color=7DD3FC&vCenter=true" alt="" />

</div>

### Автономные сборки (рекомендуется)

Предварительно собранные двоичные файлы доступны для всех трех основных платформ из [GitHub Releases](https://github.com/deafdudecomputers/PalworldSaveTools/releases/latest):

| Платформа | Скачать | Требования |
|----------|----------|--------------|
| **Окна** | `PalworldSaveTools-*.exe` | Windows 10/11, [VC++ Redistributable](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170) (2015–2022 гг.) |
| **Линукс** | `PalworldSaveTools-*-linux` | Любой современный дистрибутив |
| **macOS** | `PalworldSaveTools-*-macos.dmg` | macOS 12+ (Монтерей или новее) |

Также доступно на [Nexus Mods](https://www.nexusmods.com/palworld/mods/3190).

1. Загрузите подходящую сборку для вашей платформы.
2. Распакуйте (если есть в архиве) и запустите исполняемый файл.
3. Вот и все — никакого Python или зависимостей не требуется.

> **Windows:** Если вы видите сообщение «VCRUNTIME140.dll не найден», установите [Microsoft Visual C++ Redistributable](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170).

> **Linux:** Возможно, вам придется пометить файл как исполняемый: `chmod +x PalworldSaveTools-*-linux`

> **macOS:** Если Gatekeeper блокирует приложение, щелкните правой кнопкой мыши → **Открыть** в первый раз или запустите `xattr -d com.apple.quarantine /path/to/app`.

### Из исходного кода (все платформы)

PST использует [`uv`](https://docs.astral.sh/uv/) для управления зависимостями. Стартовый скрипт автоматически создаёт виртуальную среду и всё устанавливает.

**Предварительные требования:** [Python 3.11+](https://www.python.org/) и [uv](https://docs.astral.sh/uv/getting-started/installation/).

```bash
git clone https://github.com/deafdudecomputers/PalworldSaveTools.git
cd PalworldSaveTools
uv run start.py
```

**Windows** (панель запуска двойным щелчком мыши):
```
start.cmd
```

Средство запуска создает `.venv`, устанавливает зависимости через `uv sync` и загружает приложение. Он очищает файл блокировки при выходе, поэтому каждый запуск можно воспроизвести.





---




<div align="center">

## Быстрый старт

<img src="https://readme-typing-svg.demolab.com?lines=%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%B8%D1%82%D1%8C.+%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C.+%D0%A1%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D1%8F%D1%82%D1%8C.+%D0%AD%D1%82%D0%BE+%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE.;%D0%A2%D1%80%D0%B8+%D1%88%D0%B0%D0%B3%D0%B0+%D0%BA+%D1%81%D0%BB%D0%B0%D0%B2%D0%B5;%D0%AD%D1%82%D0%BE+%D1%82%D0%B0%D0%BA+%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE&center=true&width=450&height=28&font=monospace&size=22&color=7DD3FC&vCenter=true" alt="" />

</div>

1. **Загрузите сохранение**
   - Нажмите **Меню → Загрузить сохранение** или перетащите файл `.sav` в окно.
- Перейдите в папку сохранения Palworld и выберите `Level.sav`.

2. **Изучите свои данные**
   - Используйте вкладки — **Карта**, **Инструменты**, **Игроки**, **Гильдии**, **Базы**, **Инвентарь игрока**, **Базовый инвентарь**, **Pal Editor**, **Исключения** — чтобы изучить свое сохранение.
   - Панель статистики показывает текущий счет; Значки быстрой навигации переходят к каждому разделу.

3. **Внесите изменения**
   - Щелкните левой кнопкой мыши, чтобы выбрать; щелкните правой кнопкой мыши почти что угодно для контекстных действий.
   - Дважды щелкните, чтобы быстро отредактировать или удалить (подробную информацию см. в руководствах в приложении).

4. **Сохраните изменения**
   - Нажмите **Меню → Сохранить изменения**. Резервные копии создаются автоматически.

> **Совет.** На каждой вкладке есть встроенное руководство — нажмите значок справки на любой вкладке, чтобы узнать, какие именно функции она может выполнять. Для получения более подробной информации **наведите указатель мыши на любую кнопку, поле или элемент управления**, чтобы просмотреть подробные подсказки в заголовке. Справочная система подсказок в приложении — лучший справочник для точного понимания того, что делает каждая функция и как ее использовать.





---




<div align="center">

## Руководства

<img src="https://readme-typing-svg.demolab.com?lines=%D0%9F%D0%BE%D1%88%D0%B0%D0%B3%D0%BE%D0%B2%D1%8B%D0%B5+%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%B0;%D0%A1%D0%BB%D0%B5%D0%B4%D1%83%D0%B9%D1%82%D0%B5+%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D1%83;%D0%9C%D1%8B+%D0%BF%D0%BE%D0%BA%D0%B0%D0%B6%D0%B5%D0%BC+%D0%B2%D0%B0%D0%BC%2C+%D0%BA%D0%B0%D0%BA&center=true&width=390&height=28&font=monospace&size=22&color=7DD3FC&vCenter=true" alt="" />

</div>

### Сохранить расположение файлов

**Хост/совместная игра (Windows):**
```
%localappdata%\Pal\Saved\SaveGames\YOURID\RANDOMID\
```

**Выделенный сервер:**
```
steamapps\common\Palworld\Pal\Saved\SaveGames\0\RANDOMSERVERID\
```

### Разблокировка карты

PST может разблокировать полную карту (все точки быстрого перемещения) для вашего сохранения:

1. Загрузите сохранение в формате PST.
2. Откройте вкладку **Инвентарь игрока** и нажмите **Разблокировать всю карту + Быстрое путешествие** для одного игрока, **или**
3. Используйте инструмент **Восстановить карту** на вкладке «Инструменты», чтобы применить прогресс разблокированной карты ко **всем** вашим мирам/серверам одновременно.
4. Сохраните изменения. Создаются автоматические резервные копии.

### Хост → Перенос сервера

<details>
<summary>Нажмите, чтобы развернуть</summary>

1. Скопируйте `Level.sav` и папку `Players` из сохранения вашего хоста.
2. Вставьте их в папку сохранения выделенного сервера.
3. Запустите сервер, создайте нового персонажа и дождитесь автосохранения.
4. Закройте сервер.
5. Используйте **Исправить сохранение хоста** в PST, чтобы перенести GUID старого персонажа на новый.
6. Скопируйте файлы обратно и запустите сервер.

</details>

### Смена хоста (смена хоста)

<details>
<summary>Нажмите, чтобы развернуть руководство по замене хоста</summary>

**Справочная информация:**

- Хост использует `0001.sav`.
- Каждый клиент использует уникальный обычный UID, например `1234.sav`, `9876.sav` и т. д.
- Игрок А — старый хост с прогрессом в `0001.sav`.
- Игрок Б — существующий клиент, который станет новым хостом.

**Начальное состояние:**
```
0001.sav = Player A, old host
1234.sav = Player B, future host
```

**Предварительные требования:**
- Игрок Б должен был ранее присоединиться к миру Игрока А и создать персонажа.
- Обычное сохранение игрока Б должно находиться в папке `Players`.
- Игрок А и Игрок Б должны быть как минимум 2-го уровня.
- Перед внесением изменений создайте резервную копию всей папки сохранения мира.
- Выключите сервер или закройте Palworld перед изменением сохранения.

---

### 1. Поменяйте местами игрока Б в слот хоста.

Откройте **Исправить сохранение хоста** и выберите:
```
Source Player: Player A, 0001.sav
Target Player: Player B, 1234.sav
```
Запустите миграцию.

Результат:
```
0001.sav = Player B's original progress
1234.sav = Player A's original progress
```
Игрок Б теперь занимает слот хоста. Исходный прогресс игрока А сохраняется в прежнем обычном UID игрока Б.

---

### 2. Начните мир с игроком Б в качестве нового хозяина

Начните Palworld с игрока B, принимающего мир. Убедитесь, что у игрока Б правильный персонаж, уровень, инвентарь, pals, гильдия, базы и право собственности.

Сохранить состояние:
```
0001.sav = Player B, new host
1234.sav = Player A's original progress
```

---

### 3. Игрок А присоединится к миру игрока Б.

Игрок А присоединяется к миру, который теперь принадлежит Игроку Б. Palworld может назначить Игроку А новый обычный UID, поскольку он больше не является хостом.

Пример:
```
3456.sav = Player A's new client UID
```

Palworld может попросить игрока А создать нового персонажа (ожидается). Первоначальный прогресс игрока А все еще находится на уровне `1234.sav`.

После того, как игрок А создаст временного персонажа:
```
0001.sav = Player B's correct progress
1234.sav = Player A's original progress
3456.sav = Player A's new temporary character
```

---

### 4. Временный персонаж игрока А уровня.

1. Пусть игрок А достигнет как минимум **уровня 2** с временным персонажем.
2. Попросите игрока А покинуть сервер.
3. Полностью выключите сервер.
4. Снова создайте резервную копию папки сохранения мира.

Требуется уровень 2, поскольку **Исправить сохранение хоста** требует, чтобы оба выбранных персонажа были как минимум 2-го уровня.

---

### 5. Восстановить исходный прогресс игрока А.

Откройте **Исправить сохранение хоста** еще раз и выберите:
```
Source Player: Player A's original progress, 1234.sav
Target Player: Player A's new client UID, 3456.sav
```
Запустите миграцию. Потому что это еще один двусторонний обмен:

```
0001.sav = Player B's correct host progress
3456.sav = Player A's restored original progress
1234.sav = Player A's temporary character
```
Новый UID клиента игрока А теперь указывает на исходного персонажа и прогресс игрока А.

---

### Окончательный результат:
```
0001.sav = Player B, new host with original progress
3456.sav = Player A, client with restored original progress
1234.sav = Temporary leftover character
```
- Игрок Б ведет игру, используя оригинального персонажа Игрока Б.
- Игрок А присоединяется, используя восстановленного оригинального персонажа Игрока А.

</details>

### Перенос персонажей (кросс-сохранение)

<details>
<summary>Нажмите, чтобы развернуть</summary>

Переносите персонажей между разными мирами или серверами, сохраняя персонажей, Pals, инвентарь и технологии:

1. Откройте инструмент **Перенос символов** на вкладке «Инструменты».
2. Выберите исходное сохранение и целевое сохранение.
3. Перевести одного игрока или всех игроков.
4. Полезно для перехода между кооперативными и выделенными серверами.

</details>

### Базовый экспорт/импорт/клон

<details>
<summary>Нажмите, чтобы развернуть</summary>

**Экспорт базы:**
1. Перейдите на вкладку **Базы** (или воспользуйтесь Map Viewer).
2. Щелкните базу правой кнопкой мыши → **Экспортировать базу**.
3. Сохраните как файл схемы `.json`.

**Импорт базы:**
1. Щелкните правой кнопкой мыши целевую гильдию (на вкладке «Базы», «Вьюер карт» или «Гильдии»).
2. Выберите **Импортировать базу** (один файл) или **Импортировать базы (несколько файлов)**.
3. Выберите экспортированные файлы `.json`.

**Клонирование базы:**
1. Щелкните базу правой кнопкой мыши → **Клонировать базу**.
2. Выберите целевую гильдию.
3. База клонируется со смещением позиционирования.

**Регулировка базового радиуса:**
1. Щелкните основание правой кнопкой мыши → **Настроить радиус**.
2. Введите новый радиус (50–1000%).
3. Сохраните и перезагрузите сохранение в игре для структур, которые нужно переназначить.

</details>





---




<div align="center">

## Устранение неполадок

<img src="https://readme-typing-svg.demolab.com?lines=%D0%9A%D0%BE%D0%B3%D0%B4%D0%B0+%D0%B4%D0%B5%D0%BB%D0%B0+%D0%B8%D0%B4%D1%83%D1%82+%D0%BD%D0%B5+%D1%82%D0%B0%D0%BA;%D0%9D%D0%B5+%D0%BF%D0%B0%D0%BD%D0%B8%D0%BA%D1%83%D0%B9%D1%82%D0%B5;%D0%9C%D1%8B+%D0%B2%D1%81%D0%B5+%D1%8D%D1%82%D0%BE+%D0%B2%D0%B8%D0%B4%D0%B5%D0%BB%D0%B8&center=true&width=390&height=28&font=monospace&size=22&color=7DD3FC&vCenter=true" alt="" />

</div>

### «VCRUNTIME140.dll не найден» (Windows)

Установите [Microsoft Visual C++ Redistributable](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170) (2015–2022 гг.).

### `struct.error` при разборе сохранения

Формат файла сохранения устарел. Загрузите сохранение в игре (одиночный, кооперативный или выделенный сервер) один раз, чтобы запустить автоматическое обновление структуры, а затем повторите попытку. Убедитесь, что сохранение было обновлено после выхода последнего обновления игры.

### GamePass конвертер не работает

1. Полностью закройте версию GamePass Palworld.
2. Подождите несколько минут, пока дескрипторы файлов не освободятся.
3. Запустите преобразователь GamePass → Steam.
4. Запустите Palworld на GamePass для проверки.

### Бинарный файл Linux/macOS не запускается

- **Linux:** `chmod +x PalworldSaveTools-*-linux`, чтобы пометить его как исполняемый.
- **macOS:** Если Gatekeeper заблокирован, щелкните правой кнопкой мыши → **Открыть** или запустите `xattr -d com.apple.quarantine /path/to/app`.





---




<div align="center">

## Сборка из исходного кода

<img src="https://readme-typing-svg.demolab.com?lines=%D0%A1%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D0%B8%D1%80%D1%83%D0%B9%D1%82%D0%B5+%D1%81%D0%B0%D0%BC%D0%B8;%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%B9%D1%82%D0%B5+%D1%81%D0%B2%D0%BE%D0%B9+%D1%81%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9;%D0%9E%D1%82+%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE+%D0%BA%D0%BE%D0%B4%D0%B0+%D0%BA+%D0%B4%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D0%BE%D0%BC%D1%83&center=true&width=340&height=28&font=monospace&size=22&color=7DD3FC&vCenter=true" alt="" />

</div>

PST поддерживает два пути сборки. Конвейер CI/CD использует Nuitka для двоичных файлов кроссплатформенного выпуска; cx_Freeze используется для локального установщика Windows.

### Nuitka (кроссплатформенный — используется в CI/релизах)

Требуется Python 3.11+ и `uv`. Nuitka устанавливается автоматически.

```bash
# One-file build (Windows / Linux)
uv run python build/nuitka/build_nuitka.py --onefile

# One-directory build (macOS .app)
uv run python build/nuitka/build_nuitka.py --onedir
```

Выходы поступают в `dist/`:
- Окна → `dist/PalworldSaveTools-*.exe`
- Linux → `dist/PalworldSaveTools-*-linux`
- macOS → `dist/PalworldSaveTools.app` → упакован как `.dmg`

### cx_Freeze (установщик Windows)

Для локального пакета Windows `.7z`:

```
scripts\build_cx.cmd
```

Это создаст `PST_standalone_v{version}.7z` в корне проекта.

### Интерактивный конструктор

Интерактивное меню для выбора режима сборки:

```bash
uv run python build/build_interactively.py
```





---




<div align="center">

## Вклад

<img src="https://readme-typing-svg.demolab.com?lines=%D0%A5%D0%BE%D1%82%D0%B8%D1%82%D0%B5+%D0%BF%D0%BE%D0%BC%D0%BE%D1%87%D1%8C%3F+%D0%92%D0%BE%D1%82+%D0%BA%D0%B0%D0%BA;%D0%9F%D1%80%D0%B8%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D1%8F%D0%B9%D1%82%D0%B5%D1%81%D1%8C+%D0%BA+%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B5;%D0%9A%D0%B0%D0%B6%D0%B4%D1%8B%D0%B9+%D0%B2%D0%BA%D0%BB%D0%B0%D0%B4+%D0%B8%D0%BC%D0%B5%D0%B5%D1%82+%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5&center=true&width=440&height=28&font=monospace&size=22&color=7DD3FC&vCenter=true" alt="" />

</div>

Вклады приветствуются! Пожалуйста, не стесняйтесь отправить запрос на включение.

1. Форкните репозиторий.
2. Создайте свою ветку функций (`git checkout -b feature/AmazingFeature`).
3. Зафиксируйте изменения (`git commit -m 'Add some AmazingFeature'`).
4. Нажмите на ветку (`git push origin feature/AmazingFeature`).
5. Откройте запрос на включение.





---




<div align="center">

## Отказ от ответственности

<img src="https://readme-typing-svg.demolab.com?lines=%D0%9F%D1%80%D0%BE%D1%87%D1%82%D0%B8%D1%82%D0%B5+%D1%8D%D1%82%D0%BE%2C+%D0%BF%D1%80%D0%B5%D0%B6%D0%B4%D0%B5+%D1%87%D0%B5%D0%BC+%D1%87%D1%82%D0%BE-%D1%82%D0%BE+%D1%81%D0%BB%D0%BE%D0%BC%D0%B0%D1%82%D1%8C;%D0%92%D1%8B+%D0%B1%D1%8B%D0%BB%D0%B8+%D0%BF%D1%80%D0%B5%D0%B4%D1%83%D0%BF%D1%80%D0%B5%D0%B6%D0%B4%D0%B5%D0%BD%D1%8B;%D0%A1%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D0%B0+%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D0%B9%D1%82%D0%B5+%D1%80%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%BD%D1%83%D1%8E+%D0%BA%D0%BE%D0%BF%D0%B8%D1%8E%21;%D0%A1+%D0%B2%D0%B5%D0%BB%D0%B8%D0%BA%D0%BE%D0%B9+%D1%81%D0%B8%D0%BB%D0%BE%D0%B9...&center=true&width=520&height=28&font=monospace&size=22&color=7DD3FC&vCenter=true" alt="" />

</div>

**Используйте этот инструмент на свой страх и риск. Всегда создавайте резервные копии файлов сохранения перед внесением каких-либо изменений.**

Разработчики не несут ответственности за потерю данных сохранения или проблемы, которые могут возникнуть в результате использования этого инструмента.





---




<div align="center">

## Поддержка

<img src="https://readme-typing-svg.demolab.com?lines=%D0%9C%D1%8B+%D0%BF%D1%80%D0%B8%D0%BA%D1%80%D0%BE%D0%B5%D0%BC+%D1%82%D0%B2%D0%BE%D1%8E+%D1%81%D0%BF%D0%B8%D0%BD%D1%83;%D0%9D%D1%83%D0%B6%D0%BD%D0%B0+%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%3F;%D0%9C%D1%8B+%D0%B7%D0%B4%D0%B5%D1%81%D1%8C+%D0%B4%D0%BB%D1%8F+%D0%B2%D0%B0%D1%81&center=true&width=340&height=28&font=monospace&size=22&color=7DD3FC&vCenter=true" alt="" />

</div>

- **Discord:** [Join us for support, base builds, and more!](https://discord.gg/sYcZwcT4cT)
- **GitHub Проблемы:** [Report a bug](https://github.com/deafdudecomputers/PalworldSaveTools/issues)
- **Моды Nexus:** [Download & discuss](https://www.nexusmods.com/palworld/mods/3190)





---




<div align="center">

## Лицензия

<img src="https://readme-typing-svg.demolab.com?lines=MIT+%E2%80%94+%D0%B4%D0%B5%D0%BB%D0%B0%D0%B9%2C+%D1%87%D1%82%D0%BE+%D1%85%D0%BE%D1%87%D0%B5%D1%88%D1%8C;%D0%91%D0%B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD%D0%BE%2C+%D0%BA%D0%B0%D0%BA+%D0%BF%D0%B8%D0%B2%D0%BE;%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8B%D0%B9+%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D1%8B%D0%B9+%D0%BA%D0%BE%D0%B4%2C+%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8B%D0%B9+%D1%80%D0%B0%D0%B7%D1%83%D0%BC&center=true&width=430&height=28&font=monospace&size=22&color=7DD3FC&vCenter=true" alt="" />

</div>

Этот проект лицензируется по лицензии MIT — подробности см. в файле [license](license).





---




<div align="center">

## Команда Palworld

<img src="https://readme-typing-svg.demolab.com?lines=%D0%9B%D1%8E%D0%B4%D0%B8%2C+%D1%81%D1%82%D0%BE%D1%8F%D1%89%D0%B8%D0%B5+%D0%B7%D0%B0+%D0%B2%D0%BE%D0%BB%D1%88%D0%B5%D0%B1%D1%81%D1%82%D0%B2%D0%BE%D0%BC;%D0%9F%D0%BE%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%8C%D1%82%D0%B5%D1%81%D1%8C+%D1%81+%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BE%D0%B9;%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%BE+%D1%81%D0%BE+%D1%81%D1%82%D1%80%D0%B0%D1%81%D1%82%D1%8C%D1%8E&center=true&width=420&height=28&font=monospace&size=22&color=7DD3FC&vCenter=true" alt="" />

</div>

Этот проект не существовал бы без людей, стоящих за ним.

### Активные сопровождающие

**[Pylar](https://github.com/deafdudecomputers)** — Человек, с которого все началось. Каждая строка этого инструмента восходит к его видению и неустанной работе над механизмом сохранения, графическим интерфейсом и функциями, которые вы используете каждый день.

**[cyrix](https://github.com/CyrixJD115)** — Рефакторинг и суб-сопровождающий. Сосредоточено на качестве кода, его упрощении и структурных улучшениях — сохранение чистоты, размера и простоты поддержки кодовой базы по мере роста проекта.

### Участники

**[dkoz](https://github.com/dkoz)** — Человек, стоящий за удостоверениями личности. Предоставляет идентификаторы игровых данных, структурную информацию об идентификационных кодах и глубокие знания о том, как данные Palworld связаны друг с другом, что обеспечивает точность инструмента при каждом обновлении игры.

**[oMaN-Rod](https://github.com/oMaN-Rod)** — предоставлен исходный анализатор сохранений, от которого произошел этот проект. Без его фундаментальной работы по взлому формата сохранений Palworld ничего из этого не существовало бы. Форк упростил его парсер и превратил его в то, что представляет собой PST сегодня.

**[Okaetsu](https://github.com/Okaetsu)** — Рекомендации по моддингу, которые сделали возможным базовый импорт/экспорт. Его понимание того, как Palworld структурирует базовые данные со стороны моддинга, позволило преодолеть разрыв между моддингом и редактированием сохранений, сделав эту функцию реальностью.





---




<div align="center">

## Благодарности

<img src="https://readme-typing-svg.demolab.com?lines=%D0%93%D0%B4%D0%B5+%D0%BF%D1%80%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%D1%81%D1%8F+%D0%BA%D1%80%D0%B5%D0%B4%D0%B8%D1%82;%D0%A1%D0%BF%D0%B0%D1%81%D0%B8%D0%B1%D0%BE+%D0%B2%D1%81%D0%B5%D0%BC;%D0%9C%D1%8B+%D1%81%D1%82%D0%BE%D0%B8%D0%BC+%D0%BD%D0%B0+%D0%BF%D0%BB%D0%B5%D1%87%D0%B0%D1%85&center=true&width=390&height=28&font=monospace&size=22&color=7DD3FC&vCenter=true" alt="" />

</div>
Огромное спасибо:

- **Palworld**, разработанный Pocketpair, Inc. — для игры, которая объединила нас всех.
- **Сообщители об ошибках** — каждая зарегистрированная проблема, каждый обнаруженный крайний случай, каждый журнал, вставленный в Discord. С каждым отчетом вы делаете этот инструмент более надежным.
- **Сообщество моддеров Palworld** — коллеги-моддеры, разработчики инструментов и мастера, которые делятся знаниями, занимаются реверс-инжинирингом форматов и продвигают экосистему вперед. Этот проект стоит на плечах этих коллективных усилий.
- **Все участники и члены сообщества** — независимо от того, отправили ли вы PR, ответили на вопрос в Discord или просто рассказали другу о PST — спасибо.

---

<div align="center">

![Divider](../assets/branding/PalworldSaveTools_readme_divider.png)

**Сделано с ❤️ для сообщества Palworld**

[⬆ Back to Top](#palworld-save-tools)

</div>