About This File
Hello everyone, I'm proud to present a new RomM server plugin for LaunchBox. Currently, it offers a complete solution, both synchronizing your server and updating it with LaunchBox data, as well as functions to install and uninstall games. Please take advantage of it and provide your feedback.
https://github.com/phscezario/launchbox-romm-plugin
## 🎉 v1.0.0 — First Stable Release!
After a lot of work, the plugin now reliably syncs metadata, cover art, and keeps your LaunchBox library in sync with your RomM server. 🚀
---
## 🎮 LaunchBox RomM Plugin — Release Notes
### 🆕 What's New
#### 📋 Metadata Sync (RomM → LaunchBox)
Sync now auto-fills LaunchBox game metadata from the RomM server:
- Release date, max players, play mode
- Video (YouTube), Wikipedia, ESRB
- Community rating and votes
- Synopsis / notes
- Genres, companies, game modes
- LaunchBox ID (LaunchBoxDbId)
Priority: **LaunchBoxMetadata > ScreenScraper > IGDB > RomM Metadata**.
#### 🖼️ Automatic Cover Art Download
- Box - Front cover art is downloaded automatically from the RomM server
- Only downloads if the game has no existing cover in LaunchBox
- `ForceReload` runs after sync so images appear immediately
#### 🧹 Orphan Image Cleanup
- When a game is removed from the RomM server, the sync removes the game from LaunchBox and deletes its associated images
- Cleanup happens **after** the full sync completes, preventing partial deletions on failure
#### ⚙️ KeepLocalData Flag
New setting that controls overwrite behavior:
- `KeepLocalData = true` — only fills empty fields, preserves existing data
- `KeepLocalData = false` — overwrites all fields
#### 🔄 Cover Art Upload (Update RomM Metadata)
`Update RomM Metadata` now also sends the Box - Front cover from LaunchBox back to the RomM server.
### 🐛 Fixes
- Fixed cover download failing due to unencoded spaces in RomM's timestamp parameter (`?ts=...`)
- Fixed image path by using LaunchBox's `GetNextAvailableImageFilePath` instead of hardcoded paths
### ⚡ Improvements
- `dataManager.ForceReload()` runs automatically after sync — no more restarting LaunchBox to see images
- Detailed logging of downloaded image paths for easier debugging
---
### How to Update
1. Replace the `RomM LaunchBox Integration` folder in your LaunchBox Plugins directory
2. Launch LaunchBox and configure `KeepLocalData` in plugin settings if desired
3. Run `RomM: Sync roms list from server`
Edited by ByakkoKa
What's New in Version 1.0.0 See changelog
Released
## 🎮 LaunchBox RomM Plugin — Release Notes ### 🆕 Novidades #### 📋 Sincronização de Metadados (RomM → LaunchBox) O sync agora preenche automaticamente os metadados dos jogos no LaunchBox com dados do servidor RomM: - Data de lançamento, máximo de jogadores, modo de jogo - Vídeo (YouTube), Wikipedia, ESRB - Rating comunitário e votos - Sinopse / notas - Gênero, empresas, modos de jogo - LaunchBox ID (LaunchBoxDbId) Prioridade: **LaunchBoxMetadata > ScreenScraper > IGDB > RomM Metadata**. #### 🖼️ Download Automático de Capas - Capa (Box - Front) é baixada automaticamente do servidor RomM - Só baixa se o jogo ainda não tiver capa no LaunchBox - `ForceReload` é executado após o sync para as imagens aparecerem imediatamente #### 🧹 Limpeza de Imagens Órfãs - Quando um jogo é removido do servidor RomM, a sync remove o jogo do LaunchBox e apaga as imagens associadas - A limpeza acontece **após** o sync completo, não durante, evitando deleções parciais em caso de falha #### ⚙️ Flag KeepLocalData Nova configuração que controla o comportamento de sobrescrição: - `KeepLocalData = true` → só preenche campos vazios, preserva dados existentes - `KeepLocalData = false` → sobrescreve todos os campos #### 🔄 Envio de Capa pro Servidor (Update RomM Metadata) O `Update RomM Metadata` agora também envia a capa (Box - Front) do LaunchBox para o servidor RomM. ### 🐛 Correções - Corrigido download de capas com timestamp contendo espaços na URL (RomM retorna `?ts=...` sem URL-encode) - Corrigido path de imagens usando `GetNextAvailableImageFilePath` do LaunchBox em vez de caminho hardcoded ### ⚡ Melhorias - `dataManager.ForceReload()` executado automaticamente após sync para evitar necessidade de restart do LaunchBox - Logs detalhados do path das imagens baixadas para facilitar debug --- ### Atualização 1. Substitua a pasta `RomM LaunchBox Integration` no diretório de Plugins do LaunchBox 2. Abra o LaunchBox e configure `KeepLocalData` nas configurações do plugin se desejar 3. Execute `RomM: Sync roms list from server`