CommunityImagegithub.com

Jakeschincariol/console-skill

Jouez partout. Construit le port pour Windows, Mac, Linux, Steam Deck, Android et PS Vita et l'empaquette sans aucun fichier de jeu à l'intérieur.

Qu'est-ce que console-skill ?

Cette compétence permet de transformer un projet de recompilation PS2Recomp en un dossier prêt à être joué sur Windows, macOS (Apple Silicon via sse2neon), Linux, Steam Deck, Android (APK) et PS Vita (VPK). Elle vérifie que les outils nécessaires sont installés (doctor), affiche les étapes de construction spécifiques à chaque cible (plan), et produit un dossier de distribution propre contenant l'exécutable, ses bibliothèques, un dossier `game/` vide, les instructions pour le joueur et un fichier de configuration `.recomp.json`. La commande `guard` inspecte n'importe quel dossier pour s'assurer qu'aucun fichier protégé (image disque, ELF PS2, module IRX, code source du runner) ne s'y trouve, empêchant toute distribution non autorisée. La compétence est conçue pour fonctionner avec les assistants Claude Code et respecte strictement les limites légales : le joueur doit fournir son propre jeu à partir de son disque, et le package ne contient jamais de données provenant du jeu original.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Jakeschincariol/console-skill/tree/HEAD/console-anywhere

Installed? Explore more Image skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

console-anywhere

Un port PS2Recomp est un programme natif normal (ps2EntryRunner) construit à partir du code de jeu recompilé et du runtime, dessiné avec raylib. Le même projet CMake le construit sur Windows, macOS (Apple silicon via sse2neon), Linux et le Steam Deck ; android/ crée un APK et vita/ crée un vpk. Cette compétence vérifie la chaîne d'outils, affiche les étapes appropriées pour chaque appareil et empaquette le résultat pour que le joueur apporte le jeu à partir de son propre disque.

Limites honnêtes : PS2Recomp indique qu'il est principalement testé avec MSVC, donc les builds Mac, Linux, Android et Vita reçoivent moins de tests ; la Vita est beaucoup plus lente qu'un PC ; Android n'a pas encore de contrôles à l'écran. Et le runner est compilé à partir du code recompilé de votre jeu, donc un package est destiné à vos propres appareils : il ne contient jamais le disque, mais il est toujours dérivé du jeu, donc ce n'est pas quelque chose à télécharger.

${CLAUDE_SKILL_DIR} ci-dessous est le dossier de cette compétence (où se trouve ce SKILL.md).

python3 "${CLAUDE_SKILL_DIR}/targets.py" doctor                       # OS de cette machine
python3 "${CLAUDE_SKILL_DIR}/targets.py" doctor --target android --target vita   # ou --target all
python3 "${CLAUDE_SKILL_DIR}/targets.py" plan --target steamdeck --elf-name SLUS_203.12
python3 "${CLAUDE_SKILL_DIR}/targets.py" package --runner out/release/ps2xRuntime/ps2EntryRunner \
        --target linux --elf-name SLUS_203.12 --game "My Game" --serial SLUS-20312 \
        --out console/dist/mygame-linux
python3 "${CLAUDE_SKILL_DIR}/targets.py" guard console/dist/mygame-linux   # avant de zipper ou pousser quoi que ce soit
python3 "${CLAUDE_SKILL_DIR}/targets.py" recomp-json --game "My Game" --serial SLUS-20312 --status playable

Cibles : windows, macos, linux, steamdeck, android, vita et web (plan et doctor uniquement : une chaîne d'outils séparée). plan prend --repo (votre checkout PS2Recomp) et --build-dir. package prend --lib FILE (bibliothèques supplémentaires), --allow FILE, --replace, --status, --json. Codes de sortie : 0 ok, 1 quelque chose manque ou refusé, 2 mauvaise entrée.

Ce qu'il lit et écrit

fichierquoi
votre sortie de buildps2EntryRunner (+ .dll / .so / .dylib à côté), app-release.apk ou ps2EntryRunner.vpk
console/dist/<name>/le dossier du joueur : runner, bibliothèques, game/ (vide), PLAYERS.md, play.bat / play.command / play.sh / install-android.sh, .recomp.json, .console-dist.json
templates/PLAYERS.mdle modèle d'instructions pour le joueur
.recomp.jsondescription optionnelle du projet lue par les listes recomp (PS2Recomp lui-même l'ignore)
console/STATE.mdlit le dossier de build et le chemin du checkout à partir de là ; journalise ce qui a été construit

Méthode

  1. Demandez où ils veulent jouer et sur quoi : un PC, un Mac, un Steam Deck, un téléphone Android, une tablette ou un boîtier TV, une Vita homebrew. "Sur la TV" signifie un boîtier Android TV avec une manette Bluetooth, ou un PC ou Deck branché à la TV avec une manette.
  2. Le port doit déjà fonctionner ici. Construisez-le et vérifiez-le avec /console-tester sur la machine où vous développez d'abord. Un crash sur le bureau ne s'améliorera pas sur un téléphone.
  3. Doctor. targets.py doctor --target <t>. Installez ce qui manque avec la commande affichée, puis relancez doctor.
  4. Plan. targets.py plan --target <t> --elf-name <l'ELF du disque>. Suivez les étapes dans le checkout de l'utilisateur (celui qui contient son code recompilé). Détails par cible et source de chaque fait : reference/targets.md.
  5. Build avec les commandes du plan. Incrémental uniquement ; ne nettoyez jamais un dossier de build, jamais CLEAN=1 pour la Vita. Un dossier de release séparé (out/release) préserve le build quotidien intact.
  6. Package. targets.py package --runner <fichier construit> --target <t> --out console/dist/<name>. Ajoutez --elf-name (sinon le script de lancement lit BOOT2 du SYSTEM.CNF du joueur) et --game/--serial pour .recomp.json.
  7. Lisez le verdict du guard. Un refus liste chaque fichier et pourquoi. Corrigez la cause (mauvais --lib, un fichier disque à côté du runner). N'ajoutez jamais de ligne allow pour une image disque, un ELF PS2, un IRX, SYSTEM.CNF ou des sources du runner : le fichier allow est uniquement pour un faux positif qui est vraiment le propre fichier de l'utilisateur, avec la raison écrite à côté. Détails : reference/guard.md.
  8. Installez sur l'appareil en suivant PLAYERS.md, puis le joueur extrait son propre disque dans game/. Testez-le là, et enregistrez le résultat dans console/STATE.md.

Par cible en une ligne

ciblerunnercomment l'ELF est trouvénotes
Windowsps2EntryRunner.exe + DLLs FFmpegplay.bat passe game\<ELF>MSVC, le chemin le plus testé
macOSps2EntryRunnerplay.command passe game/<ELF>builds arm64 via sse2neon ; nécessite Homebrew FFmpeg sauf construit sans
Linuxps2EntryRunnerplay.shraylib a besoin des headers X11 et GL pour construire
Steam Deckle build Linuxplay.sh, ajouté à Steam comme jeu non-Steamou le build Windows sous Proton (non testé ici)
Androidapp-release.apkintégré avec -Pps2xBootElf=...les fichiers vont dans /storage/emulated/0/Android/data/com.ps2x.runner/files/ avec adb push ; associez une manette
PS Vitaps2EntryRunner.vpkintégré par ./vita/build.sh <chemin ux0:data/...>./vita/setup.sh une fois ; installez avec VitaShell ; lent
web(pas une cible PS2Recomp)snuri00/ps2-web-recomp est un recompilateur différent : un second port du même disque, expérimental

Garde-fous

  • Apportez votre propre jeu. Chaque joueur fournit le jeu à partir d'un disque qu'il possède, extrait par ses soins. Ne téléchargez jamais d'ISOs, d'ELFs ou de fichiers BIOS, n'aidez jamais à les trouver, ne les demandez jamais. Aucun BIOS nécessaire.
  • Rien du jeu n'est publié. package refuse les images disque (ISO, BIN, IMG, MDF, NRG, CHD, CSO et contenu ISO 9660 sous n'importe quel nom), les ELFs PS2 et modules IRX (par signature et machine), les noms de type disque comme SLUS_203.12, SYSTEM.CNF, les sources recompilées de runner/, tout ce qui se trouve dans game/, et tout fichier de plus de 512 Mo. Le runner lui-même est construit à partir du code de jeu recompilé : le package est destiné aux propres appareils de l'utilisateur, pas à un téléchargement. Partagez des patches, des overrides et des assets originaux.
  • Non affilié à Sony. PlayStation est une marque déposée de Sony Interactive Entertainment. Les homebrew PS Vita, Steam, Android et les autres plateformes appartiennent à leurs propriétaires.
  • Ne détruisez jamais les fichiers de l'utilisateur. --replace ne remplace qu'un dossier créé par cet outil, et refuse tant que game/ contient quelque chose (le disque du joueur, les sauvegardes dans mc0/).

Passer la main à

  • /console-tester pour exécuter le build sur cette machine avant et après l'empaquetage.
  • /console-controller pour les contrôles de l'appareil (disposition xbox sur le Steam Deck, zones tactiles ou manette Bluetooth sur Android).
  • /console-saves pour déplacer les sauvegardes entre appareils (mc0/ se trouve à côté de l'ELF du jeu).

Skills associés