Skip to content

The config.ini File

config.ini Options

Look below to find a thorough description of all options and sections available in the /home/<USER>/.skyscraper/config.ini configuration file. These options will then be applied whenever running Skyscraper with the Skyscraper command.

Please take note that almost all of these options are set at a useful default as documented here (and can therefore be left out) and should only be set if your use case requires it.

Warning

Some users seem to have a habbit of editing the /home/<USER>/skysource/config.ini file. This is not the correct file! Please read the first paragraph. :)

Options can be set on four levels; either [main], [<PLATFORM>], [<FRONTEND>] or [<SCRAPER>].

Settings in the [main] section will always be set regardless of selected platform, frontend and module.

<PLATFORM> can be any of the supported platforms (check list with --help under the -p option), in which case the settings will only be applied while scraping that particular platform.

<FRONTEND> can be any of the supported frontends (check list with --help under the -f option), in which case the settings will only be applied while scraping for that particular frontend.

<SCRAPER> can be any of the supported scraping modules (check list with --help under the -s option), in which case the settings will only be applied while scraping with that particular scraping module.

Each section can have overlapping parameters. In case where a certain option exists in several sections they are prioritized as scraping module first, then frontend, then platform and lastly main. Any commandline option which relates to an configuration setting in config.ini has highest precedence, regardless of the other four levels respective sections.

You can find an example config file at /home/<USER>/.skyscraper/config.ini.example. This file contains all available options. Just copy the file to config.ini and uncomment and edit the ones you wish to use by removing the # or ; in front of the variables. Remember to also uncomment the section the option relates to such as [main] or [amiga].

Note

You can set a custom configuration file with the -c <FILENAME> command line option. Read more about all available command line options here.

Example config.ini:

[main]
inputFolder="/path/to/your/roms"
cacheFolder="/path/to/your/desired/db/cache/base/folder"
gameListBackup="true"
videos="true"
unattend="true"
verbosity="1"
lang="ja"
region="jp"
cacheMarquees="false"

[amiga]
inputFolder="/specific/path/just/for/amiga/roms"
cacheFolder="/specific/path/just/for/amiga/cache"
minMatch="50"
maxLength="200"

[pegasus]
artworkXml="artwork-pegasus.xml"
maxLength="10000"

[screenscraper]
userCreds="USER:PASSWORD"

Index of Options with Applicable Sections

This is an alphabetical index of all configuration options including the sections they may be applied to.

Parameter [main] [<PLATFORM>] [<FRONTEND>] [<SCRAPER>]
addExtensions Y Y
addFolders Y
artworkXml Y Y Y
brackets Y Y Y
cacheCovers Y Y Y
cacheFolder Y Y
cacheMarquees Y Y Y
cacheRefresh Y Y
cacheResize Y Y Y
cacheScreenshots Y Y Y
cacheTextures Y Y Y
cacheWheels Y Y Y
cropBlack Y Y Y
emulator Y Y Y
endAt Y Y
excludeFrom Y Y
excludePattern Y Y Y
extensions Y
forceFilename Y Y Y
frontend Y
gameListBackup Y Y
gameListFolder Y Y Y
hints Y
importFolder Y Y
includeFrom Y Y
includePattern Y Y Y
inputFolder Y Y
interactive Y Y Y
jpgQuality Y Y Y
lang Y Y
langPrios Y Y
launch Y Y Y
maxFails Y
maxLength Y Y Y Y
mediaFolder Y Y Y
mediaFolderHidden Y
minMatch Y Y Y
nameTemplate Y Y
platform Y
pretend Y Y
region Y Y
regionPrios Y Y
relativePaths Y Y
scummIni Y
skipped Y Y Y
spaceCheck Y
startAt Y Y
subdirs Y Y
symlink Y Y Y
theInFront Y Y Y
threads Y Y Y
tidyDesc Y Y Y
unattend Y Y Y Y
unattendSkip Y Y Y Y
unpack Y Y
userCreds Y
verbosity Y Y Y
videoConvertCommand Y Y
videoConvertExtension Y Y
videoPreferNormalized Y
videos Y Y Y Y
videoSizeLimit Y Y Y

inputFolder

Sets the rom input folder. By default Skyscraper will look for roms in the /home/<USER>/RetroPie/roms/<PLATFORM> folder. If your roms are located in a non-default location, you can set the input path using this option.

Note

If this is set in the [main] section it will automatically add /<PLATFORM> to the end of the path. If you want better control consider adding it to a [<PLATFORM>] section instead where it will be used as is.

Default value: /home/pi/RetroPie/roms/<PLATFORM>
Allowed in sections: [main], [<PLATFORM>]


gameListFolder

Sets the game list export folder. By default Skyscraper exports the game list to the same directory as the rom input folder. This enables you to change that to a non-default location.

Note

If this is set in the [main] section it will automatically add /<PLATFORM> to the end of the path. If you want better control consider adding it to a [<PLATFORM>] section instead where it will be used as is.

Default value: /home/pi/RetroPie/roms/<PLATFORM>
Allowed in sections: [main], [<PLATFORM>], [<FRONTEND>]


gameListBackup

When set to true Skyscraper will create a backup of the existing game list each time it is run in game list generation mode (this mode is enabled by leaving out the -s MODULE option). The filename and path of the backup will be equal to the existing game list but have a timestamp appended to the name of the format -yyyyMMdd-hhmmss (eg. gamelist.xml-20200530-115900).

Default value: false
Allowed in sections: [main], [<FRONTEND>]


mediaFolder

Sets the artwork / media output folder. By default Skyscraper outputs the composited artwork files to the game list export folder extended with /media. This allows you to change that to a non-default location.

Read more about the artwork compositing here.

Note

If this is set in the [main] section it will automatically add /<PLATFORM> to the end of the path. If you want better control consider adding it to a [<PLAFORM>] section instead where it will be used as is.

Default value: /home/pi/RetroPie/roms/<PLATFORM>/media
Allowed in sections: [main], [<PLATFORM>], [<FRONTEND>]


mediaFolderHidden

By default Skyscraper uses the <PLATFORM>/media folder when generating EmulationStation media. Setting this option will change that to <PLATFORM>/.media. Notice the . which hides the folder, which can speed up the initial EmulationStation loading sequence when using slow storage such as network file systems.

This option is ignored if you set the media folder manually.

Note

Remember to remove your old <PLATFORM>/media folders if you enable this option.

Default value: false
Allowed in sections: Only for frontends [emulationstation] or [retrobat]


cacheFolder

Sets a non-default location for the storing and loading of cached game resources. This is what is referred to in the docs as the resource cache. By default this folder is set to /home/<USER>/.skyscraper/cache/<PLATFORM>. Don't change this unless you have a good reason to (for instance if you want your cache to reside on a USB drive).

Note

If this is set in the [main] section (recommended) it will automatically add /<PLATFORM> to the end of the path. If you want better control consider adding it to a [<PLAFORM>] section instead where it will be used as is.

Default value: /home/pi/.skyscraper/cache/<PLATFORM>
Allowed in sections: [main], [<PLATFORM>]


cacheResize

By default, to save space, Skyscraper resizes large pieces of artwork before adding them to the resource cache. Setting this option to "false" will disable this and save the artwork files with their original resolution. Beware that Skyscraper converts all artwork resources to lossless PNG's when saving them. High resolution images such as covers will take up a lot of space! So set this to "false" with caution.

Note

This is not related to the artwork compositing that happens when generating a game list. This is only related to how Skyscraper handles artwork when adding it to the resource cache while gathering data from the scraping modules.

To read about artwork compositing go here instead.

Default value: true
Allowed in sections: [main], [<PLATFORM>], [<SCRAPER>]


cacheRefresh

Skyscraper has a resource cache which works just like the browser cache in Firefox. If you scrape and gather resources for a platform with the same scraping module twice, it will grab the data from the cache instead of hammering the online servers again. This has the advantage in the case where you scrape a rom set twice, only the roms that weren't recognized the first time around will be fetched from the online servers. Everything else will be loaded from the cache.

You can force all data to be refetched from the servers by setting this option to cacheRefresh="true", effectively updating the cached data with new data from the source.

Warning

Only set this option to true if you know data has changed for several roms at the source. Otherwise you are hammering the servers for no reason.

Default value: false
Allowed in sections: [main], [<SCRAPER>]


nameTemplate

By default Skyscraper uses just the title as the game name when generating gamelists for any frontend. You can change this to suit your personal preference by setting this option. It works by replacing certain tokens in the name template with the corresponding data. The valid tokens are:

  • %t: The game title as returned by the scraping sources without bracket information (see %b and %B below)
  • %f: The game filename without extension and bracket information (see %b and %B below)
  • %b: The game () bracket information. This information often comes from the filename, but can also come from the scraping source title (eg. (USA) or (en,fr,de))
  • %B: The game [] bracket information. This information often comes from the filename, but can also come from the scraping source title (eg. [disk 1 of 2] or [AGA])
  • %a: The age restriction as returned by the scraping sources (eg. 16+)
  • %d: The game developer as returned by the scraping sources
  • %p: The game publisher as returned by the scraping sources
  • %r: The game rating as returned by the scraping sources (0.0 to 5.0)
  • %P: The number of players as returned by the scraping sources
  • %D: The game release date with format yyyy-mm-dd

This option also support template groups separated by ; within the template. The template parser will go over each group. If a group only has empty variables it will not be included in the final game name. So for a template such as %t;, %P player(s) where the %P is empty because no scraping source has provided the info, it will leave out the , %P player(s) part entirely resulting in the title Game Name. If this was not separated by ; the resulting game name would end up being Game Name, player(s).

Example(s)

nameTemplate="%t [%f];, %P player(s)"

Will result in: 1945k III [1945kiii], 2 player(s)

Default value: unset
Allowed in sections: [main], [<PLATFORM>]


tidyDesc

Cleans up some misformatting in scraped description:

  1. Heading and trailing spaces are stripped
  2. Multiple spaces between sentences are reduced to one space
  3. Bulletpoint beginning with * or ● are replaced with a dash
  4. Stylized ellipsis (… Unicode:&#8230;) is replaced with three dot characters
  5. Multiple exclamation marks are reduced to one, unless for game titles are explicitly typed like that, like 'Super Punch-Out!!'.

Quote

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind.'
-- Eric by Terry Pratchett

Default value: true
Allowed in sections: [main], [<PLATFORM>], [<SCRAPER>]


jpgQuality

Sets the default jpg quality when saving image resources to the cache. This will be ignored if --flags noresize is set. Default is 95.

All screenshots and any image resource that uses transparency will always be saved as PNG images. In those cases this setting will be ignored as PNG format is lossless.

Default value: 95
Allowed in sections: [main], [<PLATFORM>], [<SCRAPER>]


cacheCovers

Enables/disables the caching of the resource type cover when scraping with any module. If you never use covers in your artwork configuration, setting this to "false" can save you some space.

Default value: true
Allowed in sections: [main], [<PLATFORM>], [<SCRAPER>]


cacheTextures

Enables/disables the caching of the resource type cover when scraping with any module. If you never use covers in your artwork configuration, setting this to "false" can save you some space.

Default value: true
Allowed in sections: [main], [<PLATFORM>], [<SCRAPER>]


cacheScreenshots

Enables/disables the caching of the resource type screenshot when scraping with any module. If you never use screenshots in your artwork configuration, setting this to "false" can save you some space.

Default value: true
Allowed in sections: [main], [<PLATFORM>], [<SCRAPER>]


cropBlack

Enables/disables cropping away the black borders around the screenshot resources when compositing the final frontend gamelist artwork.

Default value: true
Allowed in sections: [main], [<PLATFORM>], [<FRONTEND>]


cacheWheels

Enables/disables the caching of the resource type wheel when scraping with any module. If you never use wheels in your artwork configuration, setting this to "false" can save you some space.

Default value: true
Allowed in sections: [main], [<PLATFORM>], [<SCRAPER>]


cacheMarquees

Enables/disables the caching of the resource type marquee when scraping with any module. If you never use marquees in your artwork configuration, setting this to "false" can save you some space.

Default value: true
Allowed in sections: [main], [<PLATFORM>], [<SCRAPER>]


importFolder

Sets a non-default folder when scraping using the -s import module. By default this is set to /home/<USER>/.skyscraper/import and will also look for a /<PLATFORM> inside of the chosen folder. Read more about the -s import module here.

Default value: /home/pi/.skyscraper/import/<PLATFORM>
Allowed in sections: [main], [<PLATFORM>]


unpack

Some scraping modules use file checksums to identify the game in their databases. If you've compressed your roms to zip or 7z files yourself, this can pose a problem in getting a good result. You can then try setting this option to "true". Doing so will extract the rom and do the file checksum on the rom itself instead of the compressed file.

Info

Only enable this option if you are having problems getting the roms identified from the compressed files. It slows down the scraping process significantly and should therefore be avoided if possible.

Default value: false
Allowed in sections: [main], [<PLATFORM>]


frontend

Sets the frontend you wish to export a game list for. By default Skyscraper will export an EmulationStation game list, but other frontends are supported as well.

If exporting for the attractmode frontend, please also take note of the required emulator="" option that goes along with using the attractmode frontend.

If exporting for the pegasus frontend, please also take note of the optional launch="" option that allows you to set the launch parameter used by Pegasus.

Use as value for the frontend option the frontend name in all lowercase and with alphabetical characters only: emulationstation, esde, pegasus, retrobat, attractmode, aso. Check all supported frontends with '--help' and read a more about the details concerning each of them here.

Default value: emulationstation
Allowed in sections: [main]


emulator

This option is only applicable when also setting the frontend="attractmode" option. It sets the emulator to be used when generating the attractmode game list. On RetroPie the emulator name is mostly the same as the platform.

Default value: unset
Allowed in sections: [main], [<PLATFORM>], [<FRONTEND>]


launch

This option is only applicable when also setting the frontend="pegasus" option. It sets the launch command to be used when generating the pegasus game list. This is optional. It defaults to the RetroPie launch options which works on RetroPie.

Default value: unset
Allowed in sections: [main], [<PLATFORM>], [<FRONTEND>]


videos

By default Skyscraper doesn't scrape and cache video resources because of the significant disk space required to save them. You can enable videos using this option.

Default value: false
Allowed in sections: [main], [<PLATFORM>], [<FRONTEND>], [<SCRAPER>]


videoSizeLimit

If video scraping is enabled you can set the maximum allowed video file size with this variable. The size is in Megabytes (1.000.000 bytes). If this size is exceeded the video file won't be saved to the cache.

Default value: 100
Allowed in sections: [main], [<PLATFORM>], [<SCRAPER>]


videoConvertCommand

Some scraping modules deliver videos that use a codec or color format that some frontends don't support. In those cases it can be useful to convert the videos before saving them in the Skyscraper resource cache.

This setting allows you to set a command that will be run on each video after it has been downloaded from the selected scraping module. See the examples below for inspiration.

The %i and %o are required and will be replaced with the internally used video input (original) and output (converted) filenames as needed by Skyscraper.

If your command / script always converts to a videofile with a specific extension, you also need to set videoConvertExtension.

Tip

Set --verbosity 3 to route all output from your command / script to the terminal while Skyscraper runs. This will help you ensure everything is working as intended.

The first example below makes use of the excellent ffmpeg tool. If you want to use this specific example you need to install ffmpeg first. On RetroPie and other Debian-derived distros you can install it with sudo apt install ffmpeg. If you want to use a script for the video conversion and run it directly without path, you need to place it in the /home/<USER>/.skyscraper folder.

Tip

If you create a script that includes checks on the input video and it sometimes decides not to convert them, you should simply let the script copy the video with cp %i %o. The %i is a temporary file created internally by Skyscraper. And the %o file is the file used by the cache. Both files should exist after a successful conversion. Skyscraper removes the temporary %i file automatically.

Example(s)

videoConvertCommand="ffmpeg -i %i -y -pix_fmt yuv420p -t 00:00:10 -c:v libx264 -crf 23 -c:a aac -b:a 64k -vf scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2,setsar=1 %o"
videoConvertCommand="videoconvert.sh %i %o"

Default value: unset
Allowed in sections: [main], [<SCRAPER>]


videoConvertExtension

If you want to force an extension for the converted video file created by the videoConvertCommand command, you need to set this option. The converted file will then automatically have this extension no matter what the input file extension is.

For instance, if a scraping module delivers the file videofile.avi and you always want the converted files to be mp4 files, you simply set this option to videoConvertExtension="mp4".

It is up to you to make sure that the command you provide in videoConvertCommand actually converts to a video file using the selected extension. For some conversion tools such as ffmpeg this is handled simply by setting the extension of the output file. But for other tools you might have to provide additional options to the videoConvertCommand above.

Default value: unset
Allowed in sections: [main], [<SCRAPER>]


videoPreferNormalized

This option is only applicable when scraping with the -s screenscraper module. ScreenScraper offers two versions of some of their videos. A normalized version, which adheres to some defined standard they made, and the originals. If you prefer converting or standardizing the videos yourself (see videoConvertCommand above) then you can set this to false. If you do so Skyscraper will fetch the original videos from ScreenScraper instead of the normalized ones.

Be aware that the original videos often vary a lot in codec, color format and size. So it is recommended to convert them afterwards using the videoConvertCommand.

Example(s)

[screenscraper]
videoPreferNormalized="false"

Default value: true
Allowed in sections: Only for scraper [screenscraper]


Enabling this option is only relevant while also setting the videos="true" option. It basically means that Skyscraper will create a link to the cached videos instead of copying them when generating the game list media files. This will save a lot of space, but has the caveat that if you somehow remove the videos from the cache, the links will be broken and the videos then won't show anymore.

Default value: false
Allowed in sections: [main], [<PLATFORM>], [<FRONTEND>]


theInFront

Game titles are returned from the scraping sources sometimes as 'The Game' and other times as 'Game, The'. Enabling this option will force Skyscraper to always try and move 'The' to the front of the titles. If it is not enabled, Skyscraper will always try and move it to the end of the title, regardless of how it was originally returned by the scraping sources.

Info

When generating gamelists Skyscraper will still sort the games as if the game titles didn't have 'The' at the beginning.

Default value: false
Allowed in sections: [main], [<PLATFORM>], [<FRONTEND>]


brackets

Disable this option to remove any bracket notes when generating the game list. It will disable notes such as (Europe) and [AGA] completely. This option is only relevant when generating the game list. It makes no difference when gathering data into the resource cache. Default (true) will keep brackets in the game title.

Default value: true
Allowed in sections: [main], [<PLATFORM>], [<FRONTEND>]


maxLength

Sets the maximum length of returned game descriptions. This is a convenience option if you feel like game descriptions are too long. By default it is set to 2500.

Default value: 2500
Allowed in sections: [main], [<PLATFORM>], [<FRONTEND>], [<SCRAPER>]


minMatch

Some scraping modules are based on a file name or title based search. This option sets the minimum percentage any returned results need to match with in order for it to be accepted. For instance, the game Wonderboy in Monsterland might return the title Wonder Boy in Monster Land which is clearly a match. But it's not a 100% match. So it needs to be set relatively high, while still ignoring bad matches. By default it is set to 65 which has been tested to be a good middle-ground.

Default value: 65
Allowed in sections: [main], [<PLATFORM>], [<SCRAPER>]


threads

Sets the desired number of parallel threads to be run when scraping. Some modules have maximum allowed threads. If you set this higher than the allowed value, it will be auto-adjusted. By default it is set to 4.

Default value: 4
Allowed in sections: [main], [<PLATFORM>], [<SCRAPER>]


pretend

This option is only relevant when generating a game list (by leaving out the -s <SCRAPER> command line option). It disables the game list generator and artwork compositor and only outputs the results of the potential game list generation to the terminal. It is mostly useful when used as a command line flag with --flags pretend. It makes little sense to set it here, but you can if you want to.

Default value: false
Allowed in sections: [main], [<PLATFORM>]


unattend

When generating a game list Skyscraper will check if it already exists and ask if you want to overwrite it. And it will also ask if you wish to skip existing game list entries. By enabling this option Skyscraper will always overwrite an existing game list and never skip existing entries, in other words: the game list will be newly created. This is useful when scripting Skyscraper to avoid the need for user input.

Default value: false
Allowed in sections: [main], [<PLATFORM>], [<FRONTEND>], [<SCRAPER>]


unattendSkip

When generating a game list Skyscraper will check if it already exists and ask if you want to overwrite it. And it will also ask if you wish to skip existing game list entries. By enabling this option Skyscraper will always overwrite an existing game list and always skip existing entries, in other words: game list entries are added if not present in the gamelist, existing entries are left untouched. This is useful when scripting Skyscraper to avoid the need for user input.

Default value: false
Allowed in sections: [main], [<PLATFORM>], [<FRONTEND>], [<SCRAPER>]


interactive

When gathering data from any of the scraping modules many potential entries will be returned. Normally Skyscraper chooses the best entry for you. But should you wish to choose the best entry yourself, you can enable this option. Skyscraper will then list the returned entries and let you choose which one is the best one. It is recommended to use the command line flag --flags interactive instead in the (hopefully) rare cases where this mode is necessary.

Default value: false
Allowed in sections: [main], [<PLATFORM>], [<SCRAPER>]


forceFilename

Enable this option to force Skyscraper to use the file name (excluding extension) instead of the cached scraping module titles when generating a game list.

Tip

If you set forceFilename="true" and your filenames contain bracket notes such as (this) or [that] at the end, these will be combined with whatever bracket notes are at the end of the titles returned from the sources. This can cause some confusion. For instance, if you have the filename Gran Turismo 2 (USA) (Arcade Mode) and the cached title is Gran Turismo 2 (Arcade Mode), then the gamelist name will become Gran Turismo 2 (Arcade Mode)(USA)(Arcade Mode). You can disable them altogether with the brackets="no" option.

Default value: false
Allowed in sections: [main], [<PLATFORM>], [<FRONTEND>]


verbosity

Sets how verbose Skyscraper should be when running. Default level is 0. The higher the value, the more info Skyscraper will output to the terminal while running. Anything higher than 3 does not further increase the verbosity of the output.

Default value: 0
Allowed in sections: [main], [<PLATFORM>], [<FRONTEND>]


skipped

Only has an effect if a rom has no resources attached to it in the cache. If false (default) the rom will be left out when generating a game list file. However, it will still show up in the frontend (at least it does for EmulationStation), but it won't exist in the game list file. If unsure leave it to false, unless you need generic gamelist entries, consisting of <path/> and <name/>, for some reason. In other words: If skipped is set to false and no entry for a rom is found in the cache nothing will be added to the gamelist for that rom. If skipped is true and no entry for a rom is found in the cache a generic entry will be added to the gamelist file for that rom. If a rom has data in Skyscraper's cache then this flag has no effect.

Note

When skipped is set true, any generic added game entry is not eligible for formatting with a nameTemplate.

Default value: false
Allowed in sections: [main], [<PLATFORM>], [<FRONTEND>]


maxFails

Not all scraping modules support all platforms. This means that you can potentially start a scraping run with a module and a platform that is incompatible. This will hammer the servers for potentially hundreds of roms but provide 0 results for any of them. To avoid this Skyscraper has a builtin limit for initially allowed failed rom lookups. If this is reached it will quit. Setting this option allows you to set this limit yourself, but not above a maximum of 200. The default limit is 42. Don't change this unless you have a very good reason to do so.

Default value: 42
Allowed in sections: [main]


region

Adds the specified region to the top of the existing default internal region priority list. Only one region is supported with this configuration. To overwrite the internal default region priority list entirely check here. Read more about how regions are handled in general here.

Info

Setting the region will overwrite any region auto-detected from the file name.

Default value: unset
Allowed in sections: [main], [<PLATFORM>]

Example(s)

[main]
region="de"

or

[snes]
region="de"

regionPrios

Completely overwrites the internal region priority list inside of Skyscraper. Multiple regions can be configured here separated by commas. Read more about how regions are handled in general here.

Info

Any region auto-detected from the file name will still be added to the top of this list.

Default value: eu, us, ss, uk, wor, jp, au, ame, de, cus, cn, kr, asi, br, sp, fr, gr, it, no, dk, nz, nl, pl, ru, se, tw, ca
Allowed in sections: [main], [<PLATFORM>]

Example(s)

[main]
regionPrios="de,us,jp"

or

[megadrive]
regionPrios="de,us,jp"

lang

Adds the specified language to the top of the existing default internal language priority list. Only one language is supported with this configuration. Read more about how languages are handles in general here.

Default value: unset
Allowed in sections: [main], [<PLATFORM>]

Example(s)

[main]
lang="it"

or

[snes]
lang="it"

langPrios

Completely overwrites the internal language priority list inside of Skyscraper. Multiple languages can be configured here separated by commas. Read more about how languages are handles in general here.

Default value: en, de, fr, es
Allowed in sections: [main], [<PLATFORM>]

Example(s)

[main]
langPrios="it,en"

or

[megadrive]
langPrios="it,en"

artworkXml

Sets a non-default xml file to use when setting up the artwork compositing. By default Skyscraper uses the file /home/<USER>/.skyscraper/artwork.xml. Read more about the artwork.xml format and customization options here.

Tip

It can be very useful to set this in any platform section or frontend section where you want a specific artwork setup / look.

Default value: artwork.xml
Allowed in sections: [main], [<PLATFORM>], [<FRONTEND>]


relativePaths

Enabling this forces the rom and any media paths inside the game list to be relative to the rom input folder. Currently only relevant when generating an EmulationStation, a Retrobat or a Pegasus game list (see also frontend option).

Info

This setting has no effect when the frontend is set to attractmode.

Default value: false
Allowed in sections: [main], [<PLATFORM>]


extensions

Completely overwrites the rom extensions Skyscraper allows for the chosen platform. Use a space between each extension (e.g., *.abc *.def).

Info

If you feel like you are using a file extension that ought to be supported by default, please report it so it can be added in a later version of Skyscraper.

Default value: unset. If set it ignores "formats": [ ... ] in peas.json file
Allowed in sections: [<PLATFORM>]


addExtensions

Adds the rom extensions to the ones that are already supported by the platform, use a space between each extension.

Info

If you feel like you are using a file extension that ought to be supported by default, please report it so it can be added in a later version of Skyscraper.

Default value: *.zip *.7z *.ml (if and only if extensions parameter is unset)
Allowed in sections: [main], [<PLATFORM>]


hints

If set to false it disables the "Did you know" hints when running Skyscraper.

Default value: true
Allowed in sections: [main]


subdirs

By default Skyscraper will include roms located in subfolders. By disabling this option Skyscraper will only scrape the roms located directly in the input folder. See inputFolder="<PATH>" further up to read more about the rom input folder.

Default value: true
Allowed in sections: [main], [<PLATFORM>]


startAt

If you only ever wish to gather data for a subset of your roms from the scraping modules you can use this option to set the starting rom. It will then scrape alphabetically from that rom and onwards.

Tip

Please consider using the command line option --startat <FILENAME> instead. It makes little sense to set this permanently in your configuration unless you always want it to only ever scrape from a certain file and onward. But you can if you absolutely want to.

Default value: unset
Allowed in sections: [<PLATFORM>], [<FRONTEND>]


endAt

If you only ever wish to gather data for a subset of your roms from the scraping modules you can use this option to set the rom to end at. It will then scrape alphabetically until it reaches this rom, then stop.

Tip

Please consider using the command line option --endat <FILENAME> instead. It makes little sense to set this permanently in your configuration unless you always want it to only ever scrape up until it reaches a certain file. But you can if you absolutely want to.

Default value: unset
Allowed in sections: [<PLATFORM>], [<FRONTEND>]


includePattern

Per platform Skyscraper have default file extensions that it will accept. This option allows you to only include certain files within that scope. The pattern is a simple asterisk type pattern. In cases where you need to match for a comma you need to escape it as \,.

Note

You might also want to check out the file extension options and the the 'includeFrom' option.

Default value: unset
Allowed in sections: [main], [<PLATFORM>], [<FRONTEND>]


excludePattern

Per platform Skyscraper have default file extensions that it will accept. This option allows you to exclude certain files within that scope. The pattern is a simple asterisk type pattern. In cases where you need to match for a comma you need to escape it as \,.

Note

You might also want to check out the file extension options and the 'excludeFrom' option.

Tip

If you create a file named .skyscraperignore within any subfolder of the input dir, all files from that directory will be ignored by Skyscraper. Additionally, if you put an empty file .skyscraperignoretree in a folder, all files in that directory and all subdirectories are ignored.

Default value: unset
Allowed in sections: [main], [<PLATFORM>], [<FRONTEND>]


includeFrom

Tells Skyscraper to only include the files listed in FILENAME. One filename per line (with FULL path, eg. '/home/pi/RetroPie/roms/snes/subdir/somefile.zip').

This file can be generated with the '--cache report:missing' option or made manually.

Note

You might also want to check out the 'includePattern' option.

Default value: unset
Allowed in sections: [main], [<PLATFORM>]


excludeFrom

Tells Skyscraper to exclude the files listed in FILENAME. One filename per line (with FULL path, eg. '/home/pi/RetroPie/roms/snes/subdir/somefile.zip').

This file can be generated with the '--cache report:missing' option or made manually.

Note

You might also want to check out the 'excludePattern' option.

Tip

If you create a file named '.skyscraperignore' within any subfolder of the input dir, all files from that directory will be ignored by Skyscraper. Additionally, if you put an empty file .skyscraperignoretree in a folder, all files in that directory and all subdirectories are ignored.

Default value: unset
Allowed in sections: [main], [<PLATFORM>]


userCreds

Some scraping modules require a key or user:password to work. You can create a [<SCRAPER>] section and add a userCreds="user:pass" or userCreds="key" line beneath it. Doing this will always use these credentials when scraping from the module in question. Check the scraping module overview to see the specific requirements for each module here.

Example(s)

[screenscraper]
userCreds="user:password"

or

[igdb]
userCreds="key"

Default value: unset
Allowed in sections: [<SCRAPER>]


spaceCheck

Skyscraper will continuously check if you are running low on disk space. If you go below 200 MB in either the game list export folder or the resource cache folder, it will quit to make sure your system doesn't become unstable. Some types of file systems provide a faulty result to Skyscraper when it comes to these checks and thus it can be necessary to disable it altogether. You can use this option to do just that.

Default value: true
Allowed in sections: [main]


scummIni

Allows you to set a non-default path of the scummvm.ini file. This file is used whenever scraping the scummvm platform. It converts the shortname such as monkey2 to the more search-friendly name Monkey Island 2: LeChuck's Revenge whenever using one of the file name search based scraping modules.

Default value: If ~/.scummvmrc has precedence over /opt/retropie/configs/scummvm/scummvm.ini
Allowed in sections: [main]


platform

Allows you to set a platform, which is applied when no command line switch -p is given.

Default value: unset
Allowed in sections: [main]


addFolders

If you arrange your ROMs in directories below a platform directory, this flag comes into play. The gamelist specification allows you to define also metadata for directories. This metadata is held in <folder/> elements in the gamelist XML file. In minimum a <folder/> has a <path/> and a <name/> inner element. If no <name/> is given, the last subdirectory of the path element is taken as name. Which additionally subelements are interpreted and rendered is dependent on the frontend, for example EmulationStation for RetroPie supports these elements to be used inside a folder element.

If this flag set to true, Skyscraper will create generic folder elements in the gamelist file, containing path and name for each directory found. If false, no folder elements will be created for the directories with ROM(s) (example).

In both cases the existing <folder/> elements of a gamelist will be preserved. However, folder data is not cached by Skyscraper, which means if you delete your gamelist.xml Skyscraper can not restore the edited folder elements.

EmulationStation 2.11.2rp and earlier

EmulationStation 2.11.2 (RetroPie) and earlier have a bug that adds a <folder/> element everytime you edit and save metadata for the same folder within EmulationStation. The last edit will be the latest folder element in the gamelist file. Skyscraper in contrast expects in maximum one <folder/> element per each path. If you regenerate a gamelist with Skyscraper, you will lose the latest edit of the folder metadata. This bug is described here and fixed in the next release of EmulationStation respective is fixed already in the EmulationStation-dev version.

Default value: false
Allowed in sections: Only for frontends [emulationstation], [esde] or [retrobat]