<!-- translated from docs/compatibility.md, sha256 f5648921d1b6 -->
# 対応状況

対応するファームウェア、Atmosphère、ランチャー、emuMMC と sysMMC、そして置き換え型の 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。[switchbrew](https://switchbrew.org/wiki/Parental_Control_services) の表では、23.0.1 と同じコマンドです。
- **ファームウェア 21.0.0 → 21.2.0** — Atmosphère 1.10.x。すべての機能が使えます。

**21.0.0 より前は、プレイ時間の制限以外すべて** — 制限、暗証番号、一時解除、プレイ記録、ネットワーク時計、スマホアプリ、履歴は使えます。タイマーの設定ブロック（0x44 バイト）がこの構造になったのは 21.0.0 からなので、PlayGuard はそこにある機能をオフにします。1 日の上限、おやすみアラーム、延長、*すべてのソフトをブロック* です。

- **ファームウェア 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 が動いていることを確認しますが、そのバージョンは確認しません。大事なのは、Atmosphère が起動するファームウェアです。*本体* に両方が表示されます。

## 知っておきたいこと

### ランチャー

ゲームの上から起動する（タイトルオーバーライド）のがおすすめです。アプリは、アプリケーション（ゲームの上から、または HOME メニューにある専用のフォワーダーから）として動いているか、アプレット（アルバム）として動いているかを表示します。ゲームの上から起動すると、本体は PlayGuard の時間をそのゲームの時間として数えます。プレイ記録では、起動時に選んだユーザーの時間になります。子どもではなく、保護者のユーザーで開いてください。タイマーは本体のもので、すべてのユーザーに共通です。誰が PlayGuard を開いても、その時間は数えられます。ただし、タイマーがオフの場合や、暗証番号でみまもり設定が一時停止している場合を除きます（[詳細](https://guard.boreale.dev/ja/docs/features.md#playguard-を使っている間は暗証番号でみまもり設定を一時停止)）。

### Nintendo Switch 2

対応していません。Switch 2 用の Atmosphère はありません。

### 新しいファームウェア

本体で確認した最新のファームウェアより新しい場合、PlayGuard は**閲覧のみ**で開き、そのファームウェアに対応した新しいリリースがあるかを確認します。あれば、アップデートを提案します（PlayGuard 内で、または sphaira や Homebrew App Store で）。なければ、次から選べます。閲覧のみ、開発者ツール付きの閲覧のみ（ファームウェアの調査用）、またはすべての機能を自己責任で使う、のどれかです。この選択は、そのファームウェアとアプリのバージョンについて記憶できます。*本体 › 互換性* でこの画面に戻れます。

### emuMMC と sysMMC

それぞれに独自のみまもり設定があり、PlayGuard は自分が動いているシステムのものしか見えません。emuMMC では、*本体* と *はじめに* がそのことを知らせます。SD カードに emuMMC が設定されていれば、sysMMC でも知らせます。両方で設定するか、子どもがもう一方のシステムを選べないように hekate の起動メニューを隠してください。PlayGuard は、履歴、バックアップ、状態をシステムごとに分けて保存します（sysMMC と emuMMC、`nand/` の中）。オプションとプリセットは共通です。

### 本体が BAN される可能性は？

PlayGuard は Nintendo に接続しません。オンラインでアクセスするのは、公開時刻サーバーと GitHub（アップデートと、送信したレポート）だけです。本体が BAN される原因は、カスタムファームウェアや emuMMC が Nintendo に接続することです（[switchbrew の FAQ](https://switchbrewdocs.readthedocs.io/en/latest/faq.html)、英語）。みまもり設定や時計の変更による BAN は報告されていませんが、保証ではありません。

### インターネットのない本体

それこそが PlayGuard の目的です。ただし、タイマーには一度合わせたネットワーク時計が必要です。問い合わせる時刻サーバーがない場合、*本体 › ネットワーク時計 › 時刻のずれを測定* が、代わりに本体の時計に合わせることを提案します。先に本体の時計を確認し（*インターネットで時計を合わせる* はオフのまま）、この設定をオンにするのはそのあとにしてください（[ネットワーク時計](https://guard.boreale.dev/ja/docs/features.md#どのサーバーも応答しない)を参照）。

### スマートフォンへの通知

22.0.0 以降、スマホアプリと連携したままの本体では、本体で暗証番号を入力すると保護者に通知が届くことがあります（[switchbrew](https://switchbrew.org/wiki/22.0.0)、英語）。PlayGuard 自身の一時解除で通知が届くかどうかは、わかっていません。

## PlayGuard を作った理由

子どもはゲームが大好きです。そしてゲームといえば画面です。制限を設けることも、子どもを見守ることの一部です。改造していない Switch なら、Nintendo のスマホアプリがそれを担っていました。本体をカスタムファームウェアで動かすと、まったく新しい世界が開けます。ところが、みまもり設定は使えなくなります。スマホアプリが本体に届かなくなるからです。どれだけ遊んだかを知ること、制限を決めること、もめることなく、「あと 5 分だけ」もなしにゲームをやめさせることが難しくなりました。

わずかにあったツールでは足りませんでした。ほとんどメンテナンスされず詳しくもないプレイ記録や、粗削りで未完成のみまもり機能です。かといって、独自の置き換えや、常にバックグラウンドで動く sysmodule も欲しくありませんでした。考えたのは、**本体自身のみまもり設定をできるだけ再利用する**ことです。制限時間、暗証番号、通知、中断といった、すでにできることをすべて生かし、その設定を本体に取り戻す。それが PlayGuard です。

本体自身のみまもり設定を操作できると、もっと多くのことへの扉も開きます。家庭のサーバーへのプレイ時間の報告、サーバーからの指示、Home Assistant、自動化などです。その第一歩が、MQTT による Home Assistant へのオプションの接続です（[ガイド](https://github.com/JigSawFr/PlayGuard/blob/main/docs/home-assistant.md)、英語）。この先の可能性は、[ロードマップの「Horizon」](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 |
|---|---|---|
| **プレイ時間の制限** | 本体にひとつ（本体自身のタイマー） | ユーザーごとにひとつ |
| **暗証番号、通知、中断** | 本体のもの | 独自のもの |
| **バックグラウンド** | なし（オプションのリカバリー sysmodule は、`RESCUE` ファイルで求められたときに、起動時だけ動きます。Home Assistant との接続のエージェントもオプションで、インストールしたときだけ動きます） | 起動時から sysmodule が動きます |
| **ファームウェアのアップデート後** | 本体のみまもり設定はそのまま働きます。PlayGuard は、そのファームウェアに対応するバージョンが出るまで閲覧のみで開きます | sysmodule が動き続けるかどうかに左右されます |
| **SD カードから削除したとき** | 制限は本体に残ります | 制限も一緒になくなります |

**子どもごとに別の制限が必要ですか？** 置き換え型の sysmodule を選んでください。本体のタイマーは、本体全体でひとつの制限です。そうでなければ、PlayGuard は Nintendo のみまもり設定をそのまま使い、その設定を本体に持ち込むだけです。
