docs: Add Configuration File section and update navigation links

This commit is contained in:
zurdi
2025-05-29 15:06:08 +00:00
parent 2b6fcbb7ff
commit 4d4dae44aa
5 changed files with 113 additions and 4 deletions
@@ -0,0 +1,88 @@
Below is a breakdown of each section of the `config.yml` file and its purpose:
### `exclude`
This section lets you tell RomM which platforms, ROMs, or files to ignore during scanning.
- **platforms**
Exclude entire platforms (folders) from being scanned.
Example:
```yaml
platforms: ['ps', 'ngc', 'gba']
```
- **roms**
Fine-tune which ROMs or files are excluded.
- **single_file**
Applies to ROMs that are single files (not in subfolders).
- **extensions**: Exclude files by extension.
Example:
```yaml
extensions: ['xml', 'txt']
```
- **names**: Exclude files by name or pattern (supports Unix wildcards).
Example:
```yaml
names: ['info.txt', '._*', '*.nfo']
```
- **multi_file**
Applies to ROMs stored as folders (multi-disc, with DLC, etc.).
- **names**: Exclude entire folders by name.
Example:
```yaml
names: ['final fantasy VII', 'DLC']
```
- **parts**: Exclude specific files inside multi-file ROM folders.
- **names**: Exclude files by name or pattern.
Example:
```yaml
names: ['data.xml', '._*']
```
- **extensions**: Exclude files by extension.
Example:
```yaml
extensions: ['xml', 'txt']
```
---
### `system`
Customize how RomM interprets your folder and platform names.
- **platforms**
Map your custom folder names to RomM's recognized platform names.
Example:
```yaml
platforms: { gc: 'ngc', psx: 'ps' }
```
This treats a `gc` folder as GameCube (`ngc`) and `psx` as PlayStation (`ps`).
- **versions**
Associate a platform with its main version. This also tells RomM to fetch medatata from the main version source.
Example:
```yaml
versions: { naomi: 'arcade' }
```
---
### `filesystem`
Specify the folder name where your ROMs are located if it differs from the default. For example, if your `roms` folder it's named `my_roms` (`/home/user/library/my_roms`), set this accordingly.
Example:
```yaml
filesystem: { roms_folder: 'my_roms' }
```
---
!!! tip
You can find examples of full binded <a href="https://github.com/rommapp/romm/blob/release/examples/config.batocera-retrobat.yml" target="_blank" rel="noopener noreferrer">batocera</a> or <a href="https://github.com/rommapp/romm/blob/release/examples/config.es-de.example.yml" target="_blank" rel="noopener noreferrer">es-de</a> config files.
!!! warning
Only uncomment or add the lines you need. Any omitted or empty sections will use RomM's defaults.
For a full example, see the <a href="https://github.com/rommapp/romm/blob/release/examples/config.example.yml" target="_blank" rel="noopener noreferrer">config.example.yml</a> file.
+18 -1
View File
@@ -37,7 +37,7 @@ For multifile games (games stored as folders with multiple files or folders insi
- `prototype`
!!! tip
For folder naming conventions, review the [Platform Support](../../Platforms-and-Players/Supported-Platforms/) section. To override default system names in the folder structure (if your directories are named differently), see the [Configuration File](../../Configuration-File) section.
For folder naming conventions, review the [Platform Support](../../Platforms-and-Players/Supported-Platforms) section. To override default system names in the folder structure (if your directories are named differently), see the [Configuration File](../../Getting-Started/Configuration-File) section.
<table>
<tr>
@@ -149,3 +149,20 @@ For multifile games (games stored as folders with multiple files or folders insi
!!! note
RomM can be setup without a prior folder structure. If files are manually uploaded from the webUI, RomM will automatically create the folder **Structure A**
## Configuration file
RomM's behavior can be customized using a `config.yml` file or through the `Library Management` page in the `Settings` menu. You can grab the example <a href="https://github.com/rommapp/romm/blob/release/examples/config.example.yml" target="_blank" rel="noopener noreferrer">config.example.yml</a> file and adapt it to your library.
What is shown in the `Library Management` page is the content of the `config.yml`. For more details read the [configuration file](../../Getting-Started/Configuration-File) section.
## Naming Convention
### Tag Support
Games can be tagged with region, revision, or other tags by using parentheses in the file name. Additionally, you can set the region and language by adding a prefix: `(USA)`, `[reg-J]`, `(French)`, `[De]`.
- Revision tags must be prefixed with `rev` or `rev-` (e.g. `rev v1` or `rev-1`)
- Other tags will also be imported, for example: `tetris [1.0001](HACK)[!].gba`
Tags can be used to search for games in the search bar. For example, searching for `(USA)` will return all games with the USA tag.
+3 -2
View File
@@ -13,8 +13,7 @@ To access the IGDB API you'll need a Twitch account and a valid phone number for
Note the client ID and secret that appear on screen, and use them to set `IGDB_CLIENT_ID` and `IGDB_CLIENT_SECRET` in your environment variables.
| ![IGDB Creation](https://github.com/rommapp/romm/assets/3247106/7a93bf68-f6d9-46a5-ab72-719f2d5ec9d3) | ![IGDB Secret](https://github.com/rommapp/romm/assets/3247106/7a9dc056-52be-41c4-aec5-e2758aa520b5) |
| ----------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
![IGDB Creation](https://github.com/rommapp/romm/assets/3247106/7a93bf68-f6d9-46a5-ab72-719f2d5ec9d3) ![IGDB Secret](https://github.com/rommapp/romm/assets/3247106/7a9dc056-52be-41c4-aec5-e2758aa520b5)
## ScreenScraper
@@ -24,6 +23,8 @@ To access the ScreenScraper API, create a [ScreenScraper](https://www.screenscra
To access steamGridDB API, you need to login into their [website](https://www.steamgriddb.com/) with a [steam account](https://store.steampowered.com/join). Once logged in, go to your [API tab under the preferences page](https://www.steamgriddb.com/profile/preferences/api). Copy the key shown and use it to set `STEAMGRIDDB_API_KEY`.
SteamGridDB only provides custom cover art for games or collections. It's not accessed through the scanner but from the search cover button when manually editing a game.
## MobyGames
To access the MobyGames API, [create a MobyGames account](https://www.mobygames.com/user/register/) and then visit your profile page. Click the **API** link under your user name to sign up for an API key. Copy the key shown and use it to set `MOBYGAMES_API_KEY`.
+1
View File
@@ -9,6 +9,7 @@ search:
- Getting Started
- [Quick Start Guide](Getting-Started/Quick-Start-Guide.md)
- [Folder Structure](Getting-Started/Folder-Structure.md)
- [Configuration File](Getting-Started/Configuration-File.md)
- [Generate API Keys](Getting-Started/Generate-API-Keys.md)
- [Environment Variables](Getting-Started/Environment-Variables.md)
- [Reverse Proxy](Getting-Started/Reverse-Proxy.md)
@@ -1,6 +1,8 @@
<!-- vale off -->
Below is a list of all supported platforms/systems/consoles and their respective folder names. **The folder name is case-sensitive and must be used exactly as it appears in the list below.**
Below is a list of all supported platforms/systems/consoles and their respective folder names. Supported platforms means RomM can fetch metadata from sources for those platforms. For platforms that can be playable in the browser, please check [emulatorjs supported platforms](../../Platforms-and-Players/EmulatorJS-Player) and [ruffle player](../../Platforms-and-Players/RuffleRS-Player).
**The folder name is case-sensitive and must be used exactly as it appears in the list below.**
| Platform Name | Folder Name | IGDB | MobyGames |
| ----------------------------------------------------- | ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |