Визуальный редактор базы данных сервера Single Player Tarkov
Удобный веб‑интерфейс для правки предметов, экономики, трейдеров, ботов, убежища, квестов и даже сохранённого профиля вашего ЧВК — без копания в сыром JSON.
SPT Server Editor — это веб‑приложение для удобного управления базой данных сервера Single Player Tarkov (SPT). Вместо ручного редактирования десятков JSON‑файлов вы получаете современный интерфейс с понятными формами, поиском, массовыми операциями и автоматическим определением типов.
Интерфейс построен на Vaadin AppLayout: верхняя панель (источник данных, глобальные
Сохранить / Бэкап / Экспорт, выбор языка, тёмная/светлая тема) и боковая
навигация по разделам. По умолчанию — тёмная тема в стиле Tarkov.
⚠️ Изменения пишутся напрямую в файлы базы. Перед правками жмите Бэкап, либо используйте Экспорт в отдельную папку — оригиналы не трогаются.🔧 Сборка и запуск — строго на JDK 17 (Lombok 1.18.32 несовместим с новыми JDK).
Трёхпанельный редактор: дерево категорий · таблица · карточка справа.
- Редактор любого свойства — вкладка «Все свойства» правит все 100+ полей
_props(тип определяется автоматически), вкладка «Основное» даёт удобные формы по типу предмета (оружие, броня, патрон, медикаменты, экономика). - Определение типа по цепочке
_parent(base‑class ID) — работает на любом языке и сборке; бейджи типа и класса брони. - Цены — барахолка (
prices.json) и базовые (handbook.json) прямо из карточки. - Массовое редактирование — «установить / умножить / прибавить» к числовому свойству для всех предметов под фильтром.
Один экран для всего баланса: глобальные множители цен барахолки и базовых цен,
настройки ragfair.json (обновление, налог, шанс продажи), страховки (insurance.json)
и трейдеров (trader.json) — всё понятными полями с подсказками.
Параметры сложности ИИ больше не сырые КАПСОВЫЕ константы. Они сгруппированы в карточки с русскими названиями (Точность прицеливания, Стрельба, Слух, Зрение, Укрытия, Гранаты, …), правильными типами полей и подсказкой при наведении на каждое поле. Уровни: easy / normal / hard / impossible.
Редактор сохранённого профиля (user/profiles/*.json) — того самого ЧВК, которого
создал игрок. 14 вкладок правят буквально всё:
| Вкладка | Что правит |
|---|---|
| Инфо | Никнейм, уровень, опыт, престиж, сторона |
| Деньги | Все стопки валют (RUB/USD/EUR) с итогом |
| Навыки | Прогресс навыков + расчётный уровень |
| Мастеринг | Прокачка оружия |
| Здоровье | HP по частям тела, энергия, гидратация |
| Квесты · Трейдеры · Убежище | Прогресс и состояния |
| Достижения · Энциклопедия | Полученное / изученное |
| Внешность · Бонусы · Статистика · Всё (raw) | Кастомизация и сырой доступ |
![]() |
![]() |
![]() |
|
base.json (валюта, скидки, страховка, лояльность) и вкладка «Ассортимент»
(assort.json: что продаёт, цена, валюта, уровень лояльности) с аватарами торговцев.
Крафты (production.json) с человекочитаемыми названиями производимого предмета и
временем крафта, а также зоны и требования к улучшениям.
Поиск по quests.json и поштучное редактирование квеста (условия, награды).
- Дашборд — сводка по базе: количество предметов, локаций, разбивка по категориям, цены.
- Конфиги сервера — редактор любого
configs/*.jsonчерез виртуализованное дерево. - Лут локаций — статический лут, спавн контейнеров, точечный буст рассыпного лута
(
looseLoot.json~40 МБ обрабатывается без загрузки в UI). - Спавны / PMC, Достижения, Пресеты оружия, Профили‑шаблоны, Локации.
- Проверки — интеграционные проверки целостности базы.
- Бэкап — атомарная запись (temp‑файл + atomic move) всех редактируемых файлов.
- Экспорт — неразрушающая запись изменений в отдельную папку.
- Локализация — RU / EN / DE / FR / ES / IT / CZ / CH / HU с откатом на английский.
Maven устанавливать не нужно — он скачается автоматически (через встроенный Maven Wrapper). Нужна только Java 17 (скачать бесплатно).
В корне проекта лежат три готовых скрипта:
| Файл | Система | Что делает |
|---|---|---|
run.sh |
macOS / Linux | Собирает (при первом запуске) и запускает редактор, открывает браузер. |
run.bat |
Windows | То же самое — просто дважды кликните по файлу. |
create_exe.bat |
Windows | Собирает готовую программу .exe со встроенной Java — её можно отдать другу, которому не нужно ставить вообще ничего. |
Windows: дважды кликните run.bat → дождитесь сборки → откроется браузер.
macOS / Linux:
chmod +x run.sh # один раз — сделать файл исполняемым
./run.sh # собрать (первый раз) и запустить
./run.sh rebuild # пересобрать зановоПри первом запуске идёт скачивание зависимостей и сборка фронтенда — это нормально и
занимает несколько минут. Дальше запуск мгновенный. Когда увидите адрес
http://localhost:8080 — редактор готов (браузер откроется сам).
Хотите отдать программу человеку, у которого вообще нет Java?
- Установите JDK 17 (именно JDK, а не JRE — в нём есть инструмент
jpackage). - Дважды кликните
create_exe.batи подождите. - Готовая программа появится в папке
dist\SPT Server Editor\— внутриSPT Server Editor.exeи встроенная Java. - Эту папку можно скопировать на любой Windows‑ПК и запустить
.exe— больше ничего ставить не надо. После запуска откройтеhttp://localhost:8080.
# Production‑сборка (самодостаточный jar)
./mvnw -Pproduction clean package -DskipTests
java -jar target/spt-server-editor-0.1.0-SNAPSHOT.jar
# Режим разработки с горячей перезагрузкой UI
./mvnw spring-boot:runОткройте http://localhost:8080.
- Загрузка данных — в поле Источник данных укажите путь к папке
SPT_Dataвашего сервера и нажмите Загрузить. - Правьте нужный раздел через боковое меню. Большинство полей сохраняется в память мгновенно.
- Бэкап — перед серьёзными изменениями нажмите Бэкап.
- Сохранение — кнопка Сохранить записывает все изменения в файлы базы атомарно. Либо Экспорт — в отдельную папку, не трогая оригиналы.
src/main/java/com/spteditor/
├── SptServerEditorApplication.java
├── config/ # Spring, Jackson, Async
├── domain/ # Модели (ItemRecord/ItemProps, BaseClasses, ServerLocation…)
├── service/ # Бизнес-логика и состояние
│ ├── Workspace.java # Общее состояние: загрузка, dirty, saveAll, оповещения
│ ├── ItemLoaderService / ItemSaveService / ItemDataStore / PriceService
│ ├── ConfigService / TraderService / AssortService / EconomyService
│ ├── BotService / HideoutService / QuestsService / LootService
│ ├── AchievementsService / PresetsService / ProfilesService
│ ├── ProfileSaveService # Сохранённый профиль ЧВК (user/profiles/*.json)
│ ├── ExportService / BackupService / IntegrityService
│ └── LocalizationService / ItemCategoryService
├── ui/ # Vaadin
│ ├── MainLayout.java # Оболочка AppLayout (навбар + drawer-навигация)
│ ├── *View.java # Роутируемые разделы (Items/Bots/Economy/Profile/…)
│ ├── profile/ # 14 редакторов вкладок профиля ЧВК
│ ├── ItemEditorForm.java # Карточка предмета (master-detail)
│ ├── JsonTreeEditor.java # Переиспользуемый древо-редактор JSON (виртуализован)
│ └── JsonFormPanel.java # Формы по dot-path с подписями и подсказками
├── web/ # ImageController (аватары трейдеров и пр.)
└── util/ # DatabaseRootResolver, Strings
src/main/resources/botlabels/ # Человекочитаемые подписи параметров ИИ ботов
src/main/frontend/themes/spt/ # Тёмная «Tarkov» тема (+ светлая через .spt-light)
Стек: Java 17 · Spring Boot 3.2 · Vaadin 24 · Jackson.
- Сделайте форк и ветку.
- Внесите изменения (придерживайтесь стиля: новые файлы самодостаточны, запись атомарна).
- Откройте Pull Request с описанием.
MIT. См. файл LICENSE.









