安装
本页介绍最新发布的版本 v1.3.0。 开发中的版本
如何安装、更新和删除 PlayGuard,以及它会在 SD 卡上写入哪些文件。安装之后:快速上手。
获取途径
任选其一:
- Homebrew App Store / sphaira 的 App Store(同一个目录)— 搜索 PlayGuard 并安装。新版本会自动获取,但要经过审核:通常比 GitHub 晚几天。PlayGuard 知道自己是从那里安装的,会推荐通过商店更新。
- 手动— 从最新版本下载
playguard.zip,解压到 SD 卡的根目录。应用位于sd:/switch/playguard/,它的文件位于sd:/config/playguard/。 - sphaira › GitHub — 发布的 zip 已包含这个条目(
/config/sphaira/github/playguard.json):首次安装后,在 sphaira 的 GitHub 中更新。
可选的恢复 sysmodule(playguard-rescue.zip)需要单独下载:同样把它解压到 SD 卡的根目录,然后重启主机。它位于 atmosphere/contents/4200000000505247/,只有在 RESCUE 文件要求时才会起作用——见被锁在外面?。
然后在游戏之上、用家长的用户打开 PlayGuard(原因)。
更新
- 在 PlayGuard 中: 偏好设置 › 更新方式 选择更新的方式——在 PlayGuard 内(它会下载发布版本、校验、替换自身并重新启动)、sphaira、Homebrew App Store 或手动。开启 每天检查更新 后,有新版本时 PlayGuard 打开时会显示它。
- 恢复 sysmodule 与 PlayGuard 的版本保持一致:每次更新后,重新解压该版本的
playguard-rescue.zip(或者在铃铛的 恢复 sysmodule 不是最新版本 上选择 更新),然后重启主机。 - 设置、历史记录、配置和备份都会保留:它们位于
sd:/config/playguard/,而不是应用旁边。
删除
删除 sd:/switch/playguard/(应用本身);如果要连它的文件一起删除,再删除 sd:/config/playguard/;装了恢复 sysmodule 的话,还要删除 sd:/atmosphere/contents/4200000000505247/。时间限制、PIN 和各项限制都是主机自身的:它们会留在主机上。如果也要删除它们,请先使用 安全 › 删除所有家长控制。
SD 卡上的文件
全部位于 sd:/config/playguard/(应用本身留在 sd:/switch/playguard/:删除或重新安装应用不会影响这些文件)。早期版本把它们放在应用旁边,这些版本首次启动时已把它们移到这里。
config.json— 偏好设置(语言、主题、NTP 服务器、用PIN保护PlayGuard 等);所有键见 config.md(英文)。如果无法读取,它会被保留为config.json.bad(之前的一份保留为.bad.1),设置恢复为默认值;PlayGuard 会在启动时提示一次profiles/— 已保存的游戏时间限制配置exports/— 游玩记录的导出文件nand/<system>/— 属于某一个系统的文件,每个系统都有自己的家长控制:sysmmc/对应 sysMMC,emummc/对应 emuMMC。其中:history.json是更改历史(最近 500 条,包括主机拒绝的更改;无法读取时会保留为history.json.bad,之前的一份保留为.bad.1,而不是被覆盖,PlayGuard 会提示一次);state.json记录 阻止所有游戏、加时、待重新启用的锁定和系统版本选择需要记住的内容(config.md,英文);forwarders.json是 PlayGuard 创建的转发器;watch.json记录 PlayGuard 上次看到的主机状态,用来发现在它之外发生的更改(config.md,英文;删除它没有影响);backups/是设置备份(从不包含 PIN);cache/是最近读取的游玩记录(所有用户,以及查看过的每个用户),下次启动时立即显示,同时重新读取记录。这些文件夹出现之前的版本留下的文件,会归入 PlayGuard 首次启动的那个系统cache/— 游戏图标(icons/,最多 16 MB,主机语言更改时清空),所有系统共用,这样每次启动时不必重新读取每个游戏的名称和图标;Atmosphère、hekate、sys-patch 和系统版本的版本说明(sys_notes.json,用于 主机),以及 PlayGuard 自己的版本说明(用于 关于);在开发者模式下,还有 安装其他构建 的列表(dev_builds.json)github_token— 发送报告… 以及开发者模式下 安装其他构建 所用的 GitHub 登录;退出登录即删除(关于 › 帮助与诊断 › GitHub 账户,登录后显示)gate.nro、gate-<hash>.nro、gate_*.txt— 受保护转发器的门禁(主机 › 转发器):它的程序、免 PIN 时段、禁止使用的时段和被拒后的暂停、在 PlayGuard 读取之前记下的尝试,以及启动画面持续多久(gate_wait.txt,每次启动时读取)previous_build.json、boot_check.json— 原地安装构建之后:被替换的构建名称(它本身作为playguard.nro.previous保留在.nro旁边),以及下次启动时的检查(第一个画面出现后删除)rescue_report.txt— 恢复 sysmodule 执行操作后留下,直到 PlayGuard 在启动时显示它(无法读取的会被删除,PlayGuard 会提示)rescue_nonce— 一个随机挑战值,恢复 sysmodule 会在报告中回应它,这样 PlayGuard 能区分它写的报告和手写的报告(sysmodule/README.md,英文);每次启动都会生成新的logs/—reports/是已保存的诊断报告(从不包含 PIN 或序列号);crashes/每次崩溃一个文件(是什么让 PlayGuard 停止);uploads/每份在线发送的报告一个网络快捷方式(.url);play_timer/是开发者工具的游戏时间记录文件。保留多少份报告、崩溃文件和链接:关于 › 帮助与诊断(按数量、时间或大小;最新的一份始终保留)
更多内容见 packaging/README.md(英文)。