CommunityBildgithub.com

Jakeschincariol/console-skill

Überall spielen. Erstellt Portierungen für Windows, Mac, Linux, Steam Deck, Android und PS Vita und verpackt sie ohne Spieldateien. doctor prüft die Werkzeuge dieses Rechners auf ein Ziel und gibt den genauen Installationsbefehl für alles Fehlende aus; plan druckt die Build-Schritte aus der PS2Recomp-README, android/README.md und den Vita-Skripten; package erstellt einen Spielerordner in console/dist/ (den Runner, seine Bibliotheken, einen leeren game/-Ordner, PLAYERS.md, ein Startskript, .recomp.json) und lehnt ab, wenn sich ein Disc-Image, PS2-ELF, IRX-Modul, neu kompilierte Runner-Quellen oder andere Spieldaten darin befinden; guard führt diese Prüfung auf jedem Ordner aus; recomp-json erstellt die optionale .recomp.json des Projekts. Verwende dies, wenn der Nutzer sagt „auf meinen Steam Deck“, „für Android bauen“, „auf meinem Handy spielen“, „auf meinem Fernseher“, „Vita-Build“, „Mac-Build“, „verpacken“, „Release-Ordner erstellen“, „ist es sicher, dies zu zippen“ oder nachdem die Portierung auf dem Rechner, auf dem sie gebaut wurde, läuft.

Was ist console-skill?

Diese Fähigkeit automatisiert die Erstellung portabler PS2Recomp-Builds für mehrere Plattformen: Windows, macOS, Linux, Steam Deck, Android und PS Vita. Sie prüft die installierten Werkzeuge (doctor), plant die Build-Schritte entsprechend der Originaldokumentation (plan), kompiliert den Runner und erstellt einen sauberen, spielbereiten Ordner (package). Dabei wird streng darauf geachtet, dass keine urheberrechtlich geschützten Spieldaten (Disc-Images, ELFs, IRX-Module) in das Paket gelangen – der Nutzer muss sein eigenes Spiel einlegen. Die Fähigkeit enthält außerdem einen Guard, der vor dem Verpacken oder Teilen sicherstellt, dass keine unerwünschten Dateien enthalten sind. Sie ist als Claude-Code-Skill konzipiert und wird über das Python-Skript targets.py gesteuert. Die Ausgabe ist ein Ziel-Plattform-Ordner mit dem Runner, benötigten Bibliotheken, einem leeren Spielordner und Anleitungen. Die Fähigkeit eignet sich für Entwickler, die ihre PS2Recomp-Portierung auf verschiedenen Geräten testen oder bereitstellen möchten, und stellt sicher, dass nur der eigene Code weitergegeben wird.

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

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

console-anywhere

Ein PS2Recomp-Port ist ein normales natives Programm (ps2EntryRunner), das aus dem neu kompilierten Spielcode plus der Laufzeit erstellt und mit raylib gerendert wird. Das gleiche CMake-Projekt baut es unter Windows, macOS (Apple Silicon via sse2neon), Linux und dem Steam Deck; android/ erstellt eine APK und vita/ eine vpk. Diese Fähigkeit prüft die Toolchain, gibt die richtigen Schritte für jedes Gerät aus und verpackt das Ergebnis, sodass der Spieler das Spiel von seiner eigenen Disc einlegt.

Ehrliche Grenzen: PS2Recomp sagt, es sei hauptsächlich mit MSVC getestet, daher erhalten Mac-, Linux-, Android- und Vita-Builds weniger Tests; die Vita ist viel langsamer als ein PC; Android hat noch keine Bildschirmsteuerung. Und der Runner wird aus dem neu kompilierten Code deines Spiels kompiliert, daher ist ein Paket für deine eigenen Geräte bestimmt: Es enthält niemals die Disc, aber es ist dennoch aus dem Spiel abgeleitet, also nichts zum Hochladen.

${CLAUDE_SKILL_DIR} unten ist der Ordner dieser Fähigkeit (in dem diese SKILL.md liegt).

python3 "${CLAUDE_SKILL_DIR}/targets.py" doctor                       # das eigene Betriebssystem dieses Rechners
python3 "${CLAUDE_SKILL_DIR}/targets.py" doctor --target android --target vita   # oder --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 "Mein Spiel" --serial SLUS-20312 \
        --out console/dist/mein-spiel-linux
python3 "${CLAUDE_SKILL_DIR}/targets.py" guard console/dist/mein-spiel-linux   # bevor du etwas zippst oder verschiebst
python3 "${CLAUDE_SKILL_DIR}/targets.py" recomp-json --game "Mein Spiel" --serial SLUS-20312 --status playable

Ziele: windows, macos, linux, steamdeck, android, vita und web (nur plan und doctor: eine separate Toolchain). plan akzeptiert --repo (dein PS2Recomp-Checkout) und --build-dir. package akzeptiert --lib DATEI (zusätzliche Bibliotheken), --allow DATEI, --replace, --status, --json. Exit-Codes: 0 OK, 1 etwas fehlt oder wurde abgelehnt, 2 falsche Eingabe.

Was es liest und schreibt

Dateiwas
dein Build-Ausgabeps2EntryRunner (+ .dll / .so / .dylib daneben), app-release.apk oder ps2EntryRunner.vpk
console/dist/<name>/der Spieler-Ordner: Runner, Bibliotheken, game/ (leer), PLAYERS.md, play.bat / play.command / play.sh / install-android.sh, .recomp.json, .console-dist.json
templates/PLAYERS.mddie Vorlage für Spieleranleitungen
.recomp.jsonoptionale Projektbeschreibung, gelesen von recomp lists (PS2Recomp selbst ignoriert sie)
console/STATE.mdlese den Build-Ordner und den Checkout-Pfad daraus; protokolliere, was gebaut wurde

Methode

  1. Frage, wo sie spielen wollen und auf was: einem PC, einem Mac, einem Steam Deck, einem Android-Handy, -Tablet oder -TV-Box, einer Homebrew-Vita. „Auf dem Fernseher“ bedeutet eine Android-TV-Box mit Bluetooth-Controller oder ein PC oder Deck, der per Controller an den Fernseher angeschlossen ist.
  2. Der Port muss hier bereits laufen. Baue ihn und teste ihn mit /console-tester auf dem Rechner, auf dem du entwickelst. Ein Absturz auf dem Desktop wird auf einem Handy nicht besser.
  3. Doctor. targets.py doctor --target <z>. Installiere, was FEHLT, mit dem angezeigten Befehl, dann führe doctor erneut aus.
  4. Plan. targets.py plan --target <z> --elf-name <die ELF der Disc>. Folge den Schritten im Checkout des Benutzers (dem, der seinen neu kompilierten Code enthält). Details pro Ziel und Quelle jeder Tatsache: reference/targets.md.
  5. Baue mit den Befehlen des Plans. Nur inkrementell; niemals einen Build-Ordner bereinigen, niemals CLEAN=1 für die Vita. Ein separater Release-Ordner (out/release) hält den täglichen Build intakt.
  6. Package. targets.py package --runner <gebaute Datei> --target <z> --out console/dist/<name>. Füge --elf-name hinzu (sonst liest das Startskript BOOT2 aus der SYSTEM.CNF des Spielers) und --game/--serial für .recomp.json.
  7. Lies das Urteil des Guards. Eine Ablehnung listet jede Datei und den Grund auf. Behebe die Ursache (falsches --lib, eine Disc-Datei neben dem Runner). Füge niemals eine Allow-Zeile für ein Disc-Image, eine PS2-ELF, ein IRX, SYSTEM.CNF oder Runner-Quellen hinzu: Die Allow-Datei ist nur für einen Fehlalarm, der wirklich eine eigene Datei des Benutzers ist, mit dem Grund daneben. Details: reference/guard.md.
  8. Installiere auf dem Gerät gemäß PLAYERS.md, dann legt der Spieler seine eigene Disc in game/ ein. Teste es dort und protokolliere das Ergebnis in console/STATE.md.

Pro Ziel in einer Zeile

ZielRunnerWie die ELF gefunden wirdAnmerkungen
Windowsps2EntryRunner.exe + FFmpeg-DLLsplay.bat übergibt game\<ELF>MSVC, der am meisten getestete Pfad
macOSps2EntryRunnerplay.command übergibt game/<ELF>arm64-Builds via sse2neon; benötigt Homebrew-FFmpeg, sofern nicht ohne gebaut
Linuxps2EntryRunnerplay.shraylib benötigt X11- und GL-Header zum Bauen
Steam Deckder Linux-Buildplay.sh, zu Steam als Nicht-Steam-Spiel hinzugefügtoder der Windows-Build unter Proton (hier ungetestet)
Androidapp-release.apkeingebacken mit -Pps2xBootElf=...Dateien gehen mit adb push nach /storage/emulated/0/Android/data/com.ps2x.runner/files/; Controller koppeln
PS Vitaps2EntryRunner.vpkeingebacken durch ./vita/build.sh <ux0:data/... pfad>./vita/setup.sh einmalig; mit VitaShell installieren; langsam
web(kein PS2Recomp-Ziel)snuri00/ps2-web-recomp ist ein anderer Recompiler: ein zweiter Port derselben Disc, experimentell

Leitplanken

  • Bring dein eigenes Spiel mit. Jeder Spieler stellt das Spiel von einer Disc bereit, die er besitzt und selbst ausgelesen hat. Lade niemals ISOs, ELFs oder BIOS-Dateien herunter, hilf niemals, sie zu finden, frage niemals danach. Kein BIOS nötig.
  • Nichts aus dem Spiel wird veröffentlicht. package lehnt Disc-Images (ISO, BIN, IMG, MDF, NRG, CHD, CSO und ISO-9660-Inhalte unter beliebigem Namen), PS2-ELFs und IRX-Module (per Magic und Maschine), disc-typische Namen wie SLUS_203.12, SYSTEM.CNF, neu kompilierte runner/-Quellen, alles in game/ sowie jede Datei über 512 MB ab. Der Runner selbst wird aus dem neu kompilierten Spielcode erstellt: Das Paket ist für die eigenen Geräte des Benutzers bestimmt, nicht zum Hochladen. Teile Patches, Overrides und originale Assets.
  • Nicht mit Sony verbunden. PlayStation ist eine Marke von Sony Interactive Entertainment. PS-Vita-Homebrew, Steam, Android und die anderen Plattformen gehören ihren Eigentümern.
  • Zerstöre niemals die Dateien des Benutzers. --replace ersetzt nur einen Ordner, den dieses Tool erstellt hat, und lehnt ab, während game/ irgendetwas enthält (die Disc des Spielers, Spielstände in mc0/).

Übergabe an

  • /console-tester, um den Build auf diesem Rechner vor und nach dem Verpacken auszuführen.
  • /console-controller für die Steuerung des Geräts (xbox-Layout auf dem Steam Deck, Touch-Zonen oder ein Bluetooth-Controller auf Android).
  • /console-saves, um Spielstände zwischen Geräten zu verschieben (mc0/ liegt neben der ELF des Spiels).

Verwandte Skills