PlayGuard

Installation

Cette page décrit la version en développement : une partie n'est pas encore dans la v1.3.0. Cette page dans la v1.3.0 · Ce qui arrive

Comment installer, mettre à jour et supprimer PlayGuard, et ce qu'il écrit sur la carte SD. Une fois installé : prise en main.

Sur cette page

Où le trouver

Au choix :

  • Homebrew App Store / App Store de sphaira (même catalogue) — Cherchez PlayGuard et installez-le. Les nouvelles versions sont reprises automatiquement, après une vérification : souvent quelques jours après GitHub. PlayGuard sait qu'il a été installé par là et recommande de se mettre à jour par le store.
  • Manuellement — Téléchargez playguard.zip dans la dernière version et extrayez-le à la racine de la carte SD. L'application arrive dans sd:/switch/playguard/, ses fichiers dans sd:/config/playguard/.
  • sphaira › GitHub — Le zip de la version contient déjà l'entrée (/config/sphaira/github/playguard.json) : après une première installation, mettez à jour depuis GitHub dans sphaira.

Le sysmodule de récupération optionnel s'installe depuis PlayGuard (Console › Modules facultatifs, ou Sécurité › Bloqué ?), ou à la main depuis son propre téléchargement (playguard-rescue.zip) : extrayez-le lui aussi à la racine de la carte SD, puis redémarrez la console. Il arrive dans atmosphere/contents/4200000000505247/ et n'agit que quand un fichier RESCUE le demande — voir Console bloquée ?.

Ouvrez ensuite PlayGuard par-dessus un jeu, avec le compte d'un parent (pourquoi).

Mettre à jour

  • Dans PlayGuard : Préférences › Mettre à jour avec choisit comment — dans PlayGuard même (il télécharge la version, la vérifie, se remplace et redémarre), sphaira, le Homebrew App Store ou à la main. Avec Rechercher les mises à jour chaque jour activé, PlayGuard s'ouvre sur la nouvelle version quand il y en a une.
  • Le sysmodule de récupération suit la version de PlayGuard : après chaque mise à jour, extrayez à nouveau le playguard-rescue.zip de cette version (ou Mettre à jour sur l'entrée Le sysmodule de récupération n'est pas à jour de la cloche, ou dans Console › Modules facultatifs), puis redémarrez la console.
  • L'agent du lien à distance, s'il est installé, est proposé au démarrage suivant quand PlayGuard en contient un plus récent (Home Assistant).
  • Les réglages, l'historique, les profils et les sauvegardes restent : ils sont dans sd:/config/playguard/, pas à côté de l'application.

Le supprimer

Supprimez sd:/switch/playguard/ (l'application) et, pour retirer aussi ses fichiers, sd:/config/playguard/ ; avec les sysmodules facultatifs, aussi sd:/atmosphere/contents/4200000000505247/ (récupération) et sd:/atmosphere/contents/4200000000504741/ (l'agent), ou retirez-les d'abord dans Console › Modules facultatifs. Les limites, le code PIN et les restrictions sont ceux de la console : ils restent sur la console. Pour les retirer aussi, passez d'abord par Sécurité › Supprimer tout le contrôle parental.

Fichiers sur la carte SD

Tous dans sd:/config/playguard/ (l'application elle-même reste dans sd:/switch/playguard/ : la supprimer ou la réinstaller les conserve). Les versions qui les gardaient à côté de l'application les y ont déplacés à leur premier lancement.

  • config.json — Préférences (langue, thème, serveur NTP, Protéger PlayGuard par le code PIN…) ; chaque clé dans config.md (en anglais). S'il est illisible, il est gardé en config.json.bad (le précédent en .bad.1) et les réglages repartent de leurs valeurs par défaut ; PlayGuard le signale une fois au démarrage
  • profiles/ — Profils de limites enregistrés
  • exports/ — Exports de l'activité
  • nand/<système>/ — Ce qui appartient à un système, chacun ayant son propre contrôle parental : sysmmc/ pour le sysMMC, emummc/ pour l'emuMMC. Dedans : history.json l'historique des modifications (les 500 dernières, y compris celles que la console a refusées ; s'il est illisible, il est gardé en history.json.bad, le précédent en .bad.1, plutôt qu'écrasé, et PlayGuard le signale une fois) ; state.json ce que Bloquer tous les jeux, le temps en plus, un reverrouillage en attente et le choix de firmware doivent retenir (config.md, en anglais) ; forwarders.json les forwarders créés par PlayGuard ; watch.json ce que PlayGuard a vu en dernier de la console, pour signaler ce qui a changé en dehors de lui (config.md ; le supprimer est sans danger) ; backups/ les sauvegardes des réglages (jamais le code PIN) ; cache/ la dernière activité de jeu lue (tous les comptes, et chaque compte consulté), affichée dès le lancement suivant pendant que le journal est relu. Les fichiers d'une version d'avant ces dossiers vont au premier système sur lequel PlayGuard démarre
  • cache/ — Les icônes des jeux (icons/, 16 Mo au plus, vidé quand la langue de la console change), communes à tous les systèmes, pour ne pas relire le nom et l'icône de chaque jeu à chaque lancement ; les notes de version d'Atmosphère, de hekate, de sys-patch et du firmware (sys_notes.json, pour Console) et celles de PlayGuard (pour À propos) ; en mode développeur, la liste d'Installer un autre build (dev_builds.json)
  • github_token — La connexion GitHub d'Envoyer un rapport… et, en mode développeur, d'Installer un autre build ; supprimé à la déconnexion (À propos › Aide et diagnostic › Compte GitHub, affiché une fois connecté)
  • gate.nro, gate-<hash>.nro, gate_*.txt — La porte des forwarders protégés (Console › Forwarders) : son programme, ses heures libres, ses heures fermées et sa pause après des refus, ses tentatives jusqu'à ce que PlayGuard les lise, et la durée de son écran d'ouverture (gate_wait.txt, lu à chaque lancement)
  • previous_build.json, boot_check.json — Après l'installation d'un build sur place : le nom du build remplacé (gardé à côté du .nro sous playguard.nro.previous), et le contrôle du lancement suivant (supprimé dès que son premier écran s'affiche)
  • rescue_report.txt — Laissé par le sysmodule de récupération après son intervention, jusqu'à ce que PlayGuard l'affiche au démarrage (illisible, il est supprimé et PlayGuard le signale)
  • rescue_nonce — Un défi aléatoire auquel le sysmodule de récupération répond dans son rapport, pour que PlayGuard distingue un rapport qu'il a écrit d'un rapport écrit à la main (sysmodule/rescue/README.md) ; un nouveau à chaque lancement
  • sync.conf — Seulement une fois l'Accès à distance configuré : les réglages du lien, mot de passe du broker compris (jamais dans un rapport ni un envoi)
  • sync/ — Seulement avec l'Accès à distance : les profils enregistrés, pour l'agent facultatif (profiles.txt) ; ce qu'il lit et écrit pour un système est dans le nand/<système>/sync/ de ce système (enregistrements, noms des jeux, ce qu'il a changé, ses événements). Un sysMMC et un emuMMC partagent sync.conf mais sont deux appareils dans Home Assistant
  • logs/ — reports/ les rapports de diagnostic enregistrés (jamais le code PIN ni le numéro de série) ; crashes/ un fichier par plantage (ce qui a arrêté PlayGuard) ; uploads/ un raccourci Internet (.url) par rapport envoyé en ligne ; play_timer/ les fichiers du minuteur des outils développeur. Combien de rapports, de fichiers de plantage et de liens sont gardés : À propos › Aide et diagnostic (par nombre, âge ou taille ; le plus récent reste toujours)

Plus de détails dans packaging/README.md (en anglais).

Voir sur GitHub