diff --git a/README.md b/README.md index 673a859..7cfa5dd 100644 --- a/README.md +++ b/README.md @@ -13,20 +13,39 @@ 1. [Использование](#использование) 1. [Интерфейс](#интерфейс) 1. [Управление](#управление) - 1. [Browse SD Card/Browse USB0 Drive](#browse-sd-card--browse-usb0-drive) - 1. [Install title from DBIbackend](#install-title-from-dbibackend) - 1. [Home server](#home-server) - 1. [Browse installed applications](#browse-installed-applications) + 1. [Browse SD Card / Просмотр MicroSD карты и Browse USB0 Drive / Просмотр USB0 диска](#browse-sd-card--просмотр-microsd-карты-и-browse-usb0-drive--просмотр-usb0-диска) + 1. [Install title from DBIbackend / Установка через DBIbackend](#install-title-from-dbibackend--установка-через-dbibackend) + 1. [Home server / Подключение к серверу](#home-server--подключение-к-серверу) + 1. [Browse installed applications / Просмотр установленных игр](#browse-installed-applications--просмотр-установленных-игр) * [Контекстное меню тайтла](#контекстное-меню-тайтла) * [Детальное меню игры](#детальное-меню-игры) + * [Content records / Контент](#content-records--контент) + * [Tickets / Тикеты](#tickets--тикеты) + * [Saves / Сохранения](#saves--сохранения) * [Контекстное меню записи](#контекстное-меню-записи) - 1. [Cleanup orphaned files](#cleanup-orphaned-files) - 1. [Browse tickets](#browse-tickets) + 1. [Cleanup orphaned files / Очистка потерянных файлов](#cleanup-orphaned-files--очистка-потерянных-файлов) + 1. [Browse tickets / Просмотр тикетов](#browse-tickets--просмотр-тикетов) * [Контекстное меню тикетов](#контекстное-меню-тикетов) - 1. [Browse saves](#browse-saves) - * [Контекстное меню сохранений](#контекстное-меню-сохранений) - 1. [Run MTP responder](#run-mtp-responder) - 1. [Exit](#exit) + 1. [Browse saves / Просмотр сохранений](#browse-saves--просмотр-сохранений) + * [Контекстное меню Installed / Установленные](#контекстное-меню-installed--установленные-и-uninstalled--удалённые) + * [Контекстное меню Backups / Бекапы](#контекстное-меню-backups--бекапы) + 1. [Run MTP responder / Запустить MTP соединение](#run-mtp-responder--запустить-mtp-соединение) + 1. [Configuration / Настройки DBI и параметры файла dbi.config](#configuration--настройки-dbi-и-параметры-файла-dbiconfig) + * [General / Общие (`[General]`)](#general--общие-general) + * [Main menu / Главное меню (`[MainMenu]`)](#main-menu--главное-меню-mainmenu) + * [Applications / Установленные игры (`[Applications]`)](#applications--установленные-игры-applications) + * [Install options / Параметры установки (`[Install]`)](#install-options--параметры-установки-install) + * [MTP options / Параметры MTP (`[MTP]`)](#mtp-options--параметры-mtp-mtp) + * [MTP storages / Хранилища MTP (`[MTP Storages]`)](#mtp-options--параметры-mtp-mtp) + * [FTP options / Параметры FTP (`[FTP]`)](#mtp-options--параметры-mtp-mtp) + * [FTP options / Параметры FTP (`[FTP]`)](#ftp-options--параметры-ftp-ftp) + * [Access point / Точка доступа (`[Access point]`)](#access-point--точка-доступа-access-point) + * [Есть в конфиге, но нет в меню](#есть-в-конфиге-но-нет-в-меню) + * [Network sources](#network-sources) + * [Local sources](#local-sources) + * [MTP custom storages](#mtp-custom-storages) + * [Title name override](#title-name-override) + 1. [Exit / Выход](#exit--выход) 1. [Уведомления и коды ошибок](#уведомления-и-коды-ошибок) 1. [Уведомления](#уведомления) 1. [Ошибки](#ошибки) @@ -45,18 +64,18 @@ ### Интерфейс ![2021041010520200](https://user-images.githubusercontent.com/18294541/114262830-d7643e00-99ea-11eb-8dbb-c8e0996577e5.jpg) -* **Browse SD Card** — установка `NSP`/`NSZ`/`XCI`/`XCZ`-файлов из карты памяти. -* **Browse USB0 Drive** — установка `NSP`/`NSZ`/`XCI`/`XCZ`-файлов с внешнего USB-накопителя в exFAT/FAT32: флешки, жёсткого диска, проч. -* **Install title from DBIbackend** — установка `NSP`/`NSZ`/`XCI`/`XCZ` из ПК по USB 2.0 и 3.0-проводу, через прилагаемую программу dbibackend. *Горячая клавиша для этой опции*: кнопка **(Y)**. -* **Install title from Gamecard** — этот пункт появляется при вставленном в Switch игровом картридже, — для установки игры из имеющегося игрового картриджа в microSD-карту или внутреннюю NAND-память консоли. -* **Home server** — начиная с версии v150, есть возможность устанавливать игры по сети (HTTP), через WiFi без провода или LAN-USB-адаптер. Подробнее об этом ниже -* **Browse installed applications** — просмотр установленных игр, их общее установленное количество, посмотреть потраченное время на игру и количество её запусков, проверить (верифицировать) на ошибки, перенести игровые данные между встроенной памятью, картой памяти и обратно, возможность их выборочного или потокового удаления вместе с прилагаемыми LayeredFS-модами, просмотр наличия у них обновлений и DLC, ручное удаление DLC/обновлений/LaryeredFS (LFS) мода, функция Reset Required version для сброса системной проверки обновления у выбранной игры. *Горячая клавиша для этой опции*: кнопка **(L)**. -* **Cleanup orphaned files** — автоматическая чистка ненужных удалённых файлов игр, если они есть -* **Browse tickets** — просмотр и ручное удаление системных тикетов игр. -* **Browse saves** - просмотр и удаление сохранений -* **Run MTP responder** — включение внутреннего MTP-сервера для присоединения Switch к ПК или к Android-устройству (телефон/планшет/пр., протестированы Pixel 3, Xiaomi Mi A1, Lenovo Tab 4 7" TB-7304X), можно: просматривать и работать с картой памяти (1: External SD Card) и внутренней память консоли, просматривать установленные игры (4: Installed games), сделать бекап игровых сохранений на ПК (7: Saves), при вставленном игровом картридже дампить его (full/trimmed/сертификат) на ПК/Android (9: Gamecard). *Горячая клавиша для этой опции*: кнопка X (ей же выходить из MTP). -* **Run FTP server** - включает FTP-сервер DBI для доступа к файлам microSD через порт 5000 или установку файлов через порт 6000 -* **Exit** — выход из программы. *Горячая клавиша для этой опции*: кнопка **(+)** +* **Browse SD Card** / **Просмотр MicroSD карты** — установка `NSP`/`NSZ`/`XCI`/`XCZ`-файлов из карты памяти. +* **Browse USB0 Drive** / **Просмотр USB0 диска** — установка `NSP`/`NSZ`/`XCI`/`XCZ`-файлов с внешнего USB-накопителя в exFAT/FAT32: флешки, жёсткого диска, проч. +* **Install title from DBIbackend** / **Установка через DBIbackend** — установка `NSP`/`NSZ`/`XCI`/`XCZ` из ПК по USB 2.0 и 3.0-проводу, через прилагаемую программу dbibackend. *Горячая клавиша для этой опции*: кнопка **(Y)**. +* **Install title from Gamecard** / **Установка с картриджа** — этот пункт появляется при вставленном в Switch игровом картридже, — для установки игры из имеющегося игрового картриджа в microSD-карту или внутреннюю NAND-память консоли. +* **Home server** / **Подключение к серверу** — начиная с версии v150, есть возможность устанавливать игры по сети (HTTP), через WiFi без провода или LAN-USB-адаптер. Подробнее об этом ниже +* **Browse installed applications** / **Просмотр установленных игр** — просмотр установленных игр, их общее установленное количество, посмотреть потраченное время на игру и количество её запусков, проверить (верифицировать) на ошибки, перенести игровые данные между встроенной памятью, картой памяти и обратно, возможность их выборочного или потокового удаления вместе с прилагаемыми LayeredFS-модами, просмотр наличия у них обновлений и DLC, ручное удаление DLC/обновлений/LaryeredFS (LFS) мода, функция Reset Required version для сброса системной проверки обновления у выбранной игры. *Горячая клавиша для этой опции*: кнопка **(L)**. +* **Cleanup orphaned files** / **Очистка потерянных файлов** — автоматическая чистка ненужных удалённых файлов игр, если они есть +* **Browse tickets** / **Просмотр тикетов** — просмотр и ручное удаление системных тикетов игр. +* **Browse saves** / **Просмотр сохранений** - просмотр и удаление сохранений +* **Run MTP responder** / **Запустить MTP соединение** — включение внутреннего MTP-сервера для присоединения Switch к ПК или к Android-устройству (телефон/планшет/пр., протестированы Pixel 3, Xiaomi Mi A1, Lenovo Tab 4 7" TB-7304X), можно: просматривать и работать с картой памяти (1: External SD Card) и внутренней память консоли, просматривать установленные игры (4: Installed games), сделать бекап игровых сохранений на ПК (7: Saves), при вставленном игровом картридже дампить его (full/trimmed/сертификат) на ПК/Android (9: Gamecard). *Горячая клавиша для этой опции*: кнопка X (ей же выходить из MTP). +* **Run FTP server** / **Запустить FTP сервер** - включает FTP-сервер DBI для доступа к файлам microSD через порт 5000 или установку файлов через порт 6000 +* **Exit** / **Выход** — выход из программы. *Горячая клавиша для этой опции*: кнопка **(+)** В самом левом нижнем углу (SD) написано про занятый размер данных на карте/общий размер карты. В правом нижнем углу (NAND) написан занятый размер данных во встроенной памяти Switch/общий встроенной памяти Switch. Внизу по центру (dbi: XXX) написан номер версии dbi — старайтесь всегда использовать самую последнюю версию программы @@ -65,16 +84,16 @@ * **(А)** - выбор, подтверждение * **(B)** - отмена. **На главном экране** - выход из программы -* **(X)** - выделение файла. **На главном экране** - горячая клавиша для монтирования MTP (пункт меню "**Run MTP responder**") -* **(Y)** - инвертировать выделение, выделить всё, если ничего не выделено. **На главном экране** - установка по USB с помощью dbibackend (пункт меню "**Install title from DBIbackend**") +* **(X)** - выделение файла. **На главном экране** - горячая клавиша для монтирования MTP (пункт меню "[Run MTP responder / Запустить MTP соединение](#run-mtp-responder--запустить-mtp-соединение)" +* **(Y)** - инвертировать выделение, выделить всё, если ничего не выделено. **На главном экране** - установка по USB с помощью dbibackend (пункт меню "[Install title from DBIbackend / Установка через DBIbackend](#install-title-from-dbibackend--установка-через-dbibackend)" * **(ZL)**, **(ZR)** - быстрое перемещение по меню -* **(L)** **на главном экране** - перейти в меню "**Browse installed applications**" +* **(L)** **на главном экране** - перейти в меню "[Browse installed applications / Просмотр установленных игр](#browse-installed-applications--просмотр-установленных-игр)" * **(R)** - изменить порядок отображения файлов/тайтлов * **(L3)** - запустить игру из списка установленных игр * **(+)** на правом джойконе - контекстное меню, которое позволяет производить контекстные операции, как-то удаление, сброс требуемой версии прошивки, монтирование по MTP и др. * **(-)** на левом джойконе при установке приложений отключает/включает экран -### Browse SD Card/Browse USB0 Drive +### Browse SD Card / Просмотр MicroSD карты и Browse USB0 Drive / Просмотр USB0 диска Выберите этот пункт, если хотите установить игры/обновления/DLC из уже имеющихся файлов на карте памяти/внешнем USB. Кнопка **(A)** открывает папку, кнопка **(B)** возвращает назад, после открытия папки с файлами для установки, кнопкой **(X)** можно выделить только необходимые файлы, кнопокй **(Y)** инвертировать выбор. При этом цвет названия выделенных файлов изменится с белого на светло-синий. @@ -83,20 +102,20 @@ ![2021041011441100](https://user-images.githubusercontent.com/18294541/114264183-18138580-99f2-11eb-8c7b-536b4b831195.jpg) -**Total transfer size** — объём установочных дистрибутивов (файлов `NSP`/`NSZ`/`XCI`/`XCZ`), выбранных и готовых к установке. -**Total install size** — объём свободного пространства, которое необходимо для установки выбранных файлов. -**Install target** — локация установки данных: **NAND** — внутренняя память консоли Nintendo Switch, **SD** — карта памяти microSD, **AUTO** — опция по-умолчанию для установки всегда на карту памяти microSD, но если на ней будет недостаточно места, данные установятся во внутреннюю память. -**Delete after install** — это опция удаления установочных дистрибутивов (файлов `NSP`/`NSZ`/`XCI`/`XCZ`) с карты после их успешной установки; чтобы она работала, с файлов должен быть снят атрибут «Только чтение». По-умолчанию файлы не удаляются. Опция видна только при установке с карты памяти/внешнего USB -**Turn off screen** — возможность выключить экран на время установки для экономия электроэнергии аккумулятора, сразу после успешной установки экран автоматически включится. Эта опция работает только в портативном режиме. -Нажмите **Start install**, чтобы начать установку. После успешной установки, внизу появится надпись *Installation Complete. Press B to return*. +**Total transfer size** / **Общий размер передачи** — объём установочных дистрибутивов (файлов `NSP`/`NSZ`/`XCI`/`XCZ`), выбранных и готовых к установке. +**Total install size** / **Общий размер установки** — объём свободного пространства, которое необходимо для установки выбранных файлов. +**Install target** / **Место установки** — локация установки данных: **NAND** — внутренняя память консоли Nintendo Switch, **SD** — карта памяти microSD, **AUTO** — опция по-умолчанию для установки всегда на карту памяти microSD, но если на ней будет недостаточно места, данные установятся во внутреннюю память. +**Delete after install** / **Удалять после установки** — это опция удаления установочных дистрибутивов (файлов `NSP`/`NSZ`/`XCI`/`XCZ`) с карты после их успешной установки; чтобы она работала, с файлов должен быть снят атрибут «Только чтение». По-умолчанию файлы не удаляются. Опция видна только при установке с карты памяти/внешнего USB +**Turn off screen** / **Выключать экран** — возможность выключить экран на время установки для экономия электроэнергии аккумулятора, сразу после успешной установки экран автоматически включится. Эта опция работает только в портативном режиме. +Нажмите **Start install** / **Начать установку**, чтобы начать установку. После успешной установки, появится статистика установки и надпись *Installation Complete. Press B to return* / *Установка завершена. Чтобы вернуться нажмите В*. В программе имеется встроенная автоматическая функция удаления старых апдейтов при установке нового обновления к игре, поэтому за лишнее занимаемое место ими можно не беспокоиться. Вы можете запускать `.NRO`-файлы кнопкой **(A)** -### Install title from DBIbackend +### Install title from DBIbackend / Установка через DBIbackend -Через "**Install title from DBIbackend**" очень удобно устанавливать игры, обновления и DLC к ним сразу напрямую по USB-проводу с ПК на Switch, минуя необходимость вынимать карту и тратить двойное время, закачивая дистрибутивы (`NSP`/`NSZ`/`XCI`/`XCZ`-файлы) на карту памяти и устанавливая их оттуда. *Горячая клавиша для вызова этой опции из главного меню*: кнопка **(Y)**. +Через "**Install title from DBIbackend** / **Установка через DBIbackend**" очень удобно устанавливать игры, обновления и DLC к ним сразу напрямую по USB-проводу с ПК на Switch, минуя необходимость вынимать карту и тратить двойное время, закачивая дистрибутивы (`NSP`/`NSZ`/`XCI`/`XCZ`-файлы) на карту памяти и устанавливая их оттуда. *Горячая клавиша для вызова этой опции из главного меню*: кнопка **(Y)**. Для работы сперва нужно скачать на ПК dbibackend (`dbibackend.exe` для Windows или `dbibackend` для всех ОС), запустить его, выбрать игры для установки, нажать **Start server**, затем подключить USB-C кабель к ПК и Switch, выбрать пункт **Install title from DBIbackend** в dbi и установить все необходимые игры. @@ -125,9 +144,9 @@ brew install python-tk pip3 install pyusb ``` -### Home server +### Home server / Подключение к серверу -Пункт **"Home server"** появляется при наличии настроенного раздела **Network install sources** в `dbi.config` (подробнее про этот файл ниже). Причём название этого пункта будет меняться в зависимости от названия указанного в конфигурационном файле +Пункт "**Home server** / **Подключение к серверу**" появляется при наличии настроенного раздела **Network install sources** в `dbi.config` (подробнее про этот файл ниже). Причём название этого пункта будет меняться в зависимости от названия указанного в конфигурационном файле Для установки игр по сети, отредактируйте файл **[dbi.config](#dbiconfig)**, находящийся в папке `sdmc:/switch/DBI/`, согласно примеру @@ -184,7 +203,8 @@ ApacheHTTP|WWW VPS repo|http://www.myveryownswitchvpsdomain.su/Nintendo/Switch/ ``` switch:{SHA}N/omUzCtg+qoee+x4ttjgIls9jk= ``` -### Browse installed applications + +### Browse installed applications / Просмотр установленных игр В **Browse installed applications** можно посмотреть список установленных программ, обновлений, DLC к ним, по отдельности их занимаемый объём и версию, порядковую и в HEX-формате, их titleID, посмотреть общее время игры и количество запусков, наличие установленного LayeredFS-мода к игре (для Atmosphére). @@ -196,7 +216,7 @@ switch:{SHA}N/omUzCtg+qoee+x4ttjgIls9jk= В квадратных скобках перед названием игры написана базовая информация о месте установки, составе и наличии мода игры. Отображается только то, что установлено. То есть, если буквы b в квадратных скобках нет, значит у игры не установлена сама базовая часть (в таком случае строка будет окрашена красным) -* **N/S/M** - NAND/SD/Mixed - означает место, где установлена игра. В случае, если части игры находятся на разных носителях, отображается Mixed +* **N/S/M/G** - NAND/SD/Mixed/Gamecart - означает место, где установлена игра. В случае, если части игры находятся на разных носителях, отображается Mixed, а если на картридже - Gamecart * **b** - BASE - сама игра * **u** - Update - обновление игры * **d** - DLC - DLC игры @@ -212,46 +232,99 @@ switch:{SHA}N/omUzCtg+qoee+x4ttjgIls9jk= В верху контекстного окна отображается количество выбранных тайтлов и их размер -* **Delete title** - удалить выбранные тайтлы -* **Move title to MicroSD/NAND** - переместить выбранные тайтлы в NAND или на карту памяти, в зависимости от того, где тайтл сейчас находится. Если части тайтла находятся и там и там, будут отображены оба варианта -* **Reset required version** - сбросить проверку требуемой для запуска тайтла версии системы (должен быть включён дебаг в Atmosphere) -* **Check integrity** - проверка целостности данных выбранных тайтлов -* **Expose contents via MTP** - смонтировать содержимое выбранных тайтлов по MTP +* **Delete title** / **Удалить** - удалить выбранные тайтлы +* **Move title to MicroSD/NAND** / **Переместить в NAND/MicroSD** - переместить выбранные тайтлы в NAND или на карту памяти, в зависимости от того, где тайтл сейчас находится. Если части тайтла находятся и там и там, будут отображены оба варианта +* **Reset required version** / **Сбросить требуемую версию** - сбросить проверку требуемой для запуска тайтла версии системы (должен быть включён дебаг в Atmosphere) +* **Check integrity** / **Проверить целостность** - проверка целостности данных выбранных тайтлов +* **Expose contents via MTP** / **Открыть контент по MTP** - смонтировать содержимое выбранных тайтлов по MTP +* **Dump to MicroSD** / **Сдампить на MicroSD** - сдампить весь доступный контент (игру, DLC, обновление) на MicroSD по пути, указанному в конфиге (по-умолчанию `switch/DBI/dumps`) +* **Content info** / **Информация о контенте** - показать дополнительную информацию о контенте (версия SDK, требуемое поколение ключей, ID, информацию о патчах и многое другое) -Если нажать на тайтле кнопку **(A)**, то откроется детальное меню игры +Если нажать на тайтле кнопку **(A)**, то откроется **детальное меню игры** ### Детальное меню игры +**Детальное меню игры** открывается, если нажать на тайтле кнопку **(A)**, находясь в меню просмотра установленных игр (Browse installed applications / Просмотр установленных игр) + ![2021062719353600](https://user-images.githubusercontent.com/18294541/123554561-400cbc80-d789-11eb-8d81-e3403f33b365.jpg) -Отображается иконка игры, **TitleID**, название (**name**), автор (**Author**), версия (**Version**), поддерживаемые языки (**Language**) и наличие LFS-мода (**LFS-mod**) +Отображается иконка игры, **TitleID**, название (**Name** / **Имя**), автор (**Author** / **Автор**), версия (**Version** / **Версия**), поддерживаемые языки (**Language** / **Языки**) и наличие LFS-мода (**LFS-mod** / **LFS-мод.**) -Так же здесь можно узнать количество времени, проведённого в игре (**Total play time**), сколько раз игра была запущена (**Total launches**), сколько она весит (в целом (**Total occupied space**), а так же сколько места занимает в NAND (**Space in NAND**) и на SD (**Space on MicroSD**)), размер сохранений (**Total saves size**) и какой язык у игры активен (**Forced Language**) +Так же здесь можно узнать количество времени, проведённого в игре (**Total play time** / **Общее время игры**), сколько раз игра была запущена (**Total launches** / **Общее число запусков**), сколько она весит (в целом (**Total occupied space** / **Общее занимаемое место**), а так же сколько места занимает в NAND (**Space in NAND** / **Место в NAND**) и на SD (**Space on MicroSD** / **Место на MicroSD**)), размер сохранений (**Total saves size** / ****) и какой язык у игры активен (**Forced Language** / **Форсированный язык**) -#### Контекстное меню записи +Ниже можно увидеть три вкладки, между которыми можно переключаться кнопками (L) и (R) + +* **Content records** / **Контент** +* **Tickets** / **Тикеты** +* **Saves** / **Сохранения** + +#### Content records / Контент ![2021062719354800](https://user-images.githubusercontent.com/18294541/123554565-41d68000-d789-11eb-9c59-621275895075.jpg) -Отображается при нажатии на **(+)** на выбранных записях +Информация показана в следующем виде: -В верху контекстного окна отображается количество выбранных записей и их размер +[Location] Type | version [version number] | Size -* **Delete record** - удалить выбранную запись -* **Move records to MicroSD/NAND** - переместить выбранную запись в NAND или на карту памяти, в зависимости от того, где она сейчас находится. Если части тайтла находятся и там и там, будут отображены оба варианта -* **Reset required version** - сбросить проверку требуемой для запуска тайтла версии системы (должен быть включен дебаг в Atmosphere) -* **Force language** - позволяет принудительно запускать игру с выбранным языком. По-умолчанию игра запускается с тем же языком, что выбран в системе, ежели такового в игре нет, то в зависимости от региона консоли. Выбранный язык будет отображаться рядом с иконкой игры в поле **Forced Language** -* **Check integrity** - проверка целостности данных выбранных тайтлов -* **Expose contents via MTP** - смонтировать содержимое выбранных тайтлов по MTP +**Location** - **NAND** или **SD**, в зависимости от места, в которое установлен контент +**Type** - **Application** для базовой игры, **Update** для обновления, **Addon** для DLC, причем рядом с последним будет указан номер самого DLC +**version [version number]** - версия контента в dec и [hex] (например, 786432 это 0.12.0.0) +**Size** - занимаемое место -### Cleanup orphaned files +При нажатии на контенте кнопкой (A), можно посмотреть его содержимое. Содержимое можно скопировать, выбрав соответствующий пункт в контекстном меню (напоминаю, открывается по нажатию кнопки (+)). Содержимое открывается в режиме "только для чтения". + +При нажатии кнопки (+) на выбранном контенте, можно попасть в контекстное меню: + +* **Delete record** / **Удалить** - удалить выбранную запись +* **Move records to MicroSD/NAND** / **Переместить в MicroSD/NAND** - переместить выбранную запись в NAND или на карту памяти, в зависимости от того, где она сейчас находится. Если части тайтла находятся и там и там, будут отображены оба варианта +* **Reset required version** / **Сбросить требуемую версию** - сбросить проверку требуемой для запуска тайтла версии системы (должен быть включен дебаг в Atmosphere). Не поможет, если игра собрана на новой версии SDK +* **Force language** / **Форсировать язык** - позволяет принудительно запускать игру с выбранным языком. По-умолчанию игра запускается с тем же языком, что выбран в системе, ежели такового в игре нет, то в зависимости от региона консоли. Выбранный язык будет отображаться рядом с иконкой игры в поле **Forced Language** +* **Check integrity** / **Проверить целостность** - проверка целостности данных выбранных тайтлов +* **Expose contents via MTP** / **Открыть контент по MTP** - смонтировать содержимое выбранных тайтлов по MTP +* **Dump to MicroSD** / **Сдампить на MicroSD** - сдампить весь доступный контент (игру, DLC, обновление) на MicroSD по пути, указанному в конфиге (по-умолчанию `switch/DBI/dumps`) +* **Content info** / **Информация о контенте** - показать дополнительную информацию о контенте (версия SDK, требуемое поколение ключей, ID, информацию о патчах и многое другое) + +#### Tickets / Тикеты + + **Ticket (или encrypted title key)** — это зашифрованная уникальная информация о правах запуска на контент игры, которая устанавливается в систему при инсталляции каждой игры (**000** в конце titleID)/обновления (**800** в конце titleID)/каждого DLC. + +Отображаются установленные для контента тикеты: + +* **Personalized ticket** / **Персонализированный тикет (личный)** - тикет, который дается при установке игры из ешопа, он персонифицированный, то есть уникальный для каждой учетной записи +* **Common ticket** / **Общий тикет** - тикет общего типа, есть у обновлений, так же используется как костыль в пиратских играх + +Базы игр на серверах Nintendo шифрованы одним и тем же ключом, но этот ключ шифруется собственным ключом, уникальным для каждого купившего игру (этот ключ генерируется на самой приставке), поэтому получить из Personalized-тикета ключ для дешифровки игры можно только на той приставке, для которой он создан. +То есть у всех купивших Personalized-тикеты разные, но содержат один и тот же ключ дешифровки игры. +А в Common-тикетах нет шифрования, только подпись. + +При нажатии кнопки (+) на выбранном контенте, можно попасть в контекстное меню, где можете удалить выбранные тикеты. + +Иногда, если возникают специфическая ошибка, и вы точно знаете и уверены, что вы делаете, его можно удалить у конкретной игры и её обновления/DLC. +Во всех остальных случаях лучше тут ничего не трогать, во избежание ошибок запуска игр. + +#### Saves / Сохранения + +Просмотр и удаление сохранений. Если сохранения нет, его можно создать через контекстное меню (кнопка (+)) для выбранного аккаунта. Если оно есть, то: + +* **Backup** / **Сделать бекап** - сделать резервную копию сохранения. По-умолчанию она будет расположена в папке `switch/DBI/saves` +* **Restore** / **Восстановить бекап** - восстановить резервную копию сохранений +* **Save info...** / **Информация о сохранении...** - подробная информация о сохранении, например, тип, размер, имя аккаунта и т.п. +* **Increase save size** / **Увеличить размер** - Увеличивает место, выделенное под сохранение на заданное значение +* **Delete** / **Удалить** - удалить сохранение + +### Cleanup orphaned files / Очистка потерянных файлов **Cleanup orphaned files** автоматически чистит ненужные файлы игр, файлы от прерванных установок игр, скачанное (официально) обновление OFW прошивки и все неиспользуемые тикеты игр, если они были найдены. -### Browse tickets -Просмотр и удаление ненужных тикетов игр. **Ticket (или encrypted title key)** — это специальная зашифрованная уникальная информация о правах запуска на контент игры, которая устанавливается в систему при инсталляции каждой игры (**000** в конце titleID)/обновления (**800** в конце titleID)/каждого DLC. +### Browse tickets / Просмотр тикетов +Просмотр и удаление тикетов игр. **Ticket (или encrypted title key)** — это специальная зашифрованная уникальная информация о правах запуска на контент игры, которая устанавливается в систему при инсталляции каждой игры (**000** в конце titleID)/обновления (**800** в конце titleID)/каждого DLC. * **(+)** означает наличие установленной игры -* **[c]** — common-тикет (установленного дампа игры либо обновления) -* **[p]** — personalized-тикет (купленной в eShop игры) +* **[c]** (**Personalized ticket** / **Персонализированный тикет (личный)**) - тикет, который дается при установке игры из ешопа, он персонифицированный, то есть зашифрован уникальным ключем вашей консоли +* **[p]** (**Common ticket** / **Общий тикет**) - тикет общего типа, есть у обновлений, так же используется как костыль в пиратских играх + +Базы игр на серверах Nintendo шифрованы одним и тем же ключом, но этот ключ шифруется собственным ключом, уникальным для каждого купившего игру (этот ключ генерируется на самой приставке), поэтому получить из Personalized-тикета ключ для дешифровки игры можно только на той приставке, для которой он создан. +То есть у всех купивших Personalized-тикеты разные, но содержат один и тот же ключ дешифровки игры. +А в Common-тикетах нет шифрования, только подпись. Иногда, если возникают специфическая ошибка, и вы точно знаете и уверены, что вы делаете, его можно удалить у конкретной игры и её обновления/DLC. Во всех остальных случаях лучше тут ничего не трогать, во избежание ошибок запуска игр. @@ -262,27 +335,55 @@ switch:{SHA}N/omUzCtg+qoee+x4ttjgIls9jk= В верху контекстного окна отображается количество выбранных тикетов -* **Delete tickets** - удалить выбранные тикеты -* **Select same game** - выделить все тикеты, относящиеся к выделенной игре +* **Delete tickets** / **Удалить** - удалить выбранные тикеты +* **Select same game** / **Выбрать ту же игру**- выделить все тикеты, относящиеся к выделенной игре -### Browse saves +### Browse saves / Просмотр сохранений Просмотр и удаление сохранений. -Жёлтым цветом выделены сохранения для удалённых игр. +В общем виде сохранения показываются так: -#### Контекстное меню сохранений +`[Account] Game-Name Backup-date Size` + +* **Account** - показывает имя аккаунта для которого был создан сейв, если тип сейва Account, если тип сейва другойб показывает его тип +* **Game-Name** - показывает название игры для которой был создан сейв +* **Backup-date** - показывает дату создания бекапа, отображается только во вкладке Backup +* **Size** - размер сохранения или бекапа + +Ниже можно увидеть три вкладки, между которыми можно переключаться кнопками (L) и (R) + +* **Installed** / **Установленные** - показывает сохранения для всех установленных игр +* **Uninstalled** / **Удалённые** - показывает сохранения для всех не установленных игр +* **Backups** / **Бекапы** - показывает созданные бекапы + +#### Контекстное меню Installed / Установленные и Uninstalled / Удалённые Отображается при нажатии на **(+)** на выбранных сохранениях -В верху контекстного окна отображается количество выбранных сохранений +* **Backup** / **Сделать бекап** - сделать бекап выбранных сохранений +* **Open** / **Открыть** - открыть сохранение +* **Save info...** / **Информация...** - информация о сохранении (Id, тип, размер, время создания и прочее) +* **Delete** / **Удалить** - удалить выбранные сохранения +* **Select same app** / **Выбрать ту же игру** - выделить все сохранения, относящиеся к выделенной игре +* **Browse app(s)** / **Просмотреть игры** - перейти на [карточку выбранных игр](#content-records--контент). Переключаться между карточками можно кнопками (ZL)/(ZR). Только во вкладке **Installed** / **Установленные** -* **Delete saves** - удалить выбранные тикеты -* **Select same game** - выделить все тикеты, относящиеся к выделенной игре -* **Select all uninstalled** - выделить все сохранения для удалённых игр +#### Контекстное меню Backups / Бекапы -### Run MTP responder -**Run MTP responder** включает встроенный в dbi MTP-сервер для обмена данными с ПК либо к Android-устройству по USB-C OTG (телефон/планшет/прочие устройства). *Горячая клавиша для вызова этой опции из главного меню*: кнопка **(X)** (ей же выходить из MTP). После подключения USB-провода к ПК и запуска MTP-сервера в dbi, на ПК появится следующее окно: +Отображается при нажатии на **(+)** на выбранных сохранениях + +* **Validate saves** / **Проверка сохранений** - проверить целостность сохранений +* **Restore** / **Восстановить бекап** - восстановить бекап выбранных сохранений +* **Open** / **Открыть** - открыть сохранение +* **Delete** / **Удалить** - удалить выбранные сохранения +* **Browse app(s)** / **Просмотреть игры** - перейти на [карточку выбранных игр](#content-records--контент). Переключаться между карточками можно кнопками (ZL)/(ZR) +* **Select same user** / **Выбрать того же пользователя** - выделить все сохранения, относящиеся к определенному пользователю + +Если в списке на одну игру, одного пользователя выбрано несколько бекапов, то восстановится только самый свежий. + +### Run MTP responder / Запустить MTP соединение + +**Run MTP responder** / **Запустить MTP соединение** включает встроенный в DBI MTP-сервер для обмена данными с ПК либо к Android-устройству по USB-C OTG (телефон/планшет/прочие устройства). *Горячая клавиша для вызова этой опции из главного меню*: кнопка **(X)** (ей же выходить из MTP). После подключения USB-провода к ПК и запуска MTP-сервера в dbi, на ПК появится следующее окно: ![изображение](https://user-images.githubusercontent.com/18294541/114265006-054f7f80-99f7-11eb-86c9-1a20d588e616.png) @@ -308,7 +409,7 @@ switch:{SHA}N/omUzCtg+qoee+x4ttjgIls9jk= В папке **Installed games** — сохранения для имеющихся установленных сейчас игр -Unin**stalled games** — сохранения от удалённых игр, которые раньше запускались. Отсюда можно сделать их бекап, скопировав их на ПК, а также удалить ненужные — для этого откройте папку с именем нужной игры, затем удалите папку с ником вашего аккаунта/Device-сохранения. +**Uninstalled games** — сохранения от удалённых игр, которые раньше запускались. Отсюда можно сделать их бекап, скопировав их на ПК, а также удалить ненужные — для этого откройте папку с именем нужной игры, затем удалите папку с ником вашего аккаунта/Device-сохранения. Для того, чтобы восстановить сохранения, скопируйте их в соответствующую папку с ПК. DBI не требует предварительного запуска игры для восстановления сохранения, однако это касается только обычных сохранений. BCAT или Cache сохранения требуют предварительного запуска игры перед восстановлением. @@ -321,63 +422,190 @@ Unin**stalled games** — сохранения от удалённых игр, Чтобы выключить MTP-сервер и выйти в главное меню, нажмите кнопку **(X)** или **(B)**. -### Exit -**Exit** — выход из программы в HOS, минуя hbmenu, либо в hbmenu (это настраивается в dbi.config); если dbi был запущен из тайтла/форвардера, программа перезагрузится либо останется на чёрном экране. +### Configuration / Настройки DBI и параметры файла dbi.config + +Менеджер конфигурации программы, позволяет легко настроить программу без редактирования `dbi.config`. + +Ниже будут описаны пункты конфигурации через GUI/ Пункты, которым они соответствуют в `dbi.config` будут указаны в скобках. + +**true** в конфиге соответствует **Yes** / **Да** в настройках, **false** - **No** / **Нет** + +#### General / Общие (`[General]`) + +* **Use default font** / **Использовать дефолтный шрифт** (`DefaultASCII`) - **true** используется стандартный шрифт, **false** используется альтернативный шрифт +* **Use external USB drives** / **Использовать внешние USB** (`UseLibUsbHsFS`) - **true** включает библиотеку [libusbhsfs](https://github.com/DarkMatterCore/libusbhsfs) для работы с внешними USB-накопителями через USB-OTG на Switch, **false** отключает её. +* **Direct exit to homescreen** / **Выход на рабочий стол** (`ExitToHomeScreen`) - при **false** выход из dbi происходит в hbmenu, при **true** на рабочий стол Switch. +* **Log events & operations** / **Журналирование действий** (`LogEvents`) - сохранять или нет логи для событий "*Install*", "*Check integrity*" and "*Cleanup*" +* **Highlight update files** / **Подсвечивать файлы обновлений** (`HighlightUpdates`) - подсвечивать или нет в файловом менеджере обновления для установленных игр +* **Rotate screen upside down** / **Перевернуть экран** (`RotateScreen`) - переворачивает экран на 180 градусов +* **Rotate joycon upside down** / **Перевернуть джойконы** (`RotateJoycon`) - переворачивает управление, чтобы соответствовать перевёрнутому экрану +* **Use under/over clock** / **Использовать разгон** (`OptimizeClockSpeed`) - отключает оптимизацию частоты SoC в простое. Отключено по-умолчанию, поскольку **может привести к лагам на стартовом экране при некорректном выходе из DBI**! Корректный выход - через пункт меню **Exit**. +* **Browse saves in RO mode** / **Сохранения только в RO режиме** (`ROSaveFS`) - просматривать сохранения в режиме только для чтения +* **Show 'Update From Here'** / **Показывать 'Обновить отсюда'** (`ShowUpdateFromHere`) - показывать кнопку "Update all titles" в контекстном меню для автообновления установленных игр из всех (microSD/USB/HTTP/FTP) доступных источников +* **Save backup folder** / **Папка для бекапа сохранений** (`SavesFolder`) - папка для хранения дампов сохранений +* **Logs folder** / **Папка журналов** (`LogsFolder`) - папка для хранения логов +* **Title dumps folder** / **Папка для дампа игр** (`DumpsFolder`) - папка на карте памяти в которую будут дампиться игры +* **Version info URL** / **URL для проверки обновлений** (`VersionsURL`) - может принимать прямую ссылку на файл на уудалённом сервере, либо на файл на карте памяти. Примеры: `https://raw.githubusercontent.com/blawar/titledb/master/versions.txt` или `sdmc:/versions.txt` +* **Show cache warming indicator** / **Показывать прогрев кеша** (`ShowCacheWarmingIndicator`) - показывать уведомление о кешировании информации об установленных программах +* **Put cursor down after selection** / **Смещать курсор после выделения** (`MoveDownAfterX`) - сдвигать или нет курсор после отмечания игры кнопкой (X) +* **Screen idle time in seconds** / **Время гашения экрана в секундах** (`ScreenIdleTimeout`) - таймаут гашения дисплея + +**Есть в конфиге, но нет в меню:** +* **AppSorting** - опции для сортировки списка приложений +* **SaveSorting** - опции для сортировки сохранений + +#### Main menu / Главное меню (`[MainMenu]`) + +Настройки пунктов меню, которые будут отображаться в главном меню DBI. **Yes** / **Да** в настройках, соответствует **true** в конфиге, **No** / **Нет** - **false** + +* **Browse SD Card** / **Просмотр MicroSD карты** (`BrowseSD`) - пункт "[Browse SD Card / Просмотр MicroSD карты](#browse-sd-card--просмотр-microsd-карты-и-browse-usb0-drive--просмотр-usb0-диска)", для установки игр с Sd карты +* **Browse SYSTEM** / **Просмотр раздела SYSTEM** (`BrowseSystem`) - возможность просматривать и копировать файлы из раздела SYSTEM +* **Browse USER** / **Просмотр раздела USER** (`BrowseUser`) - возможность просматривать и копировать файлы из раздела USER +* **Browse USB** / **Просмотр USB носителей** (`USBHost`) - пункт "**Browse USB0 Drive / Просмотр USB0 диска**, для установки игр с внешнего USB +* **Install from USB** / **Установка через DBIbackend** (`BackendInstall`) - пункт "[Install title from DBIbackend / Установка через DBIbackend](#install-title-from-dbibackend--установка-через-dbibackend)" +* **Install from Gamecard** / **Установка с картриджа** (`GameCard`) - пункт "**Install title from Gamecard** / **Установка с картриджа**", для установки содержимого картриджа в память консоли +* **Browse network** / **Просмотр сети** (`Network`) - пункт "**Home server** / **Подключение к серверу...**", для установки игр с домашнего веб-сервера +* **Browse SD shortcuts** / **Закладки на SD** (`Local`) - показывать или нет ссылки на папки из раздела [Local sources](#local-sources) +* **Browse applications** / **Просмотр установленных игр** (`BrowseApps`) - пункт "[Browse installed applications](#browse-installed-applications)", для управления установленными приложениями +* **Cleanup orphaned files** / **Очистка потерянных файлов** (`Cleanup`) - пункт "[Cleanup orphaned files / Очистка потерянных файлов](#cleanup-orphaned-files--очистка-потерянных-файлов)", для очистки "осиротевших" файлов с карты памяти +* **Check title updates** / **Проверка обновлений игр** (`UpdateCheck`) - пункт "**Check for title updates** / **Проверка обновлений игр**", для проверки обновлений и DLC для установленных игр +* **Browse tickets** / **Просмотр тикетов** (`Tickets`) - пункт "[Browse tickets / Просмотр тикетов](#browse-tickets--просмотр-тикетов)", для управления тикетами +* **Browse saves** / **Просмотр сохранений** (`Saves`) - [Browse saves / Просмотр сохранений](#browse-saves--просмотр-сохранений) +* **Run MTP responder** / **Запустить МТР соединение** (`MTP`) - пункт "[Run MTP responder / Запустить MTP соединение](#run-mtp-responder--запустить-mtp-соединение)", для запуска MTP +* **Run FTP server** / **Запустить FTP сервер** (`FTP`) - пункт "**Run FTP server** / **Запустить FTP сервер**", для запуска FTP + +#### Applications / Установленные игры (`[Applications]`) + +* **Show LFS folder size (slow)** / **Показывать размер LFS (долго)** (`CalculateLFSSize`) - включает или отключает подсчёт размера установленных LFS-модов. Если включено, может повлиять на скорость открытия меню "*Browse installed applications*" + +#### Install options / Параметры установки (`[Install]`) + +* **Check hash during install** / **Проверять хэш при установке** (`CheckHash`) - при **true** проверяются хеши .nca-файлов при установке игр на Switch, при false нет +* **Chunked HTTP/FTP transfer** / **Блочная передача по HTTP/FTP** (`ChunkedTransfer`) - использование чанковую передачу данных по HTTP + +#### MTP options / Параметры MTP (`[MTP]`) + +* **Show combined NSP** / **Показывать объединённый NSP** (`ShowCombinedNSPInInstalledGames`) - **false** выключает показ комбинированных (multi-title .NSP-file) тайтлов. +* **Show 'Mods & Cheats' folder** / **Показывать папку 'Mods&Cheats'** (`ShowMACInInstalledGames`) - **false** выключает показ виртуальной директории **Mods & cheats** в пункте Installed games в MTP, перенаправляющей по пути `sdmc:/atmosphere/contents/TITLEID/` на карту памяти +* **Use TitleID for 'Mods & Cheats'** / **Использовать для неё TitleID** (`MACasTID`) - отображать папку "Mods & Cheats" в режиме MTP в виде TitleID +* **Turn off screen** / **Выключать экран** (`TurnOffScreen`) - отключать или нет экран консоли при подключении её в режиме MTP + +**Есть в конфиге, но нет в меню:** +* **LogAllFiles** — **false** выключает логирование файлов меньше 4Мб при работе с MTP, при **true** логируются все файлы. + +#### MTP storages / Хранилища MTP (`[MTP Storages]`) + +Показ соответствующих элементов при работе [MTP Responder](#run-mtp-responder--запустить-mtp-соединение) с ПК/Android, по умолчанию все пункты включены для отображения. + +**true** - отображать в главном меню, **false** - нет + +Названия пунктов соответствуют названиям разделов + +* **External SD Card** (`1: External SD Card`) +* **Nand USER** (`2: Nand USER`) +* **Nand SYSTEM** (`3: Nand SYSTEM`) +* **Installed games** (`4: Installed games`) +* **MicroSD install** (`5: MicroSD install`) +* **NAND install** (`6: NAND install`) +* **Saves** (`7: Saves`) +* **Album** (`8: Album`) +* **Gamecard** (`9: Gamecard`) +* **Show custom storages** / **Пользовательские хранилища** (`CustomStorages`) - отображать или спрятать кастомные пункты меню, прописанные в секции **MTP custom storages** + +#### FTP options / Параметры FTP (`[FTP]`) + +* **Turn off screen** / **Выключать экран** (`TurnOffScreen`) - выключать экран при входе в режим FTP +* **Start local Access point** / **Запускать точку доступа** (`UseAP`) - работа Switch в режиме точки доступа, к которой FTP-клиенты могут подключаться напрямую. Ниже настройки этой точки доступа + +#### Access point / Точка доступа (`[Access point]`) + +* **SSID** (`SSID`) - название точки доступа +* **Password** / **Пароль** (`Password`) - пароль +* **Use 5 GHz** / **Использовать 5 GHz** (`Use5GHz`) - использовать ли 5 гигагерц. Если выключено, то будет работать в режиме 2.4 Ггц +* **Use hidden SSID** / **Использовать скрытый SSID** (`Hidden`) - скрывать SSID для поиска. То есть подключиться можно будет только введя указанный SSID + +#### Есть в конфиге, но нет в меню: + +##### [Network sources](#home-server--подключение-к-серверу) +Задаются имена и адреса для установки игр по сети (через WiFi/LAN-адаптер) + +**NSP Indexer** - адрес для индексации NSP ([подробнее](https://github.com/rashevskyv/dbi/issues/44)) + +##### **Local sources** + +Создание пунктов меню с быстрым доступом к выбранным в конфиге папкам на карте памяти («ярлыки»), например: + +`Homebrew Shortcut=sdmc:/switch` создаст в главном меню пункт "**Homebrew Shortcut**", который откроет папку `sdmc:/switch` + +##### **MTP custom storages** + +Кастомные пункты для MTP-режима для быстрого доступа к папкам на вашей карте памяти. Формат: `<отображаемое_имя папки>=<путь>`, например: `Homebrew=sdmc:/switch`. +В режиме MTP появится папка `Homebrew`, ссылающаяся на папку `switch` на вашей карте памяти + +##### **Title name override** + +Позволяет изменить имя отображаемого тайтла. Например, если указать `10023901191C000=Naheulbeuk`, то в приложении вместо `The Dungeon of Naheulbeuk: The Amulet of Chaos` будет отображаться просто `Naheulbeuk` + +### Exit / Выход +**Exit** / **Выход** — выход из программы в HOS, минуя hbmenu, либо в hbmenu (это настраивается в dbi.config); если dbi был запущен из тайтла/форвардера, программа перезагрузится либо останется на чёрном экране. ## Уведомления и коды ошибок ### УВЕДОМЛЕНИЯ: -* **«SIGNATURE: Invalid»/«SIGNATURE: GC->eShop» / HASH NOT MATCHED TO META** — это НЕ ОШИБКИ, а уведомления о несовпадении подписи в заголовках, например, при использовании конвертации или редактирования, кастомного NSP, форвардера. -* **«HASH MISMATCH»** — чаще всего, это НЕ ОШИБКА, игра была сконвертирована из картриджа (тогда всё в порядке), иногда — имеются проблемы с целостностью файла, перекачайте-перехешируйте его, передачей данных по USB-кабелю/порту/в процессе установки между ПК и Switch. +Отображаются оранжевым цветом. Это НЕ ошибки! + +* **[SIGNATURE: Invalid] / [ПОДПИСЬ: OK]**, **[SIGNATURE: XCI->NSP] / [ПОДПИСЬ: XCI->NSP]**, **[HASH NOT MATCHED TO META] /[ХЕШ НЕ СОВПАДАЕТ]**, **[HASH FIXED IN META] / [ХЕШ ИСПРАВЛЕН]** — это НЕ ОШИБКИ, а уведомления о несовпадении подписи в заголовках, например, при использовании конвертации или редактирования, кастомного NSP, форвардера. +* **HASH MISMATCH** — чаще всего, это НЕ ОШИБКА, игра была сконвертирована из картриджа (тогда всё в порядке), иногда — имеются проблемы с целостностью файла, перекачайте-перехешируйте его, передачей данных по USB-кабелю/порту/в процессе установки между ПК и Switch. Если игра не запускается или запускается с ошибкой, попробуйте переустановить её снова, проверить либо заменить USB-кабель/microSD/сменить USB-порт. -* **DELTA SKIPPED** — это НЕ ОШИБКА, а уведомление, что ненужные фрагменты в файле обновления были пропущены, если они в нём были, как и было должно. -* **«No tickets found. Possibly this NSP was converted from XCI.»** — это НЕ ОШИБКА, на работоспособность игры не влият, но информирование, что игра без тикетов. Она может быть дампом из .XCI-картриджа или переконвертирована в Standard Crypto. -* **«WARNING» title marked as Application but has AddonContent** — это НЕ ОШИБКА, обычно это указывает на homebrew-игру в .NSP, созданную не по стандартам, к примеру, когда в Application-тайтл (основную игру, v0) добавили и AddonContent-флаг (DLC). +* **[DELTA SKIPPED] / [ДЕЛЬТА ФРАГМЕНТ НЕ НУЖЕН]** — это НЕ ОШИБКА, а уведомление, что ненужные фрагменты в файле обновления были пропущены, если они в нём были, как и было должно. +* **No tickets found» / «Тикеты не найдены** — это НЕ ОШИБКА, на работоспособность игры не влият, но информирование, что игра без тикетов. Она может быть дампом из .XCI-картриджа или переконвертирована в Standard Crypto. +* **Application uses AddonContent titleId** / **Игра использует titleId от дополнения**, **Application uses Update titleId** / **Игра использует titleId от обновления** — это НЕ ОШИБКА, обычно это указывает на homebrew-игру в .NSP, созданную не по стандартам, к примеру, когда в Application-тайтл (основную игру, v0) добавили и AddonContent-флаг (DLC). Если такая игра запускается и работает, тогда всё в порядке. -* **«This application base is not stand alone. Make sure you installed update»** при установке новых Sparse Storage игр — это НЕ ОШИБКА, не забудьте, кроме базового файла игры, установить ещё и апдейт к ней перед запуском. +* **This application base is not stand alone. Make sure you installed update** / **База этой игры не самодостаточна. Не забудьте установить обновление** - при установке новых Sparse Storage игр — это НЕ ОШИБКА, не забудьте, кроме базового файла игры, установить ещё и апдейт к ней перед запуском. ### ОШИБКИ: -* **«read: USB communication failed»** — проверьте/замените USB-кабель и USB-порт на ПК. -* **«Cannot parse content meta. Corrupted file or old firmware»** — Либо файл поврежден, либо ваша прошивка слишком устарела для анализа метафайла. Проверьте файл и обновите его до последней версии cfw и последней поддерживаемой версии прошивки. -* **«Can not find file for ncaid»** — установочный файл игры повреждён (в нём отсутствует нужный .nca из списка .cnmt). -* **«Invalid PFS0 magic!»** — перекачайте установочный файл игры и проверьте его целостность, этот файл повреждён. -* **«Invalid NCA magic!»** — обновитесь на последнюю версию OFW и CFW, если ошибка сохраняется после этого, перепроверьте целостность установочного файла игры. -* **«Received less data than expected»** и **Installation aborted** — ошибка в передаче данных, перепроверьте и при необходимости замените USB-кабель/USB-порт между Switch и ПК. Также обязательно убедитесь, что у вас установлена самая последняя версия программы, как вот в этом посте. -* **«std::bad_alloc»** — переименуйте файл без спецсимволов и кириллицы в имени и пути к нему, плюс убедитесь, что у используете самую последняя версия программы, как в посте, на консоль установлена последняя версия OFW и CFW. -* **«Nothing to install»** в окне выборе файлов — переименуйте файл без спецсимволов, иероглифов или кириллицы в имени и пути к нему. -* **«INVALID LENGTH»** — проверить соединение USB-C кабеля и USB-порта, проверить с другими USB-C-кабелями, целостность файла игры и карту памяти на ошибки, при установке через MTP — запустить dbi через любую игру (тайтл) с удерживанием кнопки R, а не в режиме апплета через альбомы. -* **«INVALID DECOMPRESSED LENGTH», вместе с «TRANSFER ERROR»**, при установке с карты памяти/носителя/dbibackend — освободите побольше места на карте памяти, удалите ненужные файлы с карты, если их больше 20000 шт. -* **«Error occurred: Invalid argument»** — обновите ваш dbi на последнюю версию. -* **«[FAILED] Unknown error»** при установке .tik (тикета) — установите последние сигпатчи для Atmosphére. -* **«605: Content or placeholder path not exists»** и **«SOME CONTENTS ARE MISSING»** — битая файловая система карты памяти, или нерабочая/некачественная флешка. Проверьте её в chkdsk и h2testw, если нет ошибок, переформатируйте в FAT32. -* **«Can not create placeholder»** — не хватает места на карте памяти/NAND, освободите его побольше. -* **WARNING! Extra buffers exceeded**, при установке через MTP — запустите dbi через тайтл = через любую игру, удерживая кнопку R при её запуске; альтернативно — через NSP-форвардер, и использовать более быструю microSD-карту с другим USB-кабелем/портом. -* **No tickets found but they are required** — некорректный (неполный, без тикета но с titlerights) дамп игры, найдите другой. -* **SOME CONTENTS ARE MISSING. APPLICATION WILL BE UNUSABLE** — контейнер неполный, проверьте целостность установочного файла игры. -* **«Invalid personalized ticket»**, в конце установки игры при инсталлировании .tik-тикета — некорректный дамп игры, где вместо common-тикета остался персонализированный с той консоли, на которой была куплена игра; скачайте другой, корректный дамп. -* **«No ES или других sigpatches»** — не все/устаревшие/некорректно/не установлены сигпатчи на консоли, установите их самую новейшую версию. +* **USB communication failed** / **Ошибка USB обмена** — проверьте/замените USB-кабель и USB-порт на ПК. +* **Cannot parse content meta** / **Невозможно разобрать content meta**: + * **Old firmware** / **УСТАРЕВШАЯ ПРОШИВКА** — ваша прошивка слишком устарела для анализа метафайла. Обновите CFW и системное ПО до последних версий + * **Unexpected error** / **Неожиданная ошибка** — файл поврежден. Проверьте и перекачайте файл. +* **Invalid PFS0 magic!** / **Ошибка PFS0 magic"** — перекачайте установочный файл игры и проверьте его целостность, этот файл повреждён. +* **[INVALID NCA MAGIC]** / **[ОШИБКА NCA MAGIC]** — обновитесь на последнюю версию OFW и CFW, если ошибка сохраняется после этого, перепроверьте целостность установочного файла игры. +* **Installation aborted** / **Установка прервана** — ошибка в передаче данных, перепроверьте и при необходимости замените USB-кабель/USB-порт между Switch и ПК. Также обязательно убедитесь, что у вас установлена самая последняя версия программы, как вот в этом посте. +* **Nothing to install** / **Нечего устанавливать** в окне выборе файлов — переименуйте файл без спецсимволов, иероглифов или кириллицы в имени и пути к нему. +* **Transfer error** / **Ошибка при передаче**, **[TRANSFER CRC ERROR]** / **[CRC ОШИБКА ПРЕДАЧИ]**, **[TRANSFER ABORTED]** / **[ПЕРЕДАЧА ПРЕРВАНА]** — проверить соединение USB-C кабеля и USB-порта, проверить с другими USB-C-кабелями, целостность файла игры и карту памяти на ошибки, при установке через MTP — запустить dbi через любую игру (тайтл) с удерживанием кнопки (R), а не в режиме апплета через альбомы. +* **Error occurred: Invalid argument** — обновите ваш dbi на последнюю версию. +* **SOME CONTENTS ARE MISSING. APPLICATION WILL BE UNUSABLE** / **ЧАСТЬ КОНТЕНТА ОТСУТСТВУЕТ. ИГРА НЕ БУДЕТ РАБОТАТЬ** — битая файловая система карты памяти, или нерабочая/некачественная флешка. Проверьте её в chkdsk и h2testw, если нет ошибок, переформатируйте в FAT32. +* **[NOT ENOUGH SPACE]** / **[НЕДОСТАТОЧНО МЕСТА]**, **[CAN NOT CREATE PLACEHOLDER]** / **[НЕ СОЗДАТЬ ПЛЕЙСХОЛДЕР]** — не хватает места на карте памяти/NAND, освободите его побольше, либо проблема с картой памяти. Проверьте её в chkdsk и h2testw, если нет ошибок, переформатируйте в FAT32. +* **Extra buffers exceeded. Media write speed is too low** / **Закончились дополнительные буферы. Скорость записи на носитель слишком низка**, при установке через MTP — запустить dbi через любую игру (тайтл) с удерживанием кнопки (R); альтернативно — через NSP-форвардер, и использовать более быструю microSD-карту с другим USB-кабелем/портом. +* **No tickets found but they are required** / **Не найдены требуемые тикеты** — некорректный (неполный, без тикета но с titlerights) дамп игры, найдите другой. +* **Invalid personalized ticket** / **Неподерживаемый персонализированный тикет**, в конце установки игры при инсталлировании .tik-тикета — некорректный дамп игры, где вместо common-тикета остался персонализированный с той консоли, на которой была куплена игра; скачайте другой, корректный дамп. +* **No ES sigpatches!** / **Отсутствуют ES сигпатчи!** — не все? либо устаревшие, либо некорректно или не установленые сигпатчи на консоли, установите их самую новейшую версию. ### Цветовые коды: * Общее - * WHITE on BLACK BG - файл в фокусе - * BLUE - выделенный файл (кнопкой (X)) + * WHITE on BLACK BG - файл в фокусе + * BLUE - выделенный файл (кнопкой (X)) * В меню "**Browse SD Card**" - * WHITE - папка - * LIGHT GREY - файл - * DARK GREY - установленная игра - * GREEN - обновление и/или DLC для уже установленной игры + * WHITE - папка + * LIGHT GREY - файл + * DARK GREY - установленная игра + * GREEN - обновление и/или DLC для уже установленной игры * В меню "**Browse installed applications**" - * WHITE - установленная игра - * RED - установлен апдейт и/или DLC, без самой игры + * WHITE - установленная игра + * RED - установлен апдейт и/или DLC, без самой игры * **В логах** при установке: - * GREEN - завершено без ошибок - * YELLOW - завершено без ошибок, но с предупреждениями, например, о том, что установленный файл - конверт с картриджа, или о том, что в META был исправлен хеш - * RED - [ошибка](#ошибки). Файл не был установлен. + * GREEN - завершено без ошибок + * ORANGE - завершено без ошибок, но с предупреждениями, например, о том, что установленный файл - конверт с картриджа, или о том, что в META был исправлен хеш + * RED - [ошибка](#ошибки). Файл не был установлен. +* **В логах** после установки: + * GREEN - завершено без ошибок + * YELLOW - завершено без ошибок, но с предупреждениями + * RED - завершено с ошибками ## dbi.config -Файл dbi.config был добавлен, начиная с версии 253. Он находится рядом с DBI.nro, и заменяет прежние файлы-флаги dbi.default.ascii и dbi.network.config, а также добавляет несколько новых опций для удобной кастомизации настроек под пользователя. +Файл `dbi.config` отвечает за хранение настроек программы. Он находится рядом с `DBI.nro`. Рассмотрим его содержимое: ``` @@ -533,110 +761,15 @@ Screenshots=sdmc:/Nintendo/Album/ ; 010023901191C000=Naheulbeuk ``` -### General settings -* **DefaultASCII** - **true** используется стандартный шрифт, **false** используется альтернативный шрифт -* **UseLibUsbHsFS** - **true** включает библиотеку [libusbhsfs](https://github.com/DarkMatterCore/libusbhsfs) для работы с внешними USB-накопителями через USB-OTG на Switch, **false** отключает её. -* **ExitToHomeScreen** — при **false** выход из dbi происходит в hbmenu, при **true** на рабочий стол Switch. -* **SavesFolder** - папка для хранения дампов сохранений -* **LogEvents** - сохранять или нет логи для событий "*Install*", "*Check integrity*" and "*Cleanup*" -* **LogsFolder** - папка для хранения логов -* **DumpsFolder** - папка на карте памяти в которую будут дампиться игры -* **AppSorting** - опции для сортировки списка приложений -* **SaveSorting** - опции для сортировки сохранений -* **Visibility of main menu items** - настроить, какие пункты меню будут отображаться в главном меню DBI, вы можете запретить отображение параметра в главном меню, изменив значение на **false** -* **HighlightUpdates** - подсвечивать или нет в файловом менеджере обновления для установленных игр -* **RotateScreen** - переворачивает экран на 180 градусов -* **RotateJoycon** - переворачивает управление, чтобы соответствовать перевёрнутому экрану -* **OptimizeClockSpeed** - отключает оптимизацию частоты SoC в простое. Отключено по-умолчанию, поскольку **может привести к лагам на стартовом экране при некорректном выходе из DBI**! Корректный выход - через пункт меню **Exit**. -* **VersionsURL** - может принимать прямую ссылку на файл на уудалённом сервере, либо на файл на карте памяти. Примеры: `https://raw.githubusercontent.com/blawar/titledb/master/versions.txt` или `sdmc:/versions.txt` -* **ROSaveFS** - просматривать сохранения в режиме только для чтения -* **ShowUpdateFromHere** - показывать кнопку "Update all titles" в контекстном меню для автообновления установленных игр из всех (microSD/USB/HTTP/FTP) доступных источников -* **ShowCacheWarmingIndicator** - показывать уведомление о кешировании информации об установленных программах -* **MoveDownAfterX** - сдвигать или нет курсор после отмечания игры кнопкой (X) -* **ScreenIdleTimeout** - таймаут гашения дисплея - -### MainMenu -Показ соответствующих элементов меню. - -**true** - отображать **false** - нет - -* **BrowseSD** - пункт "**Browse SD card**, для установки игр с Sd карты -* **BrowseSystem** - возможнеость просматривать и копировать файлы из раздела SYSTEM -* **BrowseUser** - возможнеость просматривать и копировать файлы из раздела USER -* **USBHost** - пункт "**Browse USB0 Drive**, для установки игр с внешнего USB -* **BackendInstall** - пункт "**Install title from DBIbackend**, для устаноки игр с ПК через backend -* **GameCard** - пункт "**Install title from Gamecard**, для установки содержимого картриджа в память консоли -* **Network** - пункт "**Home server**, для установки игр с домашнего веб-сервера -* **Local** - показывать или нет ссылки на папки из раздела [Local sources](#local-sources) -* **BrowseApps** - пункт "**Browse installed applications**, для управления установленными приложениями -* **Cleanup** - пункт "**Cleanup orphaned files**, для очистки "осиротевших" файлов с карты памяти -* **UpdateCheck** - пункт "**Check for title updates**", для проверки обновлений и DLC для установленных игр -* **Tickets** - пункт "**Browse tickets**, для управления тикетами -* **MTP** - пункт "**Run MTP responder**, для запуска MTP -* **FTP** - пункт "**Run FTP server**, для запуска FTP - -### Install - -* **CheckHash** — при **true** проверяются хеши .nca-файлов при установке игр на Switch, при false нет -* **ChunkedTransfer** - использование чанковую передачу данных по HTTP - -### Applications -* **CalculateLFSSize** — включает или отключает подсчёт размера установленных LFS-модов. Если включено, может повлиять на скорость открытия меню "*Browse installed applications*" - -### MTP -* **LogAllFiles** — **false** выключает логирование файлов меньше 4Мб при работе с MTP, при **true** логируются все файлы. -* **ShowCombinedNSPInInstalledGames** — **false** выключает показ комбинированных (multi-title .NSP-file) тайтлов. -* **ShowMACInInstalledGames** — **false** выключает показ виртуальной директории **«Mods & cheats»** в пункте Installed games в MTP, перенаправляющей по пути `sdmc:/atmosphere/contents/TITLEID/` на карту памяти. -* **CustomStorages** - отображать или спрятать кастомные пункты меню, прописанные в секции **MTP custom storages** -* **MACasTID** - отображать папку "Mods & Cheats" в режиме MTP в виде TitleID -* **TurnOffScreen** - отключать или нет экран консоли при подключении её в режиме MTP - -### [MTP Storages](#run-mtp-responder) -Показ соответствующих элементов при работе MTP Responder с ПК/Android, по умолчанию все пункты включены для отображения. - -**true** - отображать в главном меню, **false** - нет - -Названия пунктов соответствуют названиям разделов - -### FTP -* **TurnOffScreen** - выключать экран при входе в режим FTP -* **UseAP** - работа Switch в режиме точки доступа, к которой FTP-клиенты могут подключаться напрямую. Ниже настройки этой точки доступа - -#### Access point -Настройки точки доступа - -* **SSID** - название точки доступа -* **Password** - пароль -* **Use5GHz** - использовать ли 5 гигагерц. Если выключено, то будет работать в режиме 2.4 Ггц -* **Hidden** - скрывать SSID для поиска. То есть подключиться можно будет только введя указанный SSID - -### [Network sources](#home-server) -Задаются имена и адреса для установки игр по сети (через WiFi/LAN-адаптер) - -**NSP Indexer** - адрес для индексации NSP ([подробнее](https://github.com/rashevskyv/dbi/issues/44)) - -### Local sources - -Создание пунктов меню с быстрым доступом к выбранным в конфиге папкам на карте памяти («ярлыки»), например: - -`Homebrew Shortcut=sdmc:/switch` создаст в главном меню пункт "**Homebrew Shortcut**", который откроет папку `sdmc:/switch` - -### MTP custom storages - -Кастомные пункты для MTP-режима для быстрого доступа к папкам на вашей карте памяти. Формат: `<отображаемое_имя папки>=<путь>`, например: `Homebrew=sdmc:/switch`. -В режиме MTP появится папка `Homebrew`, ссылающаяся на папку `switch` на вашей карте памяти - -### Title name override - -Позволяет изменить имя отображаемого тайтла. Например, если указать `10023901191C000=Naheulbeuk`, то в приложении вместо `The Dungeon of Naheulbeuk: The Amulet of Chaos` будет отображаться просто `Naheulbeuk` +Описание каждого пункта в отдельности находятся в разделе [настроек DBI](#configuration--настройки-dbi-и-параметры-файла-dbiconfig) ## Другие возможности ### Монтирование содержимого установленных игр по MTP -Перейдите в "*Browse installed applications*" -> Выберите необходимые игры кнопкой `X` -> Нажмите `(+)` -> "*Expose contend via MTP*" +Перейдите в **Browse installed applications** / **Просмотр установленных игр** -> Выберите необходимые игры кнопкой `X` -> Нажмите `(+)` -> **Expose contend via MTP** -### Бекап и восстановление сохранений +### Бекап и восстановление сохранений по MTP 1. Подключите приставку в режиме MTP по DBI 2. Перейдите в папку **Saves** на вашем ПК @@ -658,7 +791,5 @@ DBI поддерживает работу по USB 3.0. Если вы испол usb30_force_enabled = u8!0x1 ``` - - ## Благодарности -Спасибо [SciresM](https://github.com/SciresM) за [hactool](https://github.com/SciresM/hactool) (лицензия [ISC](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_ISC)) - DBI использует некоторые структуры данных, взятые оттуда +Спасибо [SciresM](https://github.com/SciresM) за [hactool](https://github.com/SciresM/hactool) (лицензия [ISC](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_ISC)) - DBI использует некоторые структуры данных, взятые оттуда. \ No newline at end of file