Ультимативное решение для установки `NSP`, `NSZ`, `XCI` и `XCZ` и работы с Nintendo Switch. Поддержка установки по MTP, USB, http (с вашего личного сервера), внешнего USB и многое другое. Поддержка просмотра картинок в формате `jpg`, `png` и `psd`. Поддержка работы с архивами `zip` и `rar`, а так же с контейнерами `cbr`/`cbz`. Поддержка текстовых файлов, просмотр в режиме обычного текста и в режиме hex-просмотра. Может быть использован в качестве файлового менеджера (копирование, перемещение, удаление файлов и папок, создание папок). Работа с сохранениями (в том числе резервное копирование и восстановление) и многое другое.
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--просмотр-установленных-игр)
Поместите `dbi.nro` и `dbi.config` в папку `sdmc:/switch/DBI/` на вашей каре памяти. Запускайте из режима апплета с помощью Homebrew Launcher (через альбомы)
* **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.
* **(Y)** - инвертировать выделение, выделить всё, если ничего не выделено. **На главном экране** - установка по USB с помощью dbibackend (пункт меню "[Install title from DBIbackend / Установка через DBIbackend](#install-title-from-dbibackend--установка-через-dbibackend)"
* **(+)** на правом джойконе - контекстное меню, которое позволяет производить контекстные операции, как-то удаление, сброс требуемой версии прошивки, монтирование по MTP и др.
Кнопка **(A)** открывает папку, кнопка **(B)** возвращает назад, после открытия папки с файлами для установки, кнопкой **(X)** можно выделить только необходимые файлы, кнопокй **(Y)** инвертировать выбор. При этом цвет названия выделенных файлов изменится с белого на светло-синий.
**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* / *Установка завершена. Чтобы вернуться нажмите В*.
В программе имеется встроенная автоматическая функция удаления старых апдейтов при установке нового обновления к игре, поэтому за лишнее занимаемое место ими можно не беспокоиться.
Через "**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 и установить все необходимые игры.
Для правильной работы dbibackend на Windows, необходимо поставить драйвера "**libusbK (v3.1.0.0)**". Их можно установить через программу [Zadig](https://zadig.akeo.ie/), введя DBI в режим "**Install title from DBIbackend**" и выбрав в программе появившееся устройство.
Для быстрой отправки файлов или папок с играми на установку, нажмите на них правой клавишей мыши, выберите `Отправить > dbibackend`, установочные файлы сразу помещаются в очередь dbibackend. Для того, чтобы это настроить в Windows, нажмите `Win+R`, введите `shell:sendto`, положите в папку ярлык для `dbibackend.exe`
Существуют альтернативные клиенты для работы с DBIbackend, например [headless-реализация](https://github.com/cyb3rwarden/dbibackend/blob/0885ef67edf28cbca30fb2c193ad7ab9a62786f7/dbibackend/dbibackend.py), [NSW-DBI 2.0.0 на nodegui](https://4pda.to/forum/index.php?showtopic=939714&st=6080#entry100701109) (требуется установка драйвера libusb для Linux или WinUSB (libusb) для Windows через Zadig).
Вы можете передавать команды скрипту путем запуска его из командной строки с последующим указанием пути к необходимой для установки игры или игр. Например:
Пункт "**Home server** / **Подключение к серверу**" появляется при наличии настроенного раздела **Network install sources** в `dbi.config` (подробнее про этот файл ниже). Причём название этого пункта будет меняться в зависимости от названия указанного в конфигурационном файле
отредактируйте файл `/nginx/conf/nginx.conf`, прописав в `location` адрес вашего Switch, вместо указанного в примере `127.0.0.1` (или всю свою подсеть вида 192.168.1.1/24 или 192.168.0.0/16); его можно узнать на Switch в **Системных настройках** > **Интернет**:
Сохраните конфиг, запустите `nginx.exe`, разрешив программе доступ в сеть, затем скопируйте нужную игру в локальную папку /nginx/html/Nintendo/Switch/ на ПК, а на Switch выберите строку «Home server».
Получаем обычный интерфейс инсталляции файлов, и можно начать устанавливать все игры по сети, после чего, при желании веб-сервер можно остановить через nginx -s stop.
В качестве адреса сервера, можно использовать и доменное имя в интернете, например, своего удалённого VPS — лучше с HTTP Basic-аутентификацией вида http://user:password@host:port/Nintendo/Switch/
В**Browse installed applications** можно посмотреть список установленных программ, обновлений, DLC к ним, по отдельности их занимаемый объём и версию, порядковую и в HEX-формате, их titleID, посмотреть общее время игры и количество запусков, наличие установленного LayeredFS-мода к игре (для Atmosphére).
В квадратных скобках перед названием игры написана базовая информация о месте установки, составе и наличии мода игры. Отображается только то, что установлено. То есть, если буквы b в квадратных скобках нет, значит у игры не установлена сама базовая часть (в таком случае строка будет окрашена красным)
* **N/S/M/G** - NAND/SD/Mixed/Gamecart - означает место, где установлена игра. В случае, если части игры находятся на разных носителях, отображается Mixed, а если на картридже - Gamecart
* **Move title to MicroSD/NAND** / **Переместить в NAND/MicroSD** - переместить выбранные тайтлы в NAND или на карту памяти, в зависимости от того, где тайтл сейчас находится. Если части тайтла находятся и там и там, будут отображены оба варианта
* **Reset required version** / **Сбросить требуемую версию** - сбросить проверку требуемой для запуска тайтла версии системы (должен быть включён дебаг в Atmosphere)
* **Expose contents via MTP** / **Открыть контент по MTP** - смонтировать содержимое выбранных тайтлов по MTP
* **Dump to MicroSD** / **Сдампить на MicroSD** - сдампить весь доступный контент (игру, DLC, обновление) на MicroSD по пути, указанному в конфиге (по-умолчанию `switch/DBI/dumps`)
* **Content info** / **Информация о контенте** - показать дополнительную информацию о контенте (версия SDK, требуемое поколение ключей, ID, информацию о патчах и многое другое)
**Детальное меню игры** открывается, если нажать на тайтле кнопку **(A)**, находясь в меню просмотра установленных игр (Browse installed applications / Просмотр установленных игр)
Отображается иконка игры, **TitleID**, название (**Name** / **Имя**), автор (**Author** / **Автор**), версия (**Version** / **Версия**), поддерживаемые языки (**Language** / **Языки**) и наличие LFS-мода (**LFS-mod** / **LFS-мод.**)
Так же здесь можно узнать количество времени, проведённого в игре (**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)
**Location** - **NAND** или **SD**, в зависимости от места, в которое установлен контент
**Type** - **Application** для базовой игры, **Update** для обновления, **Addon** для DLC, причем рядом с последним будет указан номер самого DLC
**version [version number]** - версия контента в dec и [hex] (например, 786432 это 0.12.0.0)
**Size** - занимаемое место
При нажатии на контенте кнопкой (A), можно посмотреть его содержимое. Содержимое можно скопировать, выбрав соответствующий пункт в контекстном меню (напоминаю, открывается по нажатию кнопки (+)). Содержимое открывается в режиме "только для чтения".
* **Delete record** / **Удалить** - удалить выбранную запись
* **Move records to MicroSD/NAND** / **Переместить в MicroSD/NAND** - переместить выбранную запись в NAND или на карту памяти, в зависимости от того, где она сейчас находится. Если части тайтла находятся и там и там, будут отображены оба варианта
* **Reset required version** / **Сбросить требуемую версию** - сбросить проверку требуемой для запуска тайтла версии системы (должен быть включен дебаг в Atmosphere). Не поможет, если игра собрана на новой версии SDK
* **Force language** / **Форсировать язык** - позволяет принудительно запускать игру с выбранным языком. По-умолчанию игра запускается с тем же языком, что выбран в системе, ежели такового в игре нет, то в зависимости от региона консоли. Выбранный язык будет отображаться рядом с иконкой игры в поле **Forced Language**
* **Expose contents via MTP** / **Открыть контент по MTP** - смонтировать содержимое выбранных тайтлов по MTP
* **Dump to MicroSD** / **Сдампить на MicroSD** - сдампить весь доступный контент (игру, DLC, обновление) на MicroSD по пути, указанному в конфиге (по-умолчанию `switch/DBI/dumps`)
* **Content info** / **Информация о контенте** - показать дополнительную информацию о контенте (версия SDK, требуемое поколение ключей, ID, информацию о патчах и многое другое)
**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** / **Увеличить размер** - Увеличивает место, выделенное под сохранение на заданное значение
**Cleanup orphaned files** автоматически чистит ненужные файлы игр, файлы от прерванных установок игр, скачанное (официально) обновление OFW прошивки и все неиспользуемые тикеты игр, если они были найдены.
Просмотр и удаление тикетов игр. **Ticket (или encrypted title key)** — это специальная зашифрованная уникальная информация о правах запуска на контент игры, которая устанавливается в систему при инсталляции каждой игры (**000** в конце titleID)/обновления (**800** в конце titleID)/каждого DLC.
* **[c]** (**Personalized ticket** / **Персонализированный тикет (личный)**) - тикет, который дается при установке игры из ешопа, он персонифицированный, то есть зашифрован уникальным ключем вашей консоли
* **[p]** (**Common ticket** / **Общий тикет**) - тикет общего типа, есть у обновлений, так же используется как костыль в пиратских играх
Базы игр на серверах Nintendo шифрованы одним и тем же ключом, но этот ключ шифруется собственным ключом, уникальным для каждого купившего игру (этот ключ генерируется на самой приставке), поэтому получить из Personalized-тикета ключ для дешифровки игры можно только на той приставке, для которой он создан.
То есть у всех купивших Personalized-тикеты разные, но содержат один и тот же ключ дешифровки игры.
А в Common-тикетах нет шифрования, только подпись.
* **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** / **Установленные**
* **Restore** / **Восстановить бекап** - восстановить бекап выбранных сохранений
* **Open** / **Открыть** - открыть сохранение
* **Delete** / **Удалить** - удалить выбранные сохранения
* **Browse app(s)** / **Просмотреть игры** - перейти на [карточку выбранных игр](#content-records--контент). Переключаться между карточками можно кнопками (ZL)/(ZR)
* **Select same user** / **Выбрать того же пользователя** - выделить все сохранения, относящиеся к определенному пользователю
Если в списке на одну игру, одного пользователя выбрано несколько бекапов, то восстановится только самый свежий.
**Run MTP responder** / **Запустить MTP соединение** включает встроенный в DBI MTP-сервер для обмена данными с ПК либо к Android-устройству по USB-C OTG (телефон/планшет/прочие устройства). *Горячая клавиша для вызова этой опции из главного меню*: кнопка **(X)** (ей же выходить из MTP). После подключения USB-провода к ПК и запуска MTP-сервера в dbi, на ПК появится следующее окно:
1: **External SD Card**, для просмотра, копирования и удаления файлов и папок c/на ПК и с/на карту памяти microSD. В случае, если размер файла превышает 4Гб, DBI автоматически разобьёт его на фрагменты специальным образом, чтобы свитч видел такой файл как цельный
2: **NAND User**, просмотр, копирование файлов и папок на ПК с внутренней память Switch, в его системный раздел USER (раздел доступен только для чтения).
3: **NAND System**, просмотр, копирование файлов и папок на ПК с внутренней памяти Switch, в его системный раздел SYSTEM (раздел доступен только для чтения).
4: **Installed games**, для просмотра установленных игр.
В**Installed games** отображаются все игры как в NAND, внутренней памяти Switch, так и установленные на карту памяти, все вместе. Чтобы сделать дамп (дистрибутив) установленный игры себе на ПК в формате .NSP, просто скопируйте папку с названием игры из **Installed games** на свой ПК, при этом на базе вашего personalized-тикета генерируется общий common-тикет с полностью очищенной личной информацией. Вы получите дамп этой игры в виде раздельных файлов - отдельно саму игру, отдельно обновление и DLC. Если для игры были установлены читы или моды, они будут находится в папке `Mods & Cheats`. Так же можно получить скомбинированный дамп, в котором в один файл будет склеяны сама игры, все её DLC и обновление. Такой файл лежит прямо в корне раздела **Installed games**.
Здесь так же хранится сгенерированный dbi `InstalledApplications.csv`, с таблицей списка установленных игр, их TitleID и текущей версии.
Скопируйте в эту папку ваши **NSP**/**NSZ**/**XCI** или **XCZ**. По окончанию копирования игра будет установлена на **карту памяти** вашей приставки. При установке NSZ-файлов учитывайте, что их фактический размер может сильно отличаться от размера после установки, так что если при наличии свободных 2Гб на карте памяти у вас, например, не хватает места для установки NSZ размером, скажем, в 1Гб, не удивляйтесь, поскольку контейнер NSZ - сжатый.
6: **NAND install**: Скопируйте в эту папку ваши **NSP**/**NSZ**/**XCI** или **XCZ**. По окончанию копирования игра будет установлена во **внутреннюю память** вашей приставки. При установке NSZ-файлов учитывайте, что их фактический размер может сильно отличаться от размера после установки, так что если при наличии свободных 2Гб на карте памяти у вас, например, не хватает места для установки NSZ размером, скажем, в 1Гб, не удивляйтесь, поскольку контейнер NSZ - сжатый.
7: **Saves**: Доступ ко всем сохранениям игр — в аккаунтах (Account), системных программ (System), в Background Content Asymmetric synchronized delivery and Transmission (BCAT, пример: ивенты в ACNH), временных (Temporary), кэш (Cache, пример: аддоны в DOOM), системных BCAT (SystemBCAT), — хранящимся во внутренней памяти Switch
В папке **Installed games** — сохранения для имеющихся установленных сейчас игр
**Uninstalled games** — сохранения от удалённых игр, которые раньше запускались. Отсюда можно сделать их бекап, скопировав их на ПК, а также удалить ненужные — для этого откройте папку с именем нужной игры, затем удалите папку с ником вашего аккаунта/Device-сохранения.
Для того, чтобы восстановить сохранения, скопируйте их в соответствующую папку с ПК. DBI не требует предварительного запуска игры для восстановления сохранения, однако это касается только обычных сохранений. BCAT или Cache сохранения требуют предварительного запуска игры перед восстановлением.
8: **Album**: доступ к скриншотам и видеороликам (Альбому), точно так же, как это сделано в OFW 11.0.0 Nintendo.
9: **Gamecard**: при вставленном в Switch игровом картридже появляется возможность скопировать его дамп в .XCI либо trimmed .XCI на ПК, вместе со встроенным в него обновлением, если оно есть, с уже убранным его персональным RSA-сертификатом; кроме того, возможно отдельно экспортировать его сертификат
### 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`) - подсвечивать или нет в файловом менеджере обновления для установленных игр
* **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--просмотр-тикетов)", для управления тикетами
#### 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
* **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 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
Задаются имена и адреса для установки игр по сети (через 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] / [ПОДПИСЬ: OK]**, **[SIGNATURE: XCI->NSP] / [ПОДПИСЬ: XCI->NSP]**, **[HASH NOT MATCHED TO META] /[ХЕШ НЕ СОВПАДАЕТ]**, **[HASH FIXED IN META] / [ХЕШ ИСПРАВЛЕН]** — это НЕ ОШИБКИ, а уведомления о несовпадении подписи в заголовках, например, при использовании конвертации или редактирования, кастомного NSP, форвардера.
* **HASH MISMATCH** — чаще всего, это НЕ ОШИБКА, игра была сконвертирована из картриджа (тогда всё в порядке), иногда — имеются проблемы с целостностью файла, перекачайте-перехешируйте его, передачей данных по USB-кабелю/порту/в процессе установки между ПК и Switch.
* **[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 игр — это НЕ ОШИБКА, не забудьте, кроме базового файла игры, установить ещё и апдейт к ней перед запуском.
* **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), а не в режиме апплета через альбомы.
* **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 сигпатчи!** — не все? либо устаревшие, либо некорректно или не установленые сигпатчи на консоли, установите их самую новейшую версию.
*<spanstyle="color:#00ff02; background-color: #000084;">GREEN</span> - завершено без ошибок
*<spanstyle="color:#fa7f08; background-color: #000084;">ORANGE</span> - завершено без ошибок, но с предупреждениями, например, о том, что установленный файл - конверт с картриджа, или о том, что в META был исправлен хеш
*<spanstyle="color:#f80100; background-color: #000084;">RED</span> - [ошибка](#ошибки). Файл не был установлен.
* **В логах** после установки:
*<spanstyle="color:#00ff02; background-color: #000084;">GREEN</span> - завершено без ошибок
*<spanstyle="color:#f6ff05; background-color: #000084;">YELLOW</span> - завершено без ошибок, но с предупреждениями
*<spanstyle="color:#f80100; background-color: #000084;">RED</span> - завершено с ошибками
1.**Будьте внимательны**, вам нужно класть не саму папку с titleID игры, а её содержимое! Например, вы скачали перевод для игры Cadence of Hyrule, в виде архиве `Cadence of Hyrule.rar`. Внутри этого архива вы видите папку с TitleID игры - `01000B900D8B0000`. Вам нужно распаковать архив, перейти в папку `01000B900D8B0000` и скопировать всё содержимое папки в **Mods & Cheats**! Не саму папку `01000B900D8B0000`, а всё то, что в ней находится! В данном примере, папку `romfs`
### USB 3.0
DBI поддерживает работу по USB 3.0. Если вы используете kefir, то USB 3.0 активно по-умолчанию. В ином случае, нужно активировать эту функцию через конфигурационные файлы Atmosphere, прописав в `atmosphere\config\system_settings.ini`:
Спасибо [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 использует некоторые структуры данных, взятые оттуда.