#!/bin/sh # Poke@home quick start. Generated 2026-09-15 21:11:54Z by the box. # Read this before running it: https://franksriracha.zip/start.sh # # What it does: clones https://github.com/HughMungis/poke-at-home into ./poke-at-home, # checks your Python and your ROM, and prints the command to start contributing. # It uses no sudo, installs nothing system-wide, and does not start donating on its own. set -eu say() { printf '%s\n' "$*"; } say "" say " Poke@home — setting up in $(pwd)/poke-at-home" say "" # ---- python ------------------------------------------------------------------------------- PY="" for c in python3 python; do if command -v "$c" >/dev/null 2>&1; then if "$c" -c 'import sys; raise SystemExit(0 if sys.version_info[:2] >= (3,9) else 1)' 2>/dev/null; then PY="$c"; break fi fi done if [ -z "$PY" ]; then say " Python 3.9+ is required and was not found. Install it and re-run." exit 1 fi say " python: $($PY -V 2>&1)" command -v git >/dev/null 2>&1 || { say " git is required and was not found."; exit 1; } # ---- code --------------------------------------------------------------------------------- if [ -d "poke-at-home/.git" ]; then say " updating the existing checkout..." git -C "poke-at-home" pull --ff-only else say " cloning https://github.com/HughMungis/poke-at-home ..." git clone --depth 1 "https://github.com/HughMungis/poke-at-home.git" "poke-at-home" fi cd "poke-at-home" # ---- the ROM, which we never supply ------------------------------------------------------- # ⚠️ Checked by HASH, not by presence. A truncated download or a different revision produces # scores that look completely ordinary and describe a different game. ROM="" for p in PokemonRed.gb repo/PokemonRed.gb; do [ -f "$p" ] && ROM="$p" && break done if [ -z "$ROM" ]; then say "" say " NEXT STEP — you need to supply a Pokemon Red ROM." say " None is included here and none ever will be; it is copyrighted. Dump your own" say " cartridge, then put the file at:" say " $(pwd)/PokemonRed.gb" say " It must be 1,048,576 bytes, SHA1 ea9bcae617fdf159b045185467ae58b2e4a48b9a" say "" say " Then re-run this command and it will finish the setup." exit 0 fi say " rom: $ROM" # ---- version, before anything else --------------------------------------------------------- say "" say " checking this client is current..." $PY contrib/worker.py --check || true say "" say " Setup done. To contribute one unit and see how it goes:" say "" say " cd poke-at-home && $PY contrib/worker.py eval --once" say "" say " That takes a single job, reports numbers, and stops. Nothing runs in the background," say " and nothing was registered on your behalf." say ""