ARCH R

Scraping

Download cover art, screenshots and metadata for your games

Scraping turns a list of filenames into a library: cover art, screenshots, a description, a release date and a rating for each game. EmulationStation does it on the device, no computer needed.


Which databases are available

Open EmulationStation's main menu and pick Scraper. The Scrape from list on this build has two entries:

DatabaseAccount neededCovers
IGDBClient ID and Client SecretMost console and computer systems
ArcadeDBNoneArcade, Neo Geo and LCD handheld games

EmulationStation also has code for ScreenScraper, TheGamesDB and HfsDB, but those three are compiled in only when the person building the image supplies their own API credentials. The published ArchR images are built without them, so they do not appear in the list. If you build ArchR yourself and export SCREENSCRAPER_DEV_LOGIN or GAMESDB_APIKEY before the build, they come back.


Setting up IGDB

IGDB uses Twitch credentials. Register an application at dev.twitch.tv/console/apps, which gives you a Client ID and a Client Secret. Both are free.

Connect the console to the network

ES → Network Settings → Enable WiFi, then fill in WiFi SSID and WiFi key.

Open the scraper

ES → Scraper. It has three tabs: Scrape, Options and Accounts.

Enter your credentials

On the Accounts tab, fill in Client ID and Client Secret under IGDB.

Choose what to download

On the Options tab, pick an Image source and a Box source. The choices change with the database: IGDB offers Screenshot, Box 2D and Fan Art, ArcadeDB also offers Title screenshot, Marquee and video.

Choose what to scrape

Back on the Scrape tab, set Games to scrape for and tick the systems under Systems included. Ignore recently scraped games defaults to the last 15 days, so re-running the scraper does not redo work.

Start

Press Scrape now. It runs in the background and you can keep browsing while it works.


Options worth knowing

  • Games to scrape for: All, Games missing any media, or Games missing all media. The middle one is the default and the one you want for a top-up run.
  • Overwrite names, Overwrite descriptions and Overwrite medias decide whether an existing value is replaced or kept. Turn overwrite off if you have edited titles by hand.
  • Preferred region appears only for databases that publish per-region data.
  • Included scrapers under Manual scrape controls which databases the per-game search screen offers. It is separate from Scrape from.

Where the files land

Media goes next to the ROMs, one folder per kind:

/storage/roms/<system>/images/       box art, screenshots, logos
/storage/roms/<system>/videos/       preview videos
/storage/roms/<system>/manuals/      manuals
/storage/roms/<system>/gamelist.xml  titles, descriptions, ratings, dates

Those folders are skipped when EmulationStation builds the game list, so they never show up as fake games.


Fixing one game by hand

Databases guess wrong, particularly with Japanese imports and hacks. Highlight the game, press X to open Game options, then Edit this game's metadata. Changes are written to that system's gamelist.xml.

If your console opens save states on X instead, someone has turned off Access game options with north button in User Interface Settings. With that switch off, game options move to a hold of A.


Editing gamelist.xml directly

It is plain XML, so bulk edits from a computer are easy over SSH or Samba. EmulationStation keeps the game list in memory and rewrites the file when it exits, so stop it first or your edits will be overwritten:

systemctl stop emustation
# edit /storage/roms/<system>/gamelist.xml
systemctl start emustation

Back up before a long run

A big scrape can leave half-filled metadata if it is interrupted. Copy the file first:

ssh root@archr.local
cd /storage/roms/snes
cp gamelist.xml gamelist.backup.xml

There is no command-line scraper

ArchR does not ship Skyscraper or any other standalone scraper, and the built-in one only runs inside EmulationStation. So you cannot stop EmulationStation and leave a scrape running overnight. If you want the screen off while it works, set a short screensaver timeout in UI Settings → Screensaver settings and leave the console on the charger.

Scraping is not one of the services ArchR pauses when a game starts, so avoid launching a game in the middle of a long run.

On this page