<!-- 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. [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 이전에는 플레이 타이머를 뺀 모든 기능** — 제한, 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가 실행 중인지만 확인하고 버전은 확인하지 않습니다. 중요한 것은 Atmosphère로 부팅한 펌웨어입니다. *본체*에서 둘 다 볼 수 있습니다.

## 알아 둘 것

### 런처

게임 위에서 실행(title override)하는 것을 권장합니다. 앱은 애플리케이션(게임 위에서, 또는 HOME 메뉴에 있는 자체 포워더에서)으로 실행 중인지 애플릿(앨범)으로 실행 중인지 표시합니다. 게임 위에서 실행하면 본체는 PlayGuard를 사용한 시간을 그 게임의 시간으로 계산합니다. 플레이 기록에서는 실행할 때 고른 사용자의 시간으로 들어갑니다. 아이의 사용자가 아니라 보호자의 사용자로 여세요. 플레이 타이머는 본체의 것이라 모든 사용자에게 같습니다. 누가 PlayGuard를 열었든 그 시간을 계산합니다. 단, 타이머가 꺼져 있거나 PIN으로 자녀 보호 기능이 일시 중지된 경우는 제외입니다([자세히](https://guard.boreale.dev/ko/docs/features.md#pin을-입력하면-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는 닌텐도에 절대 접속하지 않습니다. 온라인에서는 공개 시간 서버와 GitHub(업데이트, 그리고 사용자가 보내는 보고서)에만 접속합니다. 본체가 BAN되는 원인은 커스텀 펌웨어나 emuMMC가 온라인으로 닌텐도에 접속하는 것입니다([switchbrew FAQ](https://switchbrewdocs.readthedocs.io/en/latest/faq.html), 영어). 자녀 보호 기능이나 시계 변경 때문에 BAN되었다는 기록은 없습니다. 다만 보장할 수는 없습니다.

### 인터넷이 없는 본체

PlayGuard는 바로 그런 본체를 위한 것이지만, 플레이 타이머에는 맞춰 둔 네트워크 시계가 여전히 필요합니다. 물어볼 시간 서버가 없으면 *본체 › 네트워크 시계 › 시간 차이 측정*이 대신 본체 시계에 맞추도록 제안합니다. 먼저 *인터넷으로 시계 맞추기*를 끈 상태에서 본체 시계를 확인하고, 그 설정은 그다음에 켜세요([네트워크 시계](https://guard.boreale.dev/ko/docs/features.md#응답하는-서버가-없을-때) 참고).

### 스마트폰 알림

22.0.0부터는 스마트폰 앱과 아직 연동된 본체에서 PIN을 입력하면 보호자에게 알림이 갈 수 있습니다([switchbrew](https://switchbrew.org/wiki/22.0.0), 영어). PlayGuard 자체의 해제로도 알림이 가는지는 알려져 있지 않습니다.

## PlayGuard를 만든 이유

아이들은 비디오 게임을 좋아하고, 비디오 게임은 곧 화면입니다. 시간을 제한하는 것도 아이를 돌보는 일의 일부입니다. 개조하지 않은 Switch에서는 닌텐도의 스마트폰 앱이 이 일을 맡았습니다. 본체에 커스텀 펌웨어를 올리면 완전히 새로운 세계가 열리지만, 자녀 보호 기능은 쓸 수 없게 됩니다. 스마트폰 앱이 더 이상 본체에 닿지 않기 때문입니다. 얼마나 놀았는지 알고, 제한을 정하고, 실랑이나 "5분만 더" 없이 게임을 끝내게 하는 일이 어려워졌습니다.

몇 안 되는 기존 도구로는 부족했습니다. 플레이 기록 도구는 거의 관리되지 않고 자세하지도 않았고, 자녀 보호 도구는 거칠고 미완성이었습니다. 그렇다고 직접 만든 대체 기능이나 백그라운드에서 늘 실행되는 sysmodule도 원하지 않았습니다. 목표는 **본체 자체의 자녀 보호 기능을 최대한 다시 활용하는 것**이었습니다. 제한 시간, PIN, 알림, 일시 정지처럼 이미 하는 일을 그대로 쓰면서 그 설정을 본체로 가져오는 것입니다. 그것이 PlayGuard입니다.

본체 자체의 자녀 보호 기능을 다루면 훨씬 많은 일도 가능해집니다. 플레이 시간을 집 서버로 보내고, 서버에서 명령을 받고, Home Assistant나 자동화와 연결하는 것입니다. 그 첫걸음으로 MQTT를 통한 Home Assistant와의 선택 사항인 연결이 이미 있습니다([가이드](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, 알림, 일시 정지** | 본체의 것 | 자체적인 것 |
| **백그라운드** | 없음(선택 사항인 복구 sysmodule은 `RESCUE` 파일이 요청할 때 부팅 시에만 작동. 역시 선택 사항인 Home Assistant 연결 에이전트는 설치한 경우에만 실행) | 부팅 때부터 sysmodule 실행 |
| **펌웨어 업데이트 후** | 본체의 자녀 보호 기능은 계속 작동하며, PlayGuard는 그 펌웨어를 지원하는 버전이 나올 때까지 읽기 전용으로 열림 | sysmodule이 계속 작동해야 자녀 보호 기능도 작동함 |
| **SD 카드에서 삭제하면** | 제한은 본체에 그대로 남음 | 자녀 보호 기능도 함께 사라짐 |

**아이마다 다른 제한이 필요한가요?** 대체 sysmodule을 고르세요. 본체의 타이머는 본체 전체에 제한이 하나뿐입니다. 그렇지 않다면 PlayGuard는 닌텐도의 자녀 보호 기능을 그대로 두고 그 설정만 본체로 가져옵니다.
