<!-- translated from docs/compatibility.md, sha256 f5648921d1b6 -->
# Совместимость

Поддерживаемые прошивки, Atmosphère и загрузчики приложений, emuMMC и sysMMC, и чем PlayGuard отличается от заменяющего sysmodule.

## Поддерживаемые версии

**Проверено на консоли** — PlayGuard запускали на:

- **Прошивка 23.0.1** — Atmosphère 1.12.1
- **Прошивка 22.0.0, 22.1.0, 22.5.0** — Atmosphère 1.11.x
- hbmenu, sphaira и Homebrew App Store

**Должно работать, не проверено** — ничто в PlayGuard этому не мешает, но отчётов пока нет ([отчёты приветствуются](https://github.com/JigSawFr/PlayGuard/discussions/categories/console-reports)). Каждой прошивке нужна Atmosphère, которая её загружает: указанная или любая более новая.

- **Прошивка 23.0.0** — Atmosphère 1.12.0. Те же команды, что и в 23.0.1, по таблице [switchbrew](https://switchbrew.org/wiki/Parental_Control_services).
- **Прошивка 21.0.0 → 21.2.0** — Atmosphère 1.10.x. Все функции.

**До 21.0.0 — всё, кроме таймера игры** — ограничения, PIN-код, временная разблокировка, активность, сетевые часы, мобильное приложение и история работают. Блок настроек таймера игры (0x44 байта) устроен так только начиная с 21.0.0, поэтому PlayGuard отключает то, что в нём хранится: дневные лимиты, сигнал «Пора спать», доп. время и *Заблокировать все игры*.

- **Прошивка 20.0.0 → 20.5.0** — Atmosphère 1.9.x
- **Прошивка 19.0.x** — Atmosphère 1.8.0
- **Прошивка 18.0.0 → 18.1.0** — Atmosphère 1.7.x
- **Прошивка 17.0.x** — Atmosphère 1.6.x
- **Прошивка 16.0.0 → 16.1.0** — Atmosphère 1.5.x
- **Прошивка 15.0.x** — Atmosphère 1.4.x
- **Прошивка 14.x** — Atmosphère 1.3.x
- **Прошивка 13.x** — Atmosphère 1.1.0 → 1.2.6
- **Прошивка 12.x и более ранние** — Atmosphère 1.0.0 и более ранние

PlayGuard проверяет, что Atmosphère работает, но не её версию: важна прошивка, которую она загружает. *Консоль* показывает обе.

## Полезно знать

### Загрузчики приложений

Рекомендуется запуск поверх игры (title override). Приложение показывает, работает ли оно как приложение (поверх игры или через собственный форвардер в меню HOME) или как апплет (альбом). Поверх игры консоль считает время в PlayGuard временем этой игры. В активности оно уходит пользователю, выбранному при запуске: открывайте PlayGuard под пользователем родителя, а не ребёнка. Таймер игры принадлежит консоли и один для всех пользователей: он считает это время, кто бы ни открыл PlayGuard, если только таймер не выключен и PIN-код не поставил родительский контроль на паузу ([подробнее](https://guard.boreale.dev/ru/docs/features.md#pin-код-ставит-родительский-контроль-на-паузу-пока-вы-в-playguard)).

### Nintendo Switch 2

Не поддерживается: для неё нет Atmosphère.

### Прошивка новее

На прошивке новее самой новой из проверенных на консоли PlayGuard открывается **только для чтения** и проверяет, поддерживает ли её более новый выпуск. Если да, он предлагает обновиться (в самом PlayGuard, через sphaira или Homebrew App Store). Если нет, выбираете вы: только чтение, только чтение с инструментами разработчика (чтобы изучить прошивку) или все функции на ваш страх и риск. Выбор можно запомнить для этой прошивки и версии приложения; *Консоль › Совместимость* снова открывает этот экран.

### emuMMC и sysMMC

У каждой свой родительский контроль, и PlayGuard видит только контроль той системы, на которой работает. В emuMMC об этом говорят *Консоль* и *Первые шаги*; в sysMMC тоже, если на SD-карте настроена emuMMC. Настройте контроль в обеих или скройте загрузочное меню hekate, чтобы ребёнок не мог выбрать другую систему. PlayGuard хранит историю, резервные копии и состояние каждой системы отдельно (sysMMC и emuMMC, в `nand/`); настройки и профили общие.

### Может ли консоль получить бан?

PlayGuard никогда не связывается с Nintendo: в сети он обращается только к публичным серверам времени и GitHub (обновления и отчёты, которые вы отправляете). Баны получают консоли, у которых кастомная прошивка или emuMMC выходит в сеть Nintendo ([FAQ switchbrew](https://switchbrewdocs.readthedocs.io/en/latest/faq.html), на английском). Банов за изменения родительского контроля или часов не зафиксировано; это не гарантия.

### Консоль без интернета

Именно для неё и создан PlayGuard, но таймеру игры всё равно нужны выставленные сетевые часы. Если спросить сервер времени нельзя, *Консоль › Сетевые часы › Измерить расхождение* предлагает вместо этого выставить их по часам консоли: сначала проверьте часы консоли, при выключенной *Синхронизация через Интернет*, и включайте этот параметр только после (см. [сетевые часы](https://guard.boreale.dev/ru/docs/features.md#ни-один-сервер-не-отвечает)).

### Уведомления на телефоне

Начиная с 22.0.0 консоль, всё ещё привязанная к мобильному приложению, может уведомлять родителя о вводе PIN-кода на консоли ([switchbrew](https://switchbrew.org/wiki/22.0.0), на английском). Вызывают ли это разблокировки самого PlayGuard, неизвестно.

## Зачем нужен PlayGuard

Дети любят видеоигры, а видеоигры — это экраны: лимит — часть заботы о них. На немодифицированной Switch этим занималось мобильное приложение Nintendo. Как только на консоли появляется кастомная прошивка, открывается целый новый мир — а родительский контроль выпадает из жизни, потому что мобильное приложение больше не связывается с консолью. Узнать, сколько они играли, задать лимит, остановить игру без ссоры и бесконечного «ещё пять минут» стало трудно.

Немногие существующие инструменты не справлялись: отчёты об активности почти не поддерживались и были скудными, родительский контроль — грубым и недоделанным. И мне не хотелось ни самодельной замены, ни sysmodule, постоянно работающего в фоне. Идея была в том, чтобы **как можно больше использовать родительский контроль самой консоли** со всем, что он уже умеет, — лимитом, PIN-кодом, предупреждениями, приостановкой, — и вернуть его настройки на консоль. Это и есть PlayGuard.

Управление родительским контролем самой консоли открывает дорогу и к гораздо большему: передавать время игры на домашний сервер, получать от него команды, Home Assistant, автоматизации. Первый шаг уже сделан — необязательная связь с Home Assistant через MQTT ([руководство](https://github.com/JigSawFr/PlayGuard/blob/main/docs/home-assistant.md), на английском); куда это может привести дальше, описано в [горизонте плана развития](https://github.com/JigSawFr/PlayGuard/blob/main/ROADMAP.md#horizon) (на английском).

## PlayGuard или заменяющий sysmodule?

PlayGuard управляет встроенным в консоль родительским контролем (служба `pctl`) без интернета. Другой подход заменяет его на sysmodule, например [NS Parental Control](https://github.com/TristanIsrael/NSParentalControl) (sysmodule и оверлей Tesla / Ultrahand).

| | PlayGuard | Заменяющий sysmodule |
|---|---|---|
| **Лимит времени игры** | Один на консоль (собственный таймер консоли) | Свой для каждого пользователя |
| **PIN-код, предупреждения, приостановка** | Консоли | Собственные |
| **В фоне** | Ничего (необязательный модуль восстановления срабатывает только при загрузке, когда его просит об этом файл `RESCUE`; агент связи с Home Assistant, тоже необязательный, работает, только если установлен) | sysmodule, с момента загрузки |
| **После обновления прошивки** | Родительский контроль консоли продолжает работать; PlayGuard открывается только для чтения, пока прошивку не поддержит новая версия | Контроль зависит от того, работает ли ещё sysmodule |
| **Удалён с SD-карты** | Лимиты остаются на консоли | Контроль исчезает вместе с ним |

**Нужен свой лимит для каждого ребёнка?** Выберите заменяющий sysmodule — у таймера консоли один лимит на всю консоль. В остальных случаях PlayGuard сохраняет родительский контроль Nintendo и просто переносит его настройки на консоль.
