<!-- translated from docs/install.md, sha256 900d9a183a17 -->
# Instalación

Cómo instalar, actualizar y desinstalar PlayGuard, y qué escribe en la tarjeta SD. Una vez instalado: [guía de inicio](https://guard.boreale.dev/es/docs/getting-started.md).

## Dónde conseguirlo

Elige una opción:

- **Homebrew App Store** / **App Store de sphaira** (el mismo catálogo) — Busca *PlayGuard* e instálalo. Las nuevas versiones se detectan automáticamente, tras una revisión: a menudo unos días después que en GitHub. PlayGuard sabe que se instaló desde ahí y recomienda actualizarlo desde la tienda.
- **Manual** — Descarga `playguard.zip` de la [última versión](https://github.com/JigSawFr/PlayGuard/releases/latest) y extráelo en la **raíz** de la tarjeta SD. La aplicación queda en `sd:/switch/playguard/` y sus archivos en `sd:/config/playguard/`.
- **sphaira › GitHub** — El zip de la versión ya contiene la entrada (`/config/sphaira/github/playguard.json`): tras una primera instalación, actualiza desde *GitHub* en sphaira.

El **sysmodule de recuperación** opcional se instala desde PlayGuard (*Consola › Módulos opcionales*, o *Seguridad › ¿Sin acceso?*), o a mano desde su propia descarga (`playguard-rescue.zip`): extráelo también en la raíz de la tarjeta SD y reinicia la consola. Queda en `atmosphere/contents/4200000000505247/` y solo actúa cuando un archivo `RESCUE` se lo pide; consulta [¿Consola bloqueada?](https://guard.boreale.dev/es/docs/troubleshooting.md#consola-bloqueada).

Después, abre PlayGuard **sobre un juego**, con el usuario de un padre o una madre ([por qué](https://guard.boreale.dev/es/docs/compatibility.md#lanzadores)).

## Actualizar

- **En PlayGuard:** *Preferencias › Actualizar con* elige cómo: en el propio PlayGuard (descarga la versión, la comprueba, se sustituye y se reinicia), sphaira, la Homebrew App Store o a mano. Con *Buscar actualizaciones cada día* activado, PlayGuard se abre en la nueva versión cuando hay una.
- **El sysmodule de recuperación** sigue la versión de PlayGuard: tras cada actualización, vuelve a extraer el `playguard-rescue.zip` de esa versión (o *Actualizar* en *El sysmodule de recuperación no está actualizado*, en la campana, o en *Consola › Módulos opcionales*) y reinicia la consola.
- **El agente del enlace remoto**, si está instalado, se ofrece en el siguiente inicio cuando PlayGuard trae uno más reciente ([Home Assistant](https://github.com/JigSawFr/PlayGuard/blob/main/docs/home-assistant.md#keep-the-link-up-when-playguard-is-closed), en inglés).
- Los ajustes, el historial, los perfiles y las copias de seguridad se conservan: están en `sd:/config/playguard/`, no junto a la aplicación.

## Desinstalarlo

Borra `sd:/switch/playguard/` (la aplicación) y, para quitar también sus archivos, `sd:/config/playguard/`; con los sysmodules opcionales, también `sd:/atmosphere/contents/4200000000505247/` (recuperación) y `sd:/atmosphere/contents/4200000000504741/` (el agente), o quítalos antes en *Consola › Módulos opcionales*. Los límites, el PIN y las restricciones son los de la propia consola: **se quedan en la consola**. Para quitarlos también, usa antes *Seguridad › Eliminar todo el control parental*.

## Archivos en la tarjeta SD

Todos están en `sd:/config/playguard/` (la aplicación en sí se queda en `sd:/switch/playguard/`: quitarla o reinstalarla los conserva). Las versiones que los guardaban junto a la aplicación los trasladaron allí en su primer inicio.

- **`config.json`** — Preferencias (idioma, tema, servidor NTP, *Proteger PlayGuard con el PIN*…); cada clave en [config.md](https://guard.boreale.dev/es/docs/config.md) (en inglés). Si no se puede leer, se conserva como `config.json.bad` (el anterior como `.bad.1`) y los ajustes vuelven a sus valores predeterminados; PlayGuard lo avisa una vez al iniciarse
- **`profiles/`** — Perfiles de límites de tiempo de juego guardados
- **`exports/`** — Exportaciones de la actividad
- **`nand/<sistema>/`** — Lo que pertenece a un sistema, cada uno con su propio control parental: `sysmmc/` para la sysMMC, `emummc/` para la emuMMC. Dentro: `history.json`, el historial de cambios (los 500 más recientes, incluidos los que la consola rechazó; si no se puede leer, se conserva como `history.json.bad`, el anterior como `.bad.1`, en lugar de sobrescribirlo, y PlayGuard lo avisa una vez); `state.json`, lo que *Bloquear todos los juegos*, el tiempo extra, un rebloqueo pendiente y la elección de firmware necesitan recordar ([config.md](https://guard.boreale.dev/es/docs/config.md#state-kept-between-launches), en inglés); `forwarders.json`, los forwarders que ha creado PlayGuard; `watch.json`, lo último que PlayGuard vio de la consola, para saber qué cambió fuera de él ([config.md](https://guard.boreale.dev/es/docs/config.md#watchjson), en inglés; borrarlo no causa ningún problema); `backups/`, las copias de seguridad de los ajustes (nunca contienen el PIN); `cache/`, la última actividad de juego leída (todas las cuentas, y cada cuenta consultada), que se muestra en cuanto se inicia la siguiente vez mientras se vuelve a leer el registro. Los archivos de una versión anterior a estas carpetas pasan al primer sistema en el que se inicia PlayGuard
- **`cache/`** — Los iconos de los juegos (`icons/`, 16 MB como máximo, se vacía cuando cambia el idioma de la consola), compartidos por todos los sistemas, para no volver a leer el nombre y el icono de cada juego en cada inicio; las notas de la versión de Atmosphère, hekate, sys-patch y el firmware (`sys_notes.json`, para *Consola*) y las de PlayGuard (para *Acerca de*); en modo desarrollador, la lista de *Instalar otra compilación* (`dev_builds.json`)
- **`github_token`** — El inicio de sesión de GitHub de *Enviar un informe…* y, en modo desarrollador, de *Instalar otra compilación*; se borra al cerrar la sesión (*Acerca de › Ayuda y diagnóstico › Cuenta de GitHub*, visible una vez iniciada la sesión)
- **`gate.nro`**, **`gate-<hash>.nro`**, **`gate_*.txt`** — La puerta de los forwarders protegidos (*Consola › Forwarders*): su programa, su horario libre, sus horas en que nunca se abre y su pausa tras los rechazos, sus intentos hasta que PlayGuard los lee, y cuánto dura su pantalla de apertura (`gate_wait.txt`, que se lee en cada inicio)
- **`previous_build.json`**, **`boot_check.json`** — Tras instalar una compilación en su lugar: el nombre de la compilación sustituida (conservada junto al `.nro` como `playguard.nro.previous`) y la comprobación del siguiente inicio (se borra en cuanto aparece su primera pantalla)
- **`rescue_report.txt`** — Lo deja el sysmodule de recuperación después de actuar, hasta que PlayGuard lo muestra al iniciarse (si no lo puede leer, lo elimina y lo avisa)
- **`rescue_nonce`** — Un desafío aleatorio al que el sysmodule de recuperación responde en su informe, para que PlayGuard distinga un informe escrito por él de uno escrito a mano ([sysmodule/rescue/README.md](https://github.com/JigSawFr/PlayGuard/blob/main/sysmodule/rescue/README.md), en inglés); uno nuevo en cada inicio
- **`sync.conf`** — Solo una vez configurado el *Acceso remoto*: los ajustes del enlace, contraseña del broker incluida (nunca en un informe ni en un envío en línea)
- **`sync/`** — Solo con el *Acceso remoto*: los perfiles guardados, para el agente opcional (`profiles.txt`); lo que lee y escribe para un sistema está en el `nand/<sistema>/sync/` de ese sistema (registros, nombres de los juegos, lo que ha cambiado, sus eventos). Una sysMMC y una emuMMC comparten `sync.conf`, pero son dos dispositivos en Home Assistant
- **`logs/`** — `reports/`, los informes de diagnóstico guardados (nunca contienen el PIN ni el número de serie); `crashes/`, un archivo por cierre inesperado (lo que hizo que PlayGuard se detuviera); `uploads/`, un acceso directo de Internet (`.url`) por informe enviado en línea; `play_timer/`, los archivos del temporizador de las herramientas de desarrollador. Cuántos informes, archivos de cierres y enlaces se conservan: *Acerca de › Ayuda y diagnóstico* (por número, antigüedad o tamaño; el más reciente siempre se queda)

Más detalles en [packaging/README.md](https://github.com/JigSawFr/PlayGuard/blob/main/packaging/README.md) (en inglés).
