batocera-ops

Solid

Use when connecting to or operating a Batocera arcade/retro-gaming cabinet over SSH: establishing the connection, understanding its read-only rootfs and /userdata layout, finding config/log/ROM paths, applying changes safely, verifying a display/config change end-to-end without a controller, or diagnosing why a setting reverts to its default on every launch (configgen). Foundation for the other batocera-* skills (roms, display, tuning, maintenance). Covers sshpass, batocera.conf, EmulationStation, the ES HTTP API, and batocera-screenshot. Not for game recommendations.

AI & Automation 4 stars 0 forks Updated 2 days ago MIT

Install

View on GitHub

Quality Score: 80/100

Stars 20%
23
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Batocera Ops Foundation for operating a Batocera cabinet with a coding agent over SSH. Read this first; the sibling skills (`batocera-roms`, `batocera-display`, `batocera-tuning`, `batocera-maintenance`) assume the connection pattern, path model, and safety doctrine defined here. ## Overview Batocera is an immutable-rootfs Linux distro for retro gaming. The system partition is **read-only**; everything you can change lives under `/userdata`. EmulationStation (ES) is the frontend; RetroArch and standalone emulators do the playing. Configuration is layered: a single `batocera.conf` holds most settings, but launch-time code (configgen) regenerates per-emulator configs on every launch, so hand-edits to the generated files get stomped. Getting these two facts right prevents most wasted sessions. ## Connecting Batocera defaults to password SSH (no key from a fresh client). Parameterize the host so nothing is hardcoded: ```bash export BATOCERA_HOST=192.168.1.50 # your cabinet's LAN IP ``` Batocera's **documented default credentials are `root` / `linux`.** If yours still uses them, change the password (ES menu → System Settings → Security, or `passwd` over SSH) — a machine you SSH into as root should not ship with a published password. The examples below read the password from an env var so it never lands in shell history or a committed file: ```bash export BATOCERA_PASS='linux' # replace with your actual password # convenience wrapper used throughout these skills SSHB...

Details

Author
t3chnaztea
Repository
t3chnaztea/batocera-skills
Created
3 weeks ago
Last Updated
2 days ago
Language
Python
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Solid

batocera-maintenance

Use when keeping a Batocera cabinet healthy over time: running scripts or scheduled jobs at boot and on an interval without cron, the custom_service boot-service pattern (which replaced custom.sh in v43), backing up /userdata to another machine over SSH, and upgrading between major Batocera versions (v42 to v43 and similar) including the ROM-directory renames and post-upgrade checklist. Covers why there is no crond, the backup-before-upgrade doctrine, and catch-up scheduling. Not for performance tuning (batocera-tuning).

4 Updated 2 days ago
t3chnaztea
Data & Documents Solid

batocera-roms

Use when working with ROMs and gamelists on a Batocera cabinet: figuring out which directory a system's ROMs go in, why a game does not appear in the menu, which file formats and extensions a system accepts, curating a large library by hiding rather than deleting, editing gamelist.xml safely, cleaning up multi-disc games, or verifying dumps against No-Intro/Redump DATs. Covers extensionless-ROM-in-zip failures, the 3DO/Opera no-m3u trap, cave3rd, and the es_systems_custom.cfg landmine. Not for shaders/bezels (batocera-display), or ROM directories renamed by a Batocera version upgrade (batocera-maintenance).

4 Updated 2 days ago
t3chnaztea
Data & Documents Solid

batocera-yourskill

Use when [the specific situations, symptoms, and phrases that should trigger this skill]. Pack the words someone would actually type or think when they hit this problem. Describe ONLY when to use it, never summarize the workflow inside. Keep the whole frontmatter under 1024 characters. End by naming what this skill is NOT for, pointing at the sibling skill that covers it.

4 Updated 2 days ago
t3chnaztea