<!-- translated from docs/features.md, sha256 06fe889ee4f2 -->
# 功能

每个标签页的作用、PlayGuard 如何安全地写入设置，以及主机把什么算作游戏时间。第一次使用 PlayGuard？请从[快速上手](https://guard.boreale.dev/zh-hans/docs/getting-started.md)开始。

<!-- github-only: the website shows each language's screenshots, in the page's theme -->

截图显示的是深色主题，即 PlayGuard 的默认主题。

| 今天 | 主机 |
|---|---|
| ![今天](https://guard.boreale.dev/assets/images/screenshots/dashboard.png) | ![主机](https://guard.boreale.dev/assets/images/screenshots/console.png) |
| **游戏时间** | **游戏时间 › 修改某一天** |
| ![游戏时间](https://guard.boreale.dev/assets/images/screenshots/play_timer.png) | ![修改某一天](https://guard.boreale.dev/assets/images/screenshots/per_day.png) |
| **游玩记录** | **一个游戏** |
| ![游玩记录](https://guard.boreale.dev/assets/images/screenshots/activity.png) | ![一个游戏](https://guard.boreale.dev/assets/images/screenshots/activity_game.png) |
| **限制** | **主机 › 网络时钟** |
| ![限制](https://guard.boreale.dev/assets/images/screenshots/restrictions.png) | ![网络时钟](https://guard.boreale.dev/assets/images/screenshots/clock.png) |
| **安全** | **偏好设置** |
| ![安全](https://guard.boreale.dev/assets/images/screenshots/security.png) | ![偏好设置](https://guard.boreale.dev/assets/images/screenshots/preferences.png) |

## 操作

| 按钮 | 作用 |
|---|---|
| ↑/↓ | 移动 |
| Ⓐ | 确认 |
| Ⓑ | 返回或取消（在侧边栏按两次退出） |
| Ⓧ | 刷新（在读取主机的标签页上） |
| Ⓨ | 通知，在任何标签页都可用 |
| **−** | 语言和主题，在任何标签页都可用（显示在底栏中，画面自己的按键需要空间时最先省略） |
| **+** | 保存按天设置的限制（以及在 *游戏时间* 中修改的一周） |
| **ZR** | *撤销*，在保存一项更改后的几秒钟内可用 |

应用按标签页组织，和主机的“设置”一样；每个标签页在下面都有一节说明。

- **失败的操作会在对话框中说明，成功的操作以提示消息显示。** 对话框只说明此时适用于这台主机的情况：只有在有游戏打开时，才会提到正在进行的游戏会被中断；只有在手机应用已关联并且能够同步时，才会提到它可能覆盖更改。
- **标题栏**：家长控制暂时解除期间（它的胶囊标签），以及应用处于只读模式期间（胶囊标签会显示 *只读*，会写入的操作变灰，按下时被拒绝并说明在哪里关闭），会在每个标签页上说明这一点；点击它会前往撤销的地方（*今天 › 重新启用*、系统版本画面或 *帮助与诊断*）。底部栏显示在任何标签页打开它们的按键：⊖ 打开语言和主题，Ⓨ 打开通知（附数量）。
- **在只读模式下**，操作仍留在原处，显示为灰色，按下时会说明原因。

## 外观：Cadran

PlayGuard 的外观名为 Cadran：标签页使用图标侧栏，配色为海军蓝或冷白色（随主题而定），用卡片代替列表。每个标签页一打开就显示最重要的内容（圆环、方块、卡片、标签按钮），其他设置放在下方。

- **标题栏的胶囊标签**说明这个标签页的主题（*家长控制已开启*、*计时中*…）；家长控制解除期间，它会在每个标签页上说明这一点，点击它会打开 *今天 › 重新启用*；在你使用 PlayGuard 期间暂停时（见[下文](#输入-pin-后在你使用-playguard-期间家长控制会暂停)），它会平和地显示 *家长控制已暂停*，点击它会说明这是什么。次要文字从不小于 15 px，坐在沙发上看电视也能看清。页脚的时钟显示小时和分钟（*16:00*）。
- **对话框**是卡片，按钮为胶囊形，确认按钮为青绿色（删除或停止某项内容时为珊瑚色）。
  - 选项以卡片形式在操作提示上方展开，当前选项为浅青绿色底并带勾号。青绿色边框在任何地方都只属于焦点：等级、用户、正在生效的选项都保留浅色底。
  - 较长的对话框在后面还有内容时底部会渐隐，其中的警告（游戏即将被中断）放在最前面，显示在琥珀色卡片中。
  - 操作失败时，标题说明是什么失败了，错误代码以小字显示在原因下方，有帮助时还会提供 *发送报告*。
  - 消息以卡片形式出现在标题栏下方，已完成的操作带青绿色勾号，被拒绝的操作带琥珀色标记。
- **其他画面**也采用同样的外观：配置的按天编辑器像 *游戏时间* 一样显示一周（修改方式相同，快捷填充以方块显示）；*已安装的游戏* 和 *所有游戏* 把每一行放进卡片；*配置* 和 *帮助与诊断* 为每一行配上图标。
- **文字大小**（*偏好设置*，或标题栏中的 **AA**）：
  - *自动*（默认）在主机插在底座上、显示在电视上时把所有文字放大 25%，回到掌机模式时恢复原样；*较大* 始终放大，*标准* 从不放大。
  - 侧边栏的标签名称同样放大 25 %；标题栏的标题、标签和日期，以及底栏的按键提示和时钟，因为所在行已经排满，放大得少一些（15 % 到 20 %）。某种语言里放不下的名称会画得稍小一些（不会小于正常大小），而不是被截断。“限制”中各等级的名称保持原来的大小（本来就够大）。
  - 更改立即在所有画面上生效，无需重启。
  - 25% 这个数字来自一台 55 英寸的 4K 电视：此时最小的文字（15 px）大写字母高 14.6 毫米，从 2.5 米外看为 20′ 视角，阅读起来很舒适（标准大小时为 16′，是最低限度）。
- **视觉效果**（*偏好设置*）：*自动：电视上完整*（默认）在主机插在底座上时，保留背景光晕和界面的每一个动态效果：画面及其各行升起就位、圆环自行绘出并滑向新数值、儿童画面圆环在最后几分钟的跳动、按下时的小小反馈。拿在手上时（掌机模式或桌面模式，无论是否在充电）把它们全部省去，主机一插回底座，这些效果就会回来。*始终完整* 拿在手上时也保留它们。*减少动态效果* 在底座上也省去所有纯装饰的动态效果，但保留光晕：适合容易被动态画面弄累的人。
- **撤销：** 保存一项更改后，**ZR** *撤销* 会在底栏中停留几秒钟：它会在更改历史中打开这项更改，以便恢复之前的值。更改历史为空时，会用一张卡片说明。

## 通知——在任何标签页都能看到需要你处理的事情

标题栏中版本号左侧的铃铛汇总需要家长处理的事情；在任何标签页按 Ⓨ 都能打开列表（有两件事待处理时，铃铛的角标显示 *2*）。

铃铛左侧是语言（它的代码，*FR*、*EN*…）和主题（太阳表示浅色，月亮表示深色，半满的圆表示跟随主机），然后是文字大小（**AA**，文字放大时其中的大 A 显示为青绿色）：点击会打开与 *偏好设置* 中相同的列表，在任何标签页按 **−** 也能选择它们。新的主题或语言会立即生效，各个画面在同一标签页上重新生成，焦点仍在同一行，中文及其专用字体也是如此。

### 待处理

每项都带琥珀色警告标志，以琥珀色计入铃铛上的数字；它会一直保留到问题解决：

- 还没有 PIN，或者是任何人都会先试的 PIN（0000、1234、1212、2580…：在主机上判断，从不显示）；
- 主机上有 PIN，但 PlayGuard 本身打开时不需要它（*用PIN保护PlayGuard* 设为 *从不*）；
- 家长控制已暂时解除（*重新启用*）；
- 之前某天的加时还需恢复；
- “时间到”提醒已关闭；
- 在 PlayGuard 之外所做的更改；
- 主机没有计算游戏时间；
- 网络时钟不准确。

### 仅供参考

每项都带一个“i”，铃铛上显示一个圆点；可以标记为已读：

- 之前某天被 *今天停止游玩* 降低的限制仍未恢复（*恢复*）；
- 安装了新版本（*新功能*；原地更新后，保留了之前的构建），或者 PlayGuard 有新版本；
- 在线发送了报告（*显示链接*），或者 PlayGuard 上次意外关闭（*发送报告*）；
- 本周的游戏时间（每 7 天一次，直到已读；并按天与前一周比较），以及在主机只提醒的情况下，最近 7 天中有两天或以上超过了限制；
- 需要备份设置（还没有备份，或 30 天没有备份）；
- 所有游戏已被阻止一周；
- 新的用户账户；
- 手机应用已关联；
- 启动时发现网络时钟有偏差。

### 主机

与主机本身而不是家长控制有关的条目排在最后，合并为一行，按 Ⓐ 展开（没有其他条目时直接展开）。其中待处理的条目计入“主机”标签页的标记，而不是铃铛：

- 已安装的游戏无法启动（*检查已安装的游戏*），游戏补丁需要查看；
- SD 卡空间快满（少于 500 MB）；
- PlayGuard 自己的某个文件无法移到一旁或无法写入 SD 卡；
- 恢复 sysmodule 不是最新版本（不是这个版本附带的那个，或者安装于它记录版本号之前；*更新* 会装上这个版本附带的那个），之后需要重启主机才能生效，直到重启为止；
- 某个构建未能完成启动，已退回（*发送报告*）。

仅供参考的条目：已退回之前的构建；系统版本未用这个版本测试过；Atmosphère、hekate 或系统版本有新版本（通过 *每天检查更新* 检查；系统版本的条目会建议等到 Atmosphère 支持它）；Home Assistant 集成有新版本（前提是它已告知 Home Assistant 运行的版本：*新功能* 会显示自那个版本以来的更改，以及在 HACS 中打开它的二维码）；emuMMC 上的序列号未隐藏；另一个系统有自己的家长控制；PlayGuard 自己的某个文件被发现损坏并已移到一旁（启动时会有一条提示消息指向它）。

### 条目如何运作

- 每一节的条目按固定顺序排列，与哪项检查先完成无关。
- **在侧边栏中**，标签页名称旁的琥珀色标记统计该标签页中待处理的条目，也就是能解决它们的地方：安全标签页（没有 PIN、PIN 太简单、PlayGuard 未用 PIN 保护、已暂时解除）、游戏时间（提醒已关闭、主机没有计时）、*今天*（在 PlayGuard 之外所做的更改、需要恢复的加时）、主机（上面所说的条目，以及网络时钟）。已忽略的条目和仅供参考的条目不计入。
- 在标签页中，同样的标记显示在解决每个问题的那一行上（*网络时钟*、*已安装的游戏*、*存储*、*游戏补丁*；*设置或更改PIN*、*用PIN保护PlayGuard*；提醒对应游戏时间的 *高级*），标签页会打开到其中第一项。没有自身数值的行会在标记前面用琥珀色说明它的含义（*容易被猜到*、*不准确*）。
- 在条目上按 **Ⓐ** 会直接解决（*打开*、*校准*、*更新*…），或打开能解决它的标签页。条目所说的问题解决后，条目会自动消失。
- **Ⓧ** 把一条仅供参考的条目标记为已读；**Ⓨ** 把它们全部标记为已读。已标记为已读的条目，下次启动时仍为已读，直到它的文字发生变化。
- **忽略：** 少数待处理的条目可以用 Ⓧ 忽略，需要确认并输入 PIN：任何人都会先试的 PIN、PlayGuard 打开时不需要 PIN、“时间到”提醒已关闭、SD 卡空间快满（没有 PIN、家长控制已解除、时钟、主机没有计时，以及 PlayGuard 自己的文件，这些都不能忽略）。已忽略的条目不再计数，列在最后的 *已忽略* 下，在那里按 Ⓐ 会重新计入。它会在 30 天后自动回来（除非关闭了 *30 天后重新计入已忽略的警告*），或者在问题解决后再次出现时回来；对于 PIN，换成另一种长度的新 PIN 时也会回来。
- *偏好设置 › 通知* 可以关闭三类通知：Atmosphère、hekate 和系统版本的新版本；本周的游戏时间；提醒（备份、主机的第二个系统、阻止游戏）。
- 这些状态在 PlayGuard 启动时读取，在主画面上每分钟读取一次，显示 *今天* 时每 5 秒读取一次。

## 今天——一天的情况一目了然

*[在模拟器中试试 ›](https://guard.boreale.dev/simulator/)*

### 圆环和时间线

**剩余时间**以圆环显示：不能玩的日子显示 *不可游玩*，而不是 *0分钟*；今天给的加时在圆环末端显示为颜色较浅的一段，数值变化时圆环会滑动到新的值。

下方是最先让游戏停止的事情：

- 在时间到或就寝提醒之前，一天中剩下的时间显示为一条线，“现在”在最左边，时间到和就寝提醒各是线上一个带时间的标记（*16:40 时间到*、*21:00 就寝*），到第一个标记之前为青绿色，最后 15 分钟内为琥珀色；
- 否则用文字说明：当天的时间用完后，显示就寝提醒，即何时可以再次游玩；家长控制解除期间，显示今天的限制已暂停及原因。

### 各项操作

- **加时**，各个时长排成一行（+15 分钟、+30 分钟、+1 小时），每个按一下就能选，其他时长（任意时长、另一天）在 **…** 里：选中某个时长时，线上“时间到”的标记会随之后移（*再加 15分钟*），或在就寝提醒的标记上说明它仍然先到；剩余 15 分钟或更少、或已没有剩余时间时，第一个时长会以青绿色突出显示。
- **今天到此为止**、**给孩子看**。
- **今天的限制…**：当场选择今天的限制，确认一次后写入。
- **正在生效的配置**，保存了配置后按名称显示（没有匹配的配置时显示 *配置…*）：按 Ⓐ 列出所有配置，正在生效的已打勾，确认一次后即可改用另一个（确认时会列出变化的日子），或选择 *管理配置…*。
- 家长控制解除期间，**重新启用** 排在最前面，占满整行，*加时* 则让开。
- 没有任何一天设置了限制时，**设置每周限制** 会打开 *游戏时间* 中的一周。

### 卡片和胶囊标签

- **就寝提醒**（何时可以再次游玩；主机没有提供这个信息时，显示还有多久响起；关闭时以大字显示 *已关闭*，并可按 Ⓐ *设置*）、**家长控制**和**网络时钟**，以卡片显示。
- 主机的状态以**胶囊标签**显示：
  - 其中一个说明 Atmosphère 的 DNS 重定向是否拦截了任天堂的服务器，在它上面按 Ⓐ 会说明拦截了哪些以及会带来什么影响：手机应用无法同步，网络时钟无法自行校准；
  - 另一个在 PlayGuard 作为应用打开时出现，说明在 PlayGuard 中度过的时间也会计入：在游戏之上打开时算作那个游戏（*从游戏中打开*），从 HOME 菜单上的转发器启动时算在它图标的名称下（*从HOME图标打开*），按 Ⓐ 说明是怎样计入的；
  - 在 HOME 菜单中留着没关的游戏会显示为琥珀色的胶囊标签（*仍在计时*，按 Ⓐ 说明原因），前提是关于 PlayGuard 自身时间的那个标签还没有说明这一点；
  - 家长控制在你使用 PlayGuard 期间暂停时，两者都不显示：这时在这里度过的时间不是孩子的。
- 胶囊标签先列出需要家长处理的（琥珀色，带三角形），然后是已开启的（青绿色，带勾号），最后是其他的（灰色，带圆点）：形状和颜色一样能表达含义。
- 正常的和仅作说明的内容，会在需要家长处理的标签之后合并成一个胶囊标签（*✓ 3 项检查正常*）；按 Ⓐ 会显示它们，标签页打开期间一直显示。
- 胶囊标签下方显示仍需恢复的加时（按 Ⓐ 恢复），以及关闭时的“时间到”提醒（按 Ⓐ 重新打开）。

### 入门

在设置 PIN 和每周的限制之前，卡片上方会有一张卡片列出三个步骤（PIN、每日限制、网络时钟），完成的以青绿色打勾，未完成的以琥珀色圈出，并显示完成了几步（*1 / 3*）；在某一步上按 Ⓐ 会直接在那里完成它。

### 主机在计时吗？

PlayGuard 作为应用运行时，它自己的时间也会计入，所以今天有限制时，打开 PlayGuard 期间剩余时间应该减少。如果画面上的剩余时间约 90 秒没有变化（计时器开启、今天有限制、未解除也未暂停、不是从相册打开），已玩时间下方的一行琥珀色文字会显示 *主机目前没有计算游戏时间*，并列出可能的原因：

- 时钟被调回（之后会重新计时）；
- 网络时钟从未设置（*主机 › 网络时钟*）；
- 刚刚写入了限制（启动一个游戏玩一分钟后再查看）。

剩余时间一有变化，这行文字就会消失。游戏时间标签页也会显示这一点。

### 在 PlayGuard 之外的更改

今天的游戏时间在同一天内重新开始计算（更改时钟会造成这种情况）、主机时钟变动超过 5 分钟、限制与 PlayGuard 上次看到的不同（手机应用、其他工具）：圆环上方会显示一张琥珀色卡片，直到被关闭（Ⓐ）或到第二天，并在更改历史中记录一条。PlayGuard 不在后台运行：它重新读取主机时，只能看到它打开期间或上次打开以来发生的更改。

### 达到限制时

主机显示“时间到”，然后中断游戏（没有“继续”）或只作提醒：设置了限制或就寝时间后，*时间到时* 会显示是哪一种，并可以更改（[详情，英文](https://guard.boreale.dev/zh-hans/docs/parental-controls.md#when-the-time-runs-out)）。

### 加时和今天停止游玩

- **今天加时**：默认为 +15 分钟、+30 分钟、+1 小时。
- **今天停止游玩**：仅今天把限制设为 0，已知游玩时间时可选 *现在* 或 *5分钟后*（限制会变成已玩时间 + 5 分钟，留出存档的时间）。重新锁定时主机会显示“时间到”，未保存的进度可能丢失——确认时会说明。
- **第二天**——启动时，或者应用开着时在午夜——PlayGuard 会恢复平时的限制：
  - 加时之后，它会自动恢复，不询问也不需要 PIN（它只会降低限制，和重新启用家长控制一样），如果计时器正在计时，会暂时解除一下并立即重新锁定。无法写入时（只读模式、不支持的系统版本、*阻止所有游戏* 已开启）它会等待；一周后的同一天，如果较低的限制会让正在进行的游戏停止，它也会等待（改到第二天）。想让某一天保留更多时间，请更改那一天的限制；
  - *今天停止游玩* 之后，它会询问是保持 0 还是恢复限制（需要 PIN，和任何提高限制的更改一样），或者像其他更改一样自动恢复（*游戏时间 › “今天停止游玩”后，第二天自动恢复平时的限制*）；需要恢复为“无限制”时总会询问。
- **其他日子加时**（*加时 › 其他日子…*，在列表末尾）：明天或之后五天中的一天，每一天都列出它的限制，然后选择时长。那一天的限制会立即提高，仅限那个日期，那天过后下次打开 PlayGuard 时会自动恢复（它只会降低限制）——没有打开 PlayGuard 的主机不会恢复，下周的同一天也会保留这个限制。一次只能有一个：之后列表会提供取消它的选项（限制立即恢复）。在此期间如果那一天的限制被更改了（每周设置、配置…），以更改为准：不会恢复任何东西。

### 儿童画面

*今天* 中的 *给孩子看*，方便把主机交给孩子：

- 只显示剩余时间（家长控制解除期间，显示今天的限制，已暂停）、游戏何时结束（*约 16:40 结束*；就寝提醒先到时，圆环改为倒数到就寝时间，*距离就寝时间 45 分钟*，与没有限制的日子的最后一小时一样）、就寝时间，以及时间到时会发生什么；
- 文字大小适合在房间另一头看电视时阅读；不受文字大小设置的影响（和所有页面一样，只有标题和底栏随之变化）；
- 最后 5 分钟内（游戏结束前或就寝时间前），结束时间变为琥珀色，圆环缓慢跳动；就寝时间在最后 30 分钟内变为琥珀色；
- 家长用的 Ⓐ 和 Ⓨ 以小字显示在右上角，因此底栏只显示孩子用的按键；
- 按 Ⓐ 输入 PIN 后返回家长的画面；按 Ⓨ 输入 PIN 后可以直接在这里加时（时长与 *加时* 相同，之后仍停留在儿童画面）；按 Ⓑ 退出 PlayGuard（和退出时一样，会先询问是否重新启用家长控制）。

文字放大时，*今天* 仍然能在一个画面中完整显示：标题上方的那一行只显示星期和当天的限制（*星期四 · 2小时*），按钮和卡片会稍微紧凑一些。每 5 秒刷新一次（按 Ⓧ 立即刷新）。

## 游戏时间——一周就是编辑器

*[在模拟器中试试 ›](https://guard.boreale.dev/simulator/?tab=play_timer)*

### 修改一周

在某一天上按 Ⓐ 开始修改：

| 按钮 | 修改时 |
|---|---|
| ↑/↓ | 以 15 分钟为单位调整（按住时以 1 小时为单位） |
| ←/→ | 切换到下一天 |
| Ⓛ | 复制到星期一至星期五 |
| Ⓡ | 复制到周末 |
| Ⓨ | 无限制 |
| Ⓧ | 精确时长（*输入时长…*：↑/↓ 以 15 分钟（按住时以 1 小时）、Ⓛ/Ⓡ 以 5 分钟为单位，焦点在 OK 上） |
| Ⓐ 或 Ⓑ | 结束修改（Ⓐ 会说明是哪一天：*完成周一*；此时还没有保存任何内容） |

- 用触摸操作时，点击某一天即可修改，然后点击它的上部或下部，以 15 分钟为单位调整。
- 更改会一起保存，按 **+** 或 *保存*，和按天编辑器一样（确认时会列出更改的日子，更改前 → 更改后）；*放弃* 会还原这些更改。
- 每一天的柱条内显示它最近一次的游玩时间（包括今天，所有用户合计）。超出限制时，柱条是满的，顶部显示为珊瑚色，所占比例等于超出限制的时间占游玩时间的比例；一周下方的图例会说明（*超出限制*），限制也显示为珊瑚色。今天之后的日子以较淡的颜色显示上周的游玩（选中时：*上周星期五：已玩 2小时10分 / 2小时*）。
- 已更改但尚未保存的日子，限制显示为琥珀色，柱条带琥珀色边框；一周下方显示选中那一天的数据（*星期四：已玩 1小时20分 / 2小时*）。
- 一周上方以琥珀色显示已达到的限制以及主机此时会怎么做，或者主机没有计算游戏时间。
- `0` 分钟表示 *当天不能玩*；*取消游戏时间限制* 会关闭计时器。

### 标签按钮和快捷设置

一周上方和下方的**标签按钮**会直接打开各自的选项：配置（显示已保存了几个）、每天相同的限制、就寝提醒和 *时间到时*。*删除限制* 单独放在标签页的最后一行（可在历史记录中撤销）。

- **每天相同的限制**：快捷列表或精确时长（*输入时长…*：↑/↓ 以 15 分钟为单位（按住时以 1 小时为单位），Ⓛ/Ⓡ 以 5 分钟为单位）。
- **工作日和周末 ›**：编辑器，先询问星期一至星期五，再询问周末。
- **加时或今天停止游玩 ›** 会打开 *今天*，两者都在那里。它下方的说明告诉你主机在达到限制时会怎么做。家长控制暂时解除期间，游戏时间 *可能* 不会计入：这一点仍未确定（[文档，英文](https://guard.boreale.dev/zh-hans/docs/parental-controls.md#still-open)）。
- 每次确认都会列出变化的日子，更改前 → 更改后。

### 配置

- 保存在 SD 卡上的**配置**：应用（已经生效的配置只会说明这一点）、编辑、重命名或删除；保存当前的限制，或新建一个。
- 名称可以使用任何文字（*École*、*周末*、*Выходные* …）——不含拉丁字母的名称会得到专门的文件名，两个会对应到同一个文件的名称会被发现。
- **计划的配置**（*配置 › 计划的配置*）：*通过 Home Assistant*。PlayGuard 只在打开时运行，因此无法在指定的日子自行切换配置：*主机 › 远程访问* 把主机连接到 Home Assistant 之后，由 Home Assistant 根据日历或学校假期来切换（用一个设置其 *配置* 选择器的自动化；[Home Assistant 指南](https://github.com/JigSawFr/PlayGuard/blob/main/docs/home-assistant.md)，英文）。用旧版本计划的配置，在其时间段开始时仍会提示应用，这一行仍可以更改、删除或提前结束它。

### 阻止所有游戏

*阻止所有游戏*，位于一周的设置下方：一个开关，把每天的限制设为 0，启动游戏就需要 PIN——一种轻量的阻止，不涉及年龄分级或交流限制。

- 它阻止的是启动游戏，而不是 HOME 菜单，并且需要 PIN。
- 关闭后会恢复之前的限制。
- 开启期间，*加时* 和 *今天停止游玩* 会被拒绝，用其他方式设置的限制（配置、备份、历史记录…）会取代它。

### 就寝提醒

- 提醒时间（16:00 到 23:45，或 *关闭*）和恢复允许游玩的时间（05:00 到 09:00），每天相同，用摇杆设置：上下每次 15 分钟，L 和 R 每次一小时。
- 或者在提醒的对话框中按 Ⓨ *按星期*，分别设置星期一至星期五、周末或某一天，其他日子保持原样（每组日子都和它的时间一起列出）。各天不同时，标签页显示 *每天不同*，*游戏时间* 中的一周会在每一天的名称下方显示它的提醒时间。
- 它在游戏时间设置中的位置是根据手机应用的设置推算出来的，已在主机上验证（22.0.0）；PlayGuard 仍然只在主机报告的值与它读到的一致时才更改它，更改后检查主机的回应，如果不一致就恢复之前的设置。

### 加时设置和高级

- **加时**：提供的时长（+15/+30/+1 小时、+10/+20/+30 分钟…），以及 *今天停止游玩* 之后不询问就恢复平时的限制（加时之后总是不询问就恢复）。两者都在下次打开 PlayGuard 时执行，从第二天开始：没有打开 PlayGuard 的主机会保持那一天的限制。
- **高级 ›**，一个单独的画面：调试类操作的开关，开启后可以打开或关闭“时间到”提醒，以及暂停 / 恢复倒计时。同一个开关也允许备份或历史记录恢复这个提醒。

## 游玩记录——谁玩了什么，玩了多久

*[在模拟器中试试 ›](https://guard.boreale.dev/simulator/?tab=activity)*

每个游戏在**今天**、**最近7天**和**累计**的时间，来自主机自身的游玩记录——可以看所有用户，也可以只看**一个用户**（主机有多个用户时，用户以标签按钮显示在顶部）。PlayGuard 启动时显示上次查看的用户，或 *首先显示的账户* 中设置的那个（所有用户，或其中一个；在标签页底部，和 *所有游戏* 在一起）。

### 顶部

- 用户的标签按钮、时间范围和 *导出*。
- 以数字显示今天、最近 7 天和累计的时间。最近 7 天下方按天与前 7 天比较：多了以琥珀色显示，如 ▲ *比上周每天 +20分钟*，少了以 ▼ 和青绿色显示，相差不到 5 分钟时显示 *与上周相当*。
- 以卡片显示玩得最多的四个游戏（按 Ⓐ 打开其中一个）；在最近 7 天中，比前一周增加最多的那个游戏会显示增加了多少，从半小时起显示（▲ *比上周 +2小时*）。
- 期间内没有玩过任何游戏时，会有一张卡片说明，有内容可看时还会显示 *查看累计*。

### 图表和摘要

- **最近七天的图表**（今天在右边，下方有图例），本周每天的限制显示为一条线，超出部分以琥珀色显示并标有 !；还有今天、本周和累计的总时间。
- 所选期间（今天、最近 7 天、**最近30天**或累计）内当前用户的**摘要**：每天平均时间、玩得最多的游戏、玩过的天数和玩得最多的一天（最近 7 天）、平均每次时长（累计）。
- **游玩时段（最近7天）**：每天每小时一格，星期一在最前，颜色越深，玩得越多（所有游戏，当前显示的用户）；然后是游玩次数（中间休息不到 5 分钟的游玩算作一次，换了游戏也算）和平均时长、最长的一次及其日期、连续两小时中玩得最多的时段，以及 21:00 至 06:00 之间的游玩时间。

### 所有游戏和单个游戏的页面

- **所有游戏**，一个单独的画面：期间内玩过的所有游戏，玩得最多的排在前面，显示为**图标网格**或**列表**（Ⓨ 切换，选择会被记住），所选游戏的数据始终显示在顶部：图标和名称、期间内的游戏时间、累计时间、启动次数和最后游玩时间。Ⓧ 选择期间（游玩记录标签页随之改变）。
- 图标在所选游戏附近读取（小程序模式下不读取，以节省内存）；图标加载出来之前，以及没有图标的游戏，显示一个灰色手柄。
- 游戏很多时先显示前 50 个，然后是 *显示所有游戏*（小程序模式下最多 100 个）；导出总是包含全部游戏。PlayGuard 最多读取 256 个游戏（优先本周的）：超出时，游玩记录标签页、所有游戏和导出（CSV 除外）会说明有些游戏缺失，累计总时间也不包含它们。
- **在游戏上按 Ⓐ：** 最近七天的柱状图、启动次数、首次和最后游玩时间、每个用户的时间。已删除的游戏保留累计数据，即使是在安装 PlayGuard 之前删除的，只要主机的游玩记录里还有它的名字；PlayGuard 见过它的名称后也会保留名称（否则显示 *已删除的游戏* 和它的 title ID）。

### 用户

- 某个游戏中不属于任何用户的时间（有些游戏从不要求选择用户，或者用户之后被删除了）显示为 *无用户*，从一分钟起显示。
- PlayGuard 以前没见过的用户会在标签页上以琥珀色标出 30 天（*新用户（自…起）*，新建用户是重新开始计时的一种已知方法），并记录在更改历史中；PlayGuard 第一次列出用户时已经存在的那些不会被标出。

### 导出

- **导出到 SD 卡**（*导出*），格式为 CSV、JSON、XLSX（Excel）或 PDF，每天一列，然后是最近 7 天、最近 30 天和累计。
- 打开时立即显示上次读取的数据（在两次运行之间保存在 SD 卡上），超过一分钟会在后台刷新；Ⓧ 立即重新读取，并显示加载图标。
- 如果更改过主机时钟，时间只是近似值。

## 限制——限制等级、年龄分级、交流

*[在模拟器中试试 ›](https://guard.boreale.dev/simulator/?tab=restrictions)*

- **限制等级**：幼儿、儿童、青少年和自定义以方块并排显示，每个都写明它限制的内容（受限的显示珊瑚色的锁，允许的则显示绿色对勾，并列出它会阻止的已安装游戏；按 Ⓐ 设置；*自定义* 正在生效时，按 Ⓐ 前往下方它的设置）；*无* 在它们下方。正在生效的等级显示 *✓ 当前*；青绿色边框只出现在焦点所在之处。设置某个等级之前，会再说明一次它限制的内容（年龄限制、发布、交流）；*无* 会以珊瑚色询问，因为它会解除所有限制。
- **等级的设置：** 年龄分级、发布到社交媒体、与他人交流。在预设等级下，这些是它自己的设置：更改其中一项会使等级变为 *自定义*，以该预设的设置加上这项更改为起点，更改前会先询问（列出各项设置）。
- **在 *年龄分级* 下**：**分级机构**（PEGI、ESRB、USK、CERO…）：列表会写明每个机构为哪些国家分级（PEGI：欧洲大部分国家，ESRB：美国、加拿大和拉丁美洲，USK：德国，PEGI BBFC：英国…）。
- **被限制的已安装游戏**（同样在 *年龄分级* 下）：当前生效的等级按年龄分级限制了多少个已安装的游戏（*3 / 15*），按 Ⓐ 会列出它们及其分级（*PEGI 16*）；每个等级的方块上也会显示（*被限制的游戏 · 3*）。
  - 分级是每个游戏自己的（它的控制数据，由启动时的已安装游戏检查或 *主机 › 已安装的游戏* 读取），按主机使用的分级机构计算。
  - 该机构没有评级的游戏不计入，在手机应用中设置的例外也不计入。
  - 游玩记录中某个游戏的画面会显示它的分级，被限制时还会显示 *当前限制等级下被限制*。
- **在 *其他* 下**：VR 模式。允许交流的游戏以原始形式放在诊断报告中，直到弄清它们的列表。

## 安全——PIN、解除、Homebrew 菜单、手机应用

*[在模拟器中试试 ›](https://guard.boreale.dev/simulator/?tab=security)*

- **顶部**有四个方块：PIN、限制、暂时解除和 Homebrew 菜单，状态正常时（已设置 PIN、限制已开启、已锁定）各带青绿色勾号，需要处理时带琥珀色警告标志；Homebrew 菜单显示 *已开放* 或 *已锁定*（锁定后带勾号：没有转发器时，开放也没有问题）。
- **设置或更改PIN**（系统的 PIN 画面）。
- **显示PIN**：先显示警告并输入 PIN 本身，每次都要求；会记录在历史中，然后建议换一个新的 PIN。
- **暂时解除**、以及在需要解除的更改之后 PlayGuard 是否立即自动重新启用（默认开启）。

### 用PIN保护PlayGuard

在 PlayGuard 本身中使用 PIN：

| 设置 | 效果 |
|---|---|
| *从不* | PlayGuard 中不使用 PIN（主机设置了 PIN 时，铃铛会标出这一点） |
| *更改前*（默认） | 任何人都可以查看，只有家长能更改 |
| *打开PlayGuard时* | 启动时显示锁定画面 |

- 输入一次后，PIN 在 PlayGuard 关闭之前一直有效；*5分钟后再次要求输入PIN*（默认关闭）会在 5 分钟后再次要求，并且当 PlayGuard 离开前台 5 分钟或更久后回来时，重新显示 *打开PlayGuard时* 的锁定画面。
- 检查在服务层进行，任何更改都无法绕过；重新锁定从不需要 PIN。*显示PIN* 每次都要求输入 PIN，无论哪种模式，即使刚刚输入过；`config.json` 缺失或损坏时按 *更改前* 处理。
#### 输入 PIN 后，在你使用 PlayGuard 期间家长控制会暂停

- 仅在 *安全 › 我在PlayGuard中时暂停家长控制* 开启时（默认关闭：关闭时输入 PIN 不会改变家长控制，在 PlayGuard 中度过的时间算作游戏时间）。开启它需要输入 PIN。
- 输入 PIN 后（*打开PlayGuard时* 的锁定画面、*更改前* 模式下的第一次更改、从儿童画面返回……），PlayGuard 会暂时解除家长控制，因此在其中度过的时间不会占用孩子的游戏时间；*从游戏中打开* 会从 *今天* 中消失。
- 标题栏的胶囊标签以青绿色显示 *家长控制已暂停*；点击它会说明这是什么，并提供 *立即恢复*（之后在再次输入 PIN 之前不会再暂停）。*今天* 按孩子看到的样子显示这一天，安全标签页的方块显示 *家长控制已暂停*，不带警告。
- 一旦离开 PlayGuard（HOME 菜单、睡眠模式）或关闭它，家长控制就会自动恢复，从 HOME 菜单关闭也一样（退出会等待恢复完成）；儿童画面或锁定画面显示期间也会恢复。回到 PlayGuard 时如果 PIN 仍然有效，会再次暂停。
- 从相册打开时不会暂停（那里的时间不计入，而且后面可能还开着游戏），只读模式下也不会，也绝不会覆盖用 *暂时解除* 做的解除，那次解除保持原样。
- 和任何解除一样会被记录：如果 PlayGuard 没有重新锁定就停止了，它下次启动时会重新锁定，重启主机也会自动锁定。这依赖于解除期间时间不计入这一点，这是推断出来的，尚未测量（见[下文](#什么算作游戏时间)）。
- **锁定自制软件菜单 ›** 会打开 *主机 › 转发器*，在那里经过检查后锁定它（见[转发器](#转发器)）。
- 家长控制仍处于解除状态时**退出**，会询问是否重新锁定（*重新启用并退出* 还会关闭 PlayGuard 所依附的游戏，回到 HOME 菜单而不是 hbmenu）；如果是从 HOME 菜单关闭的，PlayGuard 会在下次启动时重新锁定，重启主机也会自动锁定。PlayGuard 自己的暂停不会询问什么：它随 PlayGuard 关闭而结束。

### 手机应用

- 是否关联了 Nintendo Switch 家长控制应用、它最后一次同步的时间，以及**解除关联**（否则它下次同步会覆盖这里设置的限制：关联期间，PlayGuard 要求确认的每项更改都会提到这一点）。
- 当 Atmosphère 的 DNS 重定向（`atmosphere/hosts`）把任天堂的家长控制服务器指向别处时，手机应用无法同步：PlayGuard 会在这里显示 *同步已被拦截（DNS）*，其他地方都不再提到手机应用（对话框中没有提示，铃铛中没有条目，入门中没有相应步骤，*今天* 上没有胶囊标签，不提供协助解析，解除关联时也不会说明手机应用会覆盖什么）。
- 关联并且能够同步期间，*解除关联前：协助解析两项设置* 会打开数据块比较（见 [CONTRIBUTING.md](https://github.com/JigSawFr/PlayGuard/blob/main/CONTRIBUTING.md#no-code-needed)，英文）。

### 删除所有家长控制

需要确认两次，无法撤销；会先保存一份设置备份。

### 被锁在外面？

标签页的最后一项：可选的恢复模块，用于限制为 0 分钟时忘记了 PIN 的情况。按 Ⓐ 会在 *主机 › 可选模块* 中打开它，在那里即可安装。

## 历史记录——PlayGuard 更改了什么，以及备份

*[在模拟器中试试 ›](https://guard.boreale.dev/simulator/?tab=history)*

**顶部**以方块显示记录了多少项更改以及最近一次备份的日期：青绿色勾号；没有备份或 30 天内没有备份时显示琥珀色警告。

### 更改历史

- PlayGuard 最近所做的 500 项更改（限制、限制等级、PIN、解除、解除关联、时钟、恢复、暂停或恢复倒计时…），以及它发现的在它之外所做的更改，按天分组（*今天*、*昨天*，然后是星期和日期），附有时间和来源；某一天的限制被更改时会写明是哪一天。
- 被主机**拒绝**的更改也会列出，以琥珀色显示，附有主机的错误和尝试的内容（无需恢复：没有任何改变）。
- *显示* 可以只保留一类（游戏时间、限制、安全和应用、在 PlayGuard 之外发现、被主机拒绝）；*导出所显示的内容* 把它写入 `exports/`，格式为 CSV、JSON、XLSX 或 PDF。
- 在更改上按 Ⓐ 会显示它，对于数值，可以**恢复之前的值**——和任何更改一样需要解除并输入 PIN，如果之后又有变化也会说明。
- 每项更改都保留了做出它的 PlayGuard 版本（开发版本会注明，并附上它的提交，如果是拉取请求的构建，还附上它的编号）；较新版本的 PlayGuard 记录的更改显示为 *其他更改*。

### 备份

- 在 SD 卡上**备份 / 恢复设置**：限制等级、自定义设置、VR 模式、分级机构、每日限制、“时间到”提醒（开启高级操作时），以及原始的游戏时间数据块（仅作记录）——从不包含 PIN。
- 恢复时只列出会改变的内容（没有需要改变的：直接说明，不解除，也不写入任何东西），如果备份中开启了就寝提醒也会说明（不会写回）。
- 可以选择保留多少份备份。

## 主机——网络时钟、已安装的游戏、主机运行的系统

*[在模拟器中试试 ›](https://guard.boreale.dev/simulator/?tab=console)*

**顶部**在 *系统* 下以方块显示主机运行的系统（系统版本、Atmosphère、SD 卡上有 hekate 时的 hekate，以及安装了 sys-patch 时的 sys-patch；按 Ⓐ 打开它的版本说明），然后在 *工具* 下以方块显示工具（*网络时钟*、*已安装的游戏* 和 *转发器*；前两个在角上显示需要留意的事项；然后是 *远程访问* 和 *可选模块*），再然后是主机的各行信息，兼容性排在最前（PlayGuard 已在此系统版本上验证过时只显示青绿色勾号，否则显示警告和问题所在）。

### 网络时钟

*网络时钟 ›*，一个单独的画面——游戏时间计时器依赖的时钟。从不连接任天堂服务器的主机，这个时钟会一直不准，从而影响游戏时间计时器。

- **主机时钟和网络时钟**、时区、准确度。当 Atmosphère 的 DNS 重定向（`atmosphere/hosts`）把任天堂的时间服务器（`aauth-lp1.ndas.srv.nintendo.net`）指向别处时，主机无法再自行校准网络时钟：这个画面、铃铛中的条目以及 *今天* 中的卡片都会说明这一点，并指向下面的测量。
- **选择一个公共 NTP 服务器**（内置约 50 个，按地区分组，也可以用你自己的）。
- 向 3 台服务器**测量**（取中位数；服务器之间不一致时显示琥珀色警告）：一个对话框显示结果——网络时钟快了或慢了多少（大字显示），服务器的时间与网络时钟的时间并列，以及每台服务器的回应——并从那里设置网络时钟。测量结果在 2 分钟内有效，*设置网络时钟* 下方显示倒计时。确认时会说明：更改时钟会让今天的游戏时间重新计算，整个限制又可以用了。
- **启动时检查网络时钟**：偏差超过一分钟时显示提示消息；它从不设置时钟。

#### 没有服务器回应

在没有联网的主机上，结果的对话框中会提供 *使用主机时钟*，测量下方会出现 *将网络时钟设为主机时钟*（测量失败后，*今天* 中的网络时钟卡片上也会出现），需要同样的确认。

- PlayGuard 没有其他东西可以和主机时钟比较：确认时会显示主机的时间，请你先用手机或手表核对；2026 年之前的主机时钟（从未设置过）会被拒绝。
- 如果 *通过互联网同步时钟* 处于关闭状态，主机时钟保持不变，之后再开启这个设置也不会让它跳变；如果它处于开启状态，主机时钟已经跟随网络时钟，所以确认时会提示你关闭它，如果时间不对就手动设置。
- 它只写入时钟，不写入家长控制，所以不需要解除（*用PIN保护PlayGuard* 的 PIN 仍然适用）；和任何时钟更改一样，它会让今天的游戏时间重新计算。
- 尚未在主机上试过。

### 已安装的游戏

*已安装的游戏*（*主机 › 工具* 下的一个方块）会找出 HOME 菜单无法启动或无法显示的游戏——一直在加载的图标、一个“!”、一个虚线框——在游戏图标下方说明问题所在以及该怎么做，并说明有多少个已安装的游戏有问题。

**它能发现的问题：** 名称和图标无法读取、更新背后的游戏本体缺失、已经没有安装任何内容、文件缺失、主机发现的损坏数据、游戏或仅其更新需要更新的系统版本、密钥比系统版本新、缺少许可（ticket）、主机要求一个已被删除的更新、SD 卡无法读取、主机拒绝启动。

**列表按解决方法分节**，每一节都显示数量和该怎么做，同一问题的游戏放在一起（名称相同的两个游戏以版本或 title ID 区分）：

| 分节 | 包含的内容 |
|---|---|
| **可在此修复** | PlayGuard 能修复的 |
| **待检查** | 主机怀疑有问题的数据：检查结果会告诉你是否需要重新安装游戏 |
| **需重新安装** | 文件丢失或无法使用，或数据被发现损坏：先删除，再重新安装 |
| **固件或 SD 卡** | 游戏没问题，问题在主机 |

- **检查数据：** 数据检查的结果会和游戏一起保留，直到安装了另一个版本：损坏的会移到 *需重新安装*，显示为 *已损坏(已检查)*，附上日期和主机的代码；完好的会从列表中移除。*检查这 5 个游戏* 在一个对话框中逐个检查 *待检查* 中的所有游戏，上方显示它们的图标（*第 2 个,共 5 个*），然后说明有多少个损坏、完好或无法检查，并可以直接删除损坏的游戏。
- **同时处理多个游戏：** Ⓨ 选择游戏（前面显示勾号）；选中第一个后，分节上方会有一行说明选了多少个，在它上面按 A 也可以选择整个分节；然后对所有选中的游戏执行同一个操作：检查数据，或删除它们（先保存列表，只问一次，只输入一次 PIN）。
- **删除多个：** 每删除一个游戏，它的图标就飘走（留下的游戏显示珊瑚色的“!”），进度条每个游戏一段（最多 20 段）；最后说明删除了多少个、腾出了多少空间，对话框会自动关闭。有剩下的游戏时，它们的图标以珊瑚色圈出，并可对它们 *重试*。
- **在 *需重新安装* 下，** 可以保存它们的列表（JSON 和文本，放在导出文件夹中：名称、title ID、版本、问题），也可以在一次询问、一次 PIN 后一并删除：先保存列表，再删除游戏，这样安装工具就不会再把它们当作已安装。
- **操作：** 当某个操作就是解决方法时，它是对话框的第一个按钮；然后是其他操作：重新接受已安装的版本（主机要求一个已删除的更新时）、只删除更新或追加内容、检查数据是否损坏（主机自身的检查，显示进度并可取消），或删除游戏。
- 版本按游戏自己的方式显示（*版本1.4.0*、*更新 #4*）；修复后，会有提示消息说明游戏是否又能运行了。存档数据始终保留；每项更改都记录在更改历史中。
- **检查的时机：** 打开时立即显示上次的检查结果；然后只重新检查条目有变化的游戏（每天检查一次所有游戏，系统版本更新后也会检查，或按 Ⓧ *重新检查*），每个游戏检查完就立即显示。Ⓧ *重新检查* 会打开一个对话框：逐一翻过游戏的图标，显示进度条和计数；*取消* 会在当前游戏检查完后停止，已检查的结果保留。还没有列出游戏时，检查期间图标会在卡片中依次滑过。
- 多个游戏同时出问题，通常说明是 SD 卡的问题，或者游戏是从另一个存储（sysMMC / emuMMC）安装的。
- Ⓡ 可以把游戏显示为**列表**或**图标**（图标、名称和问题；选择会被记住），和 *所有游戏* 一样。

### 转发器

*转发器 ›* 是一个独立画面，*工具* 下的一个方块（也可以从 *安全 › 锁定自制软件菜单* 进入）：把一个 Homebrew 连同图标和名称放到 HOME 菜单上，之后就能像游戏一样从那里启动（一个 NRO 转发器，和 sphaira 制作的一样）。

- **顶部的卡片**说明 Homebrew 菜单的状态：已锁定还是开放、回到 PlayGuard 的途径（PlayGuard 的转发器、受保护的菜单、其中尚未从 HOME 菜单启动过的）、还有什么不用 PIN 就能打开它，以及是否安装了恢复 sysmodule。在卡片上按 Ⓐ 会列出可以怎么做，每项一键即达（锁定的下一步、保护或删除不用 PIN 就能打开它的转发器、检查、救援说明）。
- **按分组列出：** PlayGuard 自己的、它创建的其他转发器（无论是否受保护，都在同一张卡片中：图标会显示），其他应用创建的、已不在 HOME 菜单上的。受保护的转发器图标上有一把锁（已确认通过门禁正常工作的菜单则是一个勾号），在这里创建但没有 PIN 保护的则是一把琥珀色的打开的锁。
- **Ⓨ** 打开指南的这一部分（二维码）。删除或忘记一个转发器，或更改它的免 PIN 时段、*询问 PIN 码* 或 *今天的游戏时间用完后关闭* 之后的几秒内，按 **ZR** 可以把它恢复（以相同的程序 ID 重新安装，或恢复原来的设置）。
- **PlayGuard** 一键完成：使用它自己的图标和名称，转发器启动打开 PlayGuard 时所用的 `.nro`。
- **其他Homebrew**：SD 卡 `/switch` 文件夹（及其下一层文件夹）中的任意 `.nro`，会先询问名称（默认是 `.nro` 自己的名称，可以保留或修改），然后用 HOME 菜单将显示的内容确认：图标、名称和发行商。图标使用 `.nro` 的图标；尺寸不同或是 PNG 时，会转换为 HOME 菜单显示的 256 × 256 JPEG（`.nro` 没有图标时用手柄图标代替），和 sphaira 的做法一样。含空格的路径会加上引号传给 Homebrew。
- **HOME 菜单上的转发器**，各带图标：由 PlayGuard 创建的（Ⓐ：详细信息、重命名、更改发行商、重新安装、删除）和由其他应用创建的（详细信息、删除）。按 Ⓐ 会在它的图标和状态下方打开一个分区的面板（*此转发器*、*启动时*、*保护*、*安装与删除*），每一行带有图标和当前的设置（它的时段；*询问 PIN 码*、*今天的游戏时间用完后关闭* 和每个启动选项是开关），*删除* 显示为红色；按 B 或触摸面板外面即可关闭。*详细信息* 以同样的方式列出它的规则，然后是发行商、版本、`.nro` 和程序 ID；在某条规则（或发行商）上按 Ⓐ 即可更改，与面板中一样。受保护的转发器下方有一行说明其中显示的每个图标的含义。`.nro` 已不在的会注明；在主机的“设置”中删除的会一直留在列表中，直到重新安装或忘记。重新安装会保留程序 ID，所以 HOME 菜单上的条目会被替换，而不会出现两个；其他工具为同一个 `.nro` 创建的转发器也会被替换。
- **用 PIN 保护**（Ⓐ › *用PIN保护*，适用于 PlayGuard 创建的、除它自己之外的转发器）：从 HOME 菜单启动时，转发器先打开一个小小的门禁（`config/playguard/gate.nro`，几百 KB，由 PlayGuard 根据自己的文件写入），它会立即显示主机的 PIN 画面，PIN 正确后再启动 Homebrew；在那里按 B 会返回 HOME 菜单。PIN 画面周围是门禁自己的内容：Homebrew 的图标和名称、*Protected by PlayGuard*，以及进行情况（正在启动、处于自由时段、未输入 PIN），样式与 PlayGuard 的加载画面一致，使用它的语言和主题（*偏好设置*）（`make gate-preview` 可以在电脑上把它画出来）。它保留程序 ID 和图标，更改历史中也有记录。那一行用图标显示已开启的规则，每条一个：钥匙表示 PIN，打开的锁表示免 PIN 时段，方块（停止）表示从不打开的时段，计时器表示今天的游戏时间用完后关闭；*详细信息*（Ⓐ）用文字列出它们。主机上需要设置了 PIN。*不再询问PIN* 会先要求输入 PIN，无论 *用PIN保护PlayGuard* 如何设置；删除它，或不带 PIN 重新创建它（对同一个 `.nro` *添加转发器*）时也一样。它只保护 HOME 菜单上的图标：`.nro` 仍然可以从 Homebrew 菜单启动，除非 Homebrew 菜单已锁定（见下文）。由较早版本的 PlayGuard 保护的转发器以 PlayGuard 本身作为门禁，这仍然有效；*全部重新安装* 会把它换成小门禁。
  - **免 PIN 时段**（在受保护的转发器上按 Ⓐ）：每天、周一到周五或周末，从某个时间到另一个时间（也可以跨过午夜），或 *周一至周五，周末单独设置*（各一个时段）；*详细信息* 会显示时段。设置时段需要输入 PIN。这些时段按主机时钟计算，而主机时钟可以在主机的“设置”中更改：一旦它与网络时钟相差超过 5 分钟，门禁在这些时段也照样要求输入 PIN（*自由时段不适用：主机时钟与网络时钟不一致*）；无法读取网络时钟来核对时也是如此（*自由时段不适用：无法读取网络时钟*）；*主机 › 网络时钟* 可以把两者都校准，没有网络的主机也可以。
  - **禁止使用的时段**（在受保护的转发器上按 Ⓐ），设置方式相同：在这些时段，即使输入了 PIN，门禁也会显示 *此时不可使用* 和时段，然后返回 HOME 菜单（Homebrew 的就寝时间）。它们优先于免 PIN 时段。主机时钟与网络时钟相差超过 5 分钟时，只要任一时钟处于这些时段，它就保持关闭，拒绝后的暂停也按网络时钟和主机的稳定时钟（任何设置都改不了）计算，所以改时间也绕不过去。
  - **今天的游戏时间用完后关闭**（在受保护的转发器上按 Ⓐ）：主机的游戏时间今天没有剩余时间时，无论是否输入 PIN，门禁都会显示 *今天的游戏时间已用完* 并返回 HOME 菜单。未设置时为关闭。
  - **规则保存在转发器中，而不是 SD 卡上：** 时段、当天的限制和被拒后的暂停都写入转发器自己的数据（在主机的存储空间中），所以无法在电脑上编辑文件来增加免 PIN 时段；更改其中一项会重新制作转发器，只需几秒钟。转发器还保存门禁的 SHA-256（`config/playguard/gate-<hash>.nro`）：在 SD 卡上被更改的门禁不会被启动（错误 2347-0100，[故障排除](https://guard.boreale.dev/zh-hans/docs/troubleshooting.md#受保护的转发器显示错误-2347-0100)）。由较早版本的 PlayGuard 保护的转发器从卡上读取规则：这时它的免 PIN 时段不会生效，铃铛会提供 *重新制作*。
  - **PIN 被拒后暂停**（*PIN被拒后暂停*，在 *自制软件菜单* 下）：连续被拒绝五次（在 PIN 画面上按 B）后，转发器在 15 分钟内不再询问，门禁会显示暂停到什么时候；可选 3、5 或 10 次尝试，以及 15 分钟或一小时，或者从不暂停。铃铛中会说明哪个转发器处于暂停，它那一行也会显示（暂停图标，以及到什么时候）；*解除暂停*（在它上面按 Ⓐ，需要输入 PIN）会让它立即重新询问。每次暂停和每次解除都记录在更改历史中。
  - **每次尝试都记录在更改历史中**：用 PIN 打开、在时段内打开或被拒绝（在 PIN 画面上按 B），附有发生的时间；同一个转发器在同一天的同类尝试合为一条，并列出各次的时间。门禁把它们记在 SD 卡上；PlayGuard 在下次启动时读取。*历史记录 › 显示 › 自制软件与转发器* 只列出这些、转发器和锁定。
  - **本周尝试**（在 *历史记录* 中和 *自制软件菜单* 下）：最近七天里每个转发器的打开次数、被拒次数及发生在哪几天，以及未能打开的次数；保留四周。本周的拒绝次数超过前一周的两倍（至少五次）时，铃铛会提示。
  - **门禁画面会显示更多内容：** 询问 PIN 期间显示免 PIN 时段；询问期间和被拒绝之后，还会在 *请家长输入PIN* 下方显示当天到目前为止的拒绝次数（琥珀色）。*Protected by PlayGuard* 之后，它带有的每条规则各显示一个图标，与 PlayGuard 中它的那一行相同：打开的挂锁（免 PIN 时段）、方块（从不打开的时段）、计时器（今天的游戏时间）。被拒绝之后，Ⓐ 再试一次，Ⓑ 返回 HOME 菜单（等待 15 秒也一样），直到被拒后的暂停开始为止。它还会显示不用 PIN 就能打开到什么时候、暂停何时结束（*12分钟后*）、今天剩余的游戏时间（开启 *今天的游戏时间用完后关闭* 时），以及 PIN 画面无法打开时的错误代码。图标的边框颜色表示结果如何。万一门禁在启动 Homebrew 的途中停住，它会在 10 秒后结束并返回 HOME 菜单，而不会让主机停在它的画面上。
  - **启动画面**（*自制软件菜单* 下的 *启动画面*）：从 HOME 菜单启动时，门禁会先像 PlayGuard 自己打开时那样打开 Homebrew：在海军蓝背景的中央，右侧是 Cadran 的表盘，柔和的青绿色光晕上是 Homebrew 的图标、它的名称、*Protected by PlayGuard*、一条逐渐填满的进度条，底部是 PlayGuard 的标志及其旋转的圆环。然后是主机的 PIN 画面，PIN 正确后立即打开 Homebrew（在免 PIN 时段，进度条走完后直接打开）。它持续 2 秒，也可以设为 1、3 或 5 秒，或 *关闭*（立即显示 PIN 画面）；Ⓐ 或 Ⓑ 跳过剩下的部分，被拒绝后再试时不会再次显示。它在每次启动时从 SD 卡读取（`config/playguard/gate_wait.txt`），所以更改它不需要重新制作转发器。
- **从相册选取图标**（Ⓐ › *更换图标*）：相册中最新的 30 张截图以网格排列，每张都显示成将得到的图标，第一个是 `.nro` 自己的图标，正在使用的打勾；旁边显示 HOME 菜单现在的图标和之后的图标、截图所在的游戏和时间（*今天*、*昨天*，同一分钟有两张时精确到秒）。L 和 R 沿截图移动图标的正方形（从左边缘到右边缘共五个位置），Y 换回 `.nro` 自己的图标，A 选用当前选中的：它会成为 HOME 菜单使用的 256 × 256 JPEG。重新安装会保留它，连同取景位置。
- **启动时**（在转发器上按 Ⓐ，与 sphaira 的转发器选项相同）：*启动时选择用户*（默认关闭）会在启动时像游戏一样询问由哪个用户玩，这样它的游戏时间会计入该用户的 *游玩记录*（选择家长自己的用户时，孩子的统计数据保持不变）；无论谁玩，主机自己的游戏时间限制仍会计入它，和所有游戏一样。*截图* 和 *视频录制*（默认开启）允许用截屏按钮截图和录像。每个开关都需要输入 PIN，会重新制作转发器（相同的程序 ID），并记录在更改历史中；*详细信息* 会列出它们。
- **图标与语言：** 尺寸不同的图标、PNG，或带 EXIF 数据或采用渐进式编码的 JPEG（HOME 菜单会将其显示为“?”）会转换为普通的 256 × 256 JPEG。转发器的控制数据只声明美式英语，即其唯一图标的语言：因此无论主机设置为哪种语言，图标都会显示。
- **用PIN保护所有转发器**和**全部重新安装**（新 `.nro` 的图标和版本、这个 PlayGuard 自带的门禁、把从 HOME 菜单删除的转发器放回去）：各一键完成。
- **锁定自制软件菜单**（*自制软件菜单*，在画面最后）：相册和按住 R 启动的游戏都不会再打开 Homebrew 菜单，因此 Homebrew 只能从它的转发器启动，而转发器可以要求输入 PIN。
  - **一步一步来：** 在可以锁定之前，按 Ⓐ 会列出带编号的步骤，下一步以琥珀色显示，一键即达（*下一步*）：PIN、签名补丁、PlayGuard 的转发器、一个用 PIN 保护的 Homebrew 菜单（在 `/switch` 中找到的 sphaira，否则是 hbmenu，一次就创建为受保护的），并从 HOME 菜单启动一次；每完成一个创建转发器的步骤，列表都会再次出现。
  - 它需要两条从 HOME 菜单回到 PlayGuard 的途径：PlayGuard 自己的转发器，以及一个用 PIN 保护的 Homebrew 菜单（sphaira 或 hbmenu，按 `.nro` 的名称判断）的转发器，这样每个 Homebrew（包括 Homebrew 商店）都隔着一个 PIN。还需要主机上设置了 PIN，以及转发器需要的签名补丁。在此之前，按 Ⓐ 会说明缺少什么。
  - 菜单这条途径要在确认能正常工作后才算数：从 HOME 菜单启动过一次，并在它的门禁输入了 PIN（门禁的日志会记录这一点，PlayGuard 打开或锁定时读取）。受保护但从未这样启动过的菜单会如实标出。
  - 锁定时以列表显示各项检查（准备好的显示青绿色勾号，没准备好的显示琥珀色或珊瑚色三角），并要求在 *锁定* 上按住 Ⓐ 2 秒（或用手指按住），期间进度条会逐渐填满；提前松开则什么都不会改变。然后是**救援说明**（也会写入 `config/playguard/rescue.html`，这是一个可以在电脑上打开并打印的页面，使用界面的语言，附有二维码）：如何从电脑上撤销，或在安装了恢复 sysmodule 时用它撤销，以及一个指向帮助的二维码（[见下文](https://guard.boreale.dev/zh-hans/docs/troubleshooting.md#homebrew-菜单被锁定)）；*检查自制软件菜单* 中也有。
  - 在 emuMMC 上（或设置了 emuMMC 的 sysMMC 上），它会提醒：锁定位于 SD 卡上，因此两个系统都会读取它，而转发器是每个系统各自的：另一个系统没有这些回到 PlayGuard 的途径。
  - 锁定期间，删除 PlayGuard 自己的转发器或最后一个受保护的菜单（或去掉它的 PIN）会被拒绝：请先解锁。删除多个受保护菜单中的一个之前会先询问，以珊瑚色显示，并列出剩下的那些。
  - 锁定之前，它会提议一次性保护 PlayGuard 创建但尚未受保护的转发器，并说明哪些仍会不用 PIN 就启动 Homebrew（未受保护的菜单，或其他应用创建的菜单），哪些会写入 SD 卡（文件管理器、Cyberfoil 或 Goldleaf 之类的安装器、FTP 服务器：它们可能修改锁定所用的文件），以及是否安装了 uLaunch（它用自己的方式启动 Homebrew，锁定管不到）。
  - 同一天在某个转发器的门禁处 PIN 被拒绝三次或以上时，铃铛会提示（哪个转发器、哪一天、多少次）。
  - 写入文件失败时，如果能判断原因，错误会说明：SD 卡已满，或根本无法写入（它的写保护开关，或 hekate 的 *Tools* 可以修复的存档位）。
  - *检查自制软件菜单* 显示 Atmosphère 将读取的内容（相册和按住 R 启动的游戏是否会打开 Homebrew 菜单）、回到 PlayGuard 的途径、签名补丁、锁定时的 Atmosphère 版本以及恢复 sysmodule；诊断报告中也有同样的内容。未锁定时，它会先说明这一点并提供 *锁定*，以及还需完成的步骤（救援说明保留）；恢复 sysmodule 过旧时，会显示它附带的 PlayGuard 版本以及如何替换（这个版本带有它时提供 *更新模块*）。在 emuMMC 上，或在设置了 emuMMC 的 sysMMC 上，它会说明另一个系统也会读取锁定，但没有这里安装的转发器。
  - 它是 `atmosphere/config/override_config.ini` 末尾的几行，位于 PlayGuard 的两行注释之间；文件的其余部分保持原样，原来的文件保存在 `config/playguard/override_config.ini.backup` 中。Atmosphère 每次启动程序时都会读取这个文件：无需重启。解锁会删除这几行，并为文件其余部分没有设置的键写回 Atmosphère 自己的值（Atmosphère 会保留它读到的值，直到主机重启）。
  - 锁定和解锁总是需要输入 PIN，无论 *用PIN保护PlayGuard* 如何设置，并记录在更改历史中。锁定期间，PlayGuard 每次启动时都会检查两条途径是否都还在；有一条不在时铃铛会提示。在 PlayGuard 之外（电脑、某个 Homebrew）从文件中去掉的锁定，会在铃铛和更改历史中提示；PlayGuard 从不自行恢复它，因为删除这个文件正是从电脑上解除锁定的办法。删除转发器（系统设置 › 数据管理，那里不要求 PIN）从不会解除锁定：只会少一条回到 PlayGuard 的途径。
  - 从电脑上：删除 `atmosphere/config/override_config.ini`（或放回备份），然后重启主机。
  - 安装了恢复 sysmodule 时（可选，[sysmodule/README.md](https://github.com/JigSawFr/PlayGuard/blob/main/sysmodule/README.md)，英文），`RESCUE` 请求也会在启动时解除锁定，锁定之后更新了 Atmosphère 也一样（它的签名补丁可能滞后，而没有签名补丁就没有转发器能启动）：PlayGuard 下次启动时会告知，并提议重新锁定。
- **在 PlayGuard 之外删除的转发器**（在主机的“设置”中）：在更改历史中提示一次，问题存在期间铃铛中也会提示，它那一行有 *重新安装* 或 *忘记*。
- **签名补丁：** 主机只有在打了 fs 和 loader 的签名补丁（sys-patch，或 sigpatch 文件），并且 sys-patch 针对这个系统版本的所有特征码都已应用后，才能启动转发器。缺少补丁，或 sys-patch 漏掉了某一项（较旧的 sys-patch 遇上较新的系统版本）时，画面会在列表上方说明，并指出哪些没有打补丁；添加转发器、制作 PlayGuard 自己的转发器或全部重新安装之前，会先说明转发器暂时还无法启动：仍然添加（补丁就位后即可启动），或取消。锁定自制软件菜单也要等补丁就位（详情见 *主机 › 游戏补丁*）。留在 sys-patch 旁边的 sigpatch 文件会被提示，*主机 › 游戏补丁* 可以把它们移到一旁（移动，从不删除）。每个转发器保留制作它时所用的加载程序：由较早版本的 PlayGuard 制作的转发器会被提议重新制作（铃铛、*主机 › 转发器*）。`.nro` 留在原处；删除转发器从不会动它。
- **游戏时间：** 从图标启动的 Homebrew 会作为游戏运行：游戏时间会计入，时间到了也会像其他游戏一样被暂停，游玩记录中也会列出它。PlayGuard 仍可随时从 Homebrew 菜单打开。
- **包含在设置备份中**（*历史记录 › 设置备份*）：PlayGuard 创建的内容，以及 Homebrew 菜单是否已锁定。恢复备份时，会在恢复其余内容之后，提议放回已不在 HOME 菜单上的转发器（保持原来的保护、时段和图标）；锁定只会说明，需要从这里重新锁定。
- 每项更改在 *用PIN保护PlayGuard* 开启时都需要输入 PIN，在只读模式下会被拒绝，并记录在更改历史中。PlayGuard 创建的内容按系统（sysMMC / emuMMC）分别保存在 `forwarders.json` 中。

### 远程访问

*远程访问 ›*，*工具* 下的一个方块：与局域网中的 MQTT broker 和 Home Assistant 之间的可选连接，默认关闭（[Home Assistant 指南](https://github.com/JigSawFr/PlayGuard/blob/main/docs/home-assistant.md)，英文）。其中有：broker 及其 MQTT 版本、主机的名称、如何处理指令（在主机上询问、执行、拒绝）、指令是否可以更改游戏时间（默认关闭）、Home Assistant 的 MQTT 发现、主机自身的信息（型号、版本、存储、电池、网络、游戏；序列号只在开启 *发布序列号* 时才发布）、从 HACS 安装 PlayGuard 集成并添加主机的二维码（安装后显示它的版本及其新版本）、实时状态、*立即同步* 和日志。

### 可选模块

*可选模块 ›*，*工具* 下的一个方块：安装、更新、设为开机时启动或移除恢复模块和远程连接的代理程序，每个都在自己的标签页中，使用 PlayGuard 附带的副本（无需电脑）。在 *用PIN保护PlayGuard* 要求输入 PIN 时，每项更改都需要输入 PIN。

### 主机的各行信息

- **系统版本、Atmosphère、hekate**（SD 卡上有它的 `bootloader/update.bin` 时）**和 sys-patch**（已安装时；版本取自它的 `config/sys-patch/log.ini`），每一项是一个方块，显示已安装的版本，然后在琥珀色胶囊标签中显示上次检查更新时发现的新版本（*23.0.1 已发布*，方块带琥珀色边框，落后不止一个版本时还会在下方显示落后几个版本），或显示 *已是最新*；如果最新的系统版本需要先更新 Atmosphère 或 hekate，或者它们尚不支持该系统版本，系统版本方块的角上会显示警告（系统版本的版本说明会说明原因：它们的版本说明写明支持哪些系统版本）。
- **版本说明：** 在每一项上按 Ⓐ 会打开它们：已安装的版本一个标签页，每个较新版本各一个（最多五个），剩下的标签页给较旧的版本（共六个；Ⓛ / Ⓡ 在它们之间切换），打开时显示下一个版本，带有标签（已安装的版本带勾号、较新的版本带闪光标记、支持的最新系统版本、安全修复、家长控制有变更）、按原样发布的说明（英文）、*在线查看*（二维码）以及获取时间。Atmosphère、hekate 和 sys-patch 的说明来自它们的 GitHub 发布页（sys-patch 的来自 `impeeza/sys-patch`），系统版本的来自 switchbrew；它们保存在 SD 卡上供离线阅读，每天重新获取一次（按 Ⓧ 立即获取）。
- **兼容性**，然后是**存储**（emuMMC 或 sysMMC，另一个系统有自己的家长控制时显示信息图标：按 Ⓐ 查看说明）。
- Atmosphère 是否**隐藏序列号**（*是（XAW00000000000）*，即系统此时看到的序列号；在 emuMMC 上，如果没有隐藏，会显示警告图标，按 Ⓐ 查看说明），然后是主机的**真实序列号**，中间部分被遮住：隐藏时，从 Atmosphère 保存在 `atmosphere/automatic_backups/` 中的 PRODINFO 备份读取（SD 卡上有多份时，按设备 ID 选用这台主机的那一份）。在它的信息图标上按 Ⓐ 会完整显示它以及它的来源。
- **游戏补丁**（sys-patch 或 sigpatch 文件；只使用文件时建议使用 sys-patch：显示信息图标，有需要查看的问题时显示警告图标，按 Ⓐ 查看说明）。

## 偏好设置

*[在模拟器中试试 ›](https://guard.boreale.dev/simulator/?tab=preferences)*

- PlayGuard 自身的设置：
  - 先以方块显示：语言（主机的所有语言，或跟随主机）、主题（默认深色，也可选浅色或跟随系统）、文字大小（自动 / 标准 / 较大）以及启动时显示的标签页。
  - 启动时的**开场画面**：加载画面（图标及其旋转的圆环、进度条、右侧 Cadran 的表盘）显示 2 秒（默认开启；Ⓐ 或 Ⓑ 跳过；关闭后，PlayGuard 准备好就立即打开）。
- 它显示的消息：
  - 通知的类型（见[上文](#条目如何运作)）。
  - **每月提醒支持 PlayGuard**（默认开启，第一个月内和刚更新后不会显示；在提醒上选择 *不再显示* 或关闭这个开关，就会永久关闭，更新后也不会再显示）。
- 它如何更新：启动时 *每天检查更新*，以及 *更新方式*（见[关于](#版本和更新)）。
- 再次打开 **入门**（也在 *关于 › 帮助与诊断* 中）。
- 只影响某一项功能的设置放在那项功能旁边：加时在 *游戏时间* 中，重新启用家长控制在 *安全* 中，时钟检查在 *主机 › 网络时钟* 中。更改历史和备份有自己的标签页，[历史记录](#历史记录playguard-更改了什么以及备份)；立即检查更新和 *帮助与诊断* 在 *关于* 中。

## 关于

*[在模拟器中试试 ›](https://guard.boreale.dev/simulator/?tab=about)*

### 版本和更新

- 顶部是它的卡片：标志、名称、版本。
- 已安装的 PlayGuard：版本（有新版本时以琥珀色显示；按 Ⓐ 打开它的**版本说明**）。
- 立即**检查更新**；启动时 *每天检查更新* 在 *偏好设置* 中。
- *更新方式*（在 *偏好设置* 中）：在 PlayGuard 内（下载发布版本、校验、替换自身并重新启动），或者 sphaira、Homebrew App Store 或手动（未选择时，第一次更新时会询问）。交给商店更新时，会像更改设置一样要求输入 PIN（*用PIN保护PlayGuard › 更改前*），Homebrew 菜单锁定期间则总是要求：商店可以启动任何 homebrew。从 Homebrew App Store 或 sphaira 的 App Store 安装时，推荐的方式是通过商店更新，这样商店能跟踪版本；商店的目录还没有新版本时（它在审核后才发布新版本，通常晚几天），PlayGuard 会说明这一点，并提议改为就地更新。
- 知道有新版本时，PlayGuard 打开时会显示 **PlayGuard X.Y.Z 已发布**（附日期和说明）：*更新*，或 *稍后*，最多推迟 1 天、1 周或 30 天。
- 版本说明是 PlayGuard 自己的，与 *主机* 中 Atmosphère 和 hekate 的说明在同一个画面：来自它的 GitHub 发布页，每个版本一个标签页（已安装的、较新的、较旧的），每个都有以卡片显示的亮点和所有更改，保存在 SD 卡上供离线阅读（已安装版本的说明也内置在应用中，以防还没有获取过）。
- 更新之后，PlayGuard 会在第一次打开时显示 **X.Y.Z 更新内容**（同样的亮点，然后是二维码）。

### 帮助与诊断

*帮助与诊断 ›*，一个单独的画面，位于 *检查更新* 下方：

- **顶部**，在 *入门* 下有两个方块：*入门* 和 *发送报告…*；然后是 *诊断*。
- **入门** 会再次打开向导（关联期间有 *解除手机应用的关联* 一步，提醒关闭时有 *重新开启“时间到”提醒* 一步，设置 PIN 后有 *保护PlayGuard* 一步——即 *用PIN保护PlayGuard* 的选择——，还有一个开关可以让它不在启动时显示）。在 *关闭* 下方，*支持 PlayGuard* 显示赞助二维码。
- PlayGuard 的启动方式（在游戏之上或从它的 HOME 图标启动的应用程序，或 applet）及其数据文件夹。
- **导出诊断报告**，或**在线发送**（*发送报告…*；见[报告问题](https://guard.boreale.dev/zh-hans/docs/troubleshooting.md#报告问题)）；可以按数量、时间或大小设置保留多少份已保存的报告、崩溃文件、会话日志，以及在线发送的报告的链接。

### 致谢

*致谢与许可证 ›*：谁制作了它、它基于什么、它的许可证，以及以二维码显示的源代码，都在一个对话框中。然后是如何**支持 PlayGuard**（[GitHub Sponsors](https://github.com/sponsors/JigSawFr)、[Ko-fi](https://ko-fi.com/jigsawfr)，以二维码显示，用手机扫描），以及一个小小的 *Made in France* 🇫🇷。

## 安全的设计

**安全地写入游戏时间限制**。在计时器倒计时期间覆盖它的设置会让 Atmosphère 不稳定。所以 PlayGuard 会先检查状态；如果计时器正在计时，确认时会说明将暂时解除家长控制——使用已保存的 PIN，**你无需记住它**。按一下之后，它会解除、检查系统确实报告已解除、写入，然后**立即重新锁定**（如果 *更改后自动重新启用* 已关闭，则会提示你这样做）。服务层在写入之前会再检查一次状态，所以任何画面都无法绕过这项保护。

> [!CAUTION]
> 如果限制低于今天已经玩过的时间，家长控制重新锁定后游戏会立即被中断。会出现这种情况时，确认中会说明。

**22.5 不再崩溃**。`pctl:a` 是有特权的家长控制服务，只接受**一个会话**。原版应用的旧版本一直占用它，导致 HOME 菜单的 PIN 输入（或 PIN 小程序）拿不到它，Atmosphère 可能因此崩溃。PlayGuard 每次操作时才打开会话，并立即释放；应用在后台时，定期刷新会暂停。*（问题由 [anbingxi 的分支](https://github.com/anbingxi/NX-Pctl-Manager/tree/diag/fw22-5-readonly) 诊断。）*

**没有任何东西在后台运行**。时间限制、PIN、提醒和中断都是主机自身的功能；PlayGuard 只修改它们的设置。可选的远程连接在 PlayGuard 打开期间运行，安装了可选的代理程序后则始终运行；它执行指令的方式与在主机上所做的更改完全相同（同样的解除、重新锁定、只读模式和历史记录）；它永远不能删除家长控制、解除手机应用的关联或改动 PIN。

## 什么算作游戏时间

游戏时间计时器是主机的：PlayGuard 只读取它，自己不计算任何东西。已知的情况，以及确定程度（测量数据见 [parental-controls.md](https://guard.boreale.dev/zh-hans/docs/parental-controls.md#time-spent-and-time-left)，英文）：

| 情况 | 计入吗？ | 确定程度 |
|---|---|---|
| 正在运行的游戏 | 是 | 已测量（22.0.0） |
| **在 HOME 菜单中留着没关的游戏**（在后台暂停） | **是**：关闭它，或让主机进入睡眠模式 | 家长反馈（[Arqade](https://gaming.stackexchange.com/questions/398954/)）；与测量结果一致（只要有应用开着，主机就会计时） |
| 睡眠模式 | 否 | 有反馈（[Arqade](https://gaming.stackexchange.com/questions/398954/)）；PlayGuard 未测量 |
| **在游戏之上打开的 PlayGuard**（作为应用） | **是**，算作那个游戏的时间 | 已测量（22.0.0）：用家长的用户打开它，或者想快速看一眼时从相册打开 |
| **从转发器启动的 PlayGuard**（它在 HOME 菜单上的图标，同样是应用） | **是**，算在图标的名称下 | 推断：和其他应用一样是应用；PlayGuard 未测量 |
| 从相册打开的 PlayGuard（小程序模式） | 否 | 推断：它不是应用，而应用之外的时间似乎不计入 |
| 家长控制暂时解除期间（包括你使用 PlayGuard 期间的暂停） | 可能不计入 | 未测量：仍未确定 |
| 更改时钟之后 | 当天重新开始计算；时钟往回调后，计时会停止，直到时钟走过原来的时间 | 已观察到（22.0.0）；主机没有计时时，*今天* 会说明 |
