Импорт пресетов сборок из ZIP-пакета
Release / release (push) Successful in 30s
CI / test (push) Successful in 23s

Крупные сборки раздают готовый комплект настроек архивом. Панель разбирает
его сама: находит серверный .ini, песочницу и точки появления, показывает,
что нашла (сколько модов, карт, параметров), и только по подтверждению
раскладывает файлы в новый или существующий профиль.

Порты, пароли и название сервера при этом можно оставить свои — они относятся
к машине, а не к сборке; у нового профиля они берутся из активного. Прежние
конфиги остаются рядом как .bak, мир не трогается, а импорт в работающий
профиль отклоняется: PZ перезаписал бы файлы своими при остановке.

Посторонние .ini из архива (настройки модов) за конфиг сервера не
принимаются: он опознаётся по знакомым параметрам.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-06 17:18:44 +03:00
co-authored by Claude Opus 5
parent 1e659678b9
commit aec932f68f
12 changed files with 1022 additions and 7 deletions
+54
View File
@@ -299,6 +299,33 @@ const STRINGS = {
"profiles.copyNone": "не копировать",
"profiles.create": "Создать профиль",
"import.title": "Импорт пресета сборки",
"import.fileHint": "ZIP-пакет сборки: панель возьмёт из него серверный .ini, настройки песочницы и точки появления, остальное пропустит.",
"import.reading": "Читаю архив…",
"import.set": "Набор из архива",
"import.server": "Сервер: {name}",
"import.mods": "Моды: {mods} · пакеты мастерской: {workshop}",
"import.maps": "Карты: {maps}",
"import.counts": "Настройки сервера: {settings} · песочница: {sandbox}",
"import.spawnYes": "Точки появления: есть",
"import.spawnNo": "Точки появления: нет",
"import.noINI": "Конфига сервера в наборе нет — импортируются только настройки песочницы.",
"import.target": "Куда импортировать",
"import.targetNew": "В новый профиль",
"import.targetExisting": "Поверх существующего профиля",
"import.newID": "Идентификатор нового профиля",
"import.profile": "Профиль",
"import.overwriteHint": "Конфиги профиля будут заменены, прежние останутся рядом с расширением .bak. Мир не трогается.",
"import.keep": "Оставить свои значения вместо тех, что в пресете:",
"import.keepPorts": "Порты и RCON",
"import.keepAccess": "Пароль сервера и объявляемый IP",
"import.keepIdentity": "Имя и описание сервера",
"import.apply": "Импортировать",
"import.noFile": "Выберите ZIP-пакет сборки",
"import.confirm": "Импортировать набор «{name}» в профиль {profile}?\n\nКонфиги профиля будут заменены, прежние останутся рядом с расширением .bak.",
"import.done": "Пресет импортирован в профиль {profile}. Записано файлов: {files}.",
"import.kept": "Свои значения взяты из профиля {profile}: {keys}",
"settings.versionTitle": "Версия панели",
"settings.title": "Настройки менеджера",
"settings.save": "Сохранить настройки",
@@ -596,6 +623,33 @@ const STRINGS = {
"profiles.copyNone": "do not copy",
"profiles.create": "Create profile",
"import.title": "Import a collection preset",
"import.fileHint": "A collection ZIP package: the panel takes the server .ini, the sandbox settings and the spawn regions out of it and skips the rest.",
"import.reading": "Reading the archive…",
"import.set": "Preset from the archive",
"import.server": "Server: {name}",
"import.mods": "Mods: {mods} · Workshop items: {workshop}",
"import.maps": "Maps: {maps}",
"import.counts": "Server settings: {settings} · sandbox: {sandbox}",
"import.spawnYes": "Spawn regions: included",
"import.spawnNo": "Spawn regions: none",
"import.noINI": "The preset has no server config — only the sandbox settings will be imported.",
"import.target": "Where to import",
"import.targetNew": "Into a new profile",
"import.targetExisting": "Over an existing profile",
"import.newID": "Identifier of the new profile",
"import.profile": "Profile",
"import.overwriteHint": "The profile configs will be replaced, the previous ones stay next to them with a .bak extension. The world is left alone.",
"import.keep": "Keep your own values instead of the ones from the preset:",
"import.keepPorts": "Ports and RCON",
"import.keepAccess": "Server password and announced IP",
"import.keepIdentity": "Server name and description",
"import.apply": "Import",
"import.noFile": "Choose a collection ZIP package",
"import.confirm": "Import the preset \"{name}\" into the profile {profile}?\n\nThe profile configs will be replaced, the previous ones stay next to them with a .bak extension.",
"import.done": "Preset imported into the profile {profile}. Files written: {files}.",
"import.kept": "Your own values were taken from the profile {profile}: {keys}",
"settings.versionTitle": "Panel version",
"settings.title": "Manager settings",
"settings.save": "Save settings",