Home Emulatori Retrom: Un nuovo servizio Self-Hosted per la libreria di emulazione in Cloud

Retrom: Un nuovo servizio Self-Hosted per la libreria di emulazione in Cloud

25
0

Retrom è un semplice servizio di gestione centralizzata delle librerie di giochi che consente di ospitare i propri giochi su un singolo dispositivo e di connettere i client su un numero qualsiasi di altri dispositivi per (dis)installare/scaricare e successivamente lanciare i giochi in locale.

Il programma permette di scaricare automaticamente i metadati e le copertine dei giochi da fornitori supportati, con la possibilità di modificarli manualmente.

Si possono collegare vari client a Retrom per gestire, installare e giocare ai giochi da qualsiasi dispositivo, senza occupare spazio sul disco locale.

Il client desktop è disponibile per PC Windows, MacOS e Linux, mentre il client web funziona su qualsiasi browser moderno. Retrom supporta diversi emulatori, permettendo di configurare profili di lancio specifici per ciascun emulatore.

Le prossime funzionalità in programma includono autenticazione utente, una modalità standalone, supporto per salvataggi nel cloud e profili preconfigurati per emulatori popolari.

Caratteristiche principali

  • Permette di ospitare un servizio di libreria di giochi in cloud personalizzato.
  • Scansiona il filesystem per rilevare giochi e piattaforme, aggiungendoli automaticamente alla libreria.
  • Consente di installare, disinstallare e giocare ai titoli su un numero illimitato di client desktop.
    • Supporta Windows, MacOS e Linux.
  • Offre accesso alla libreria da qualsiasi luogo tramite il client web.
  • Gestisce i profili degli emulatori per ciascun client, con le configurazioni archiviate sul server, facilitando la condivisione tra dispositivi o il ripristino dopo una reinstallazione.
  • Permette di avviare i giochi su diversi emulatori o piattaforme attraverso profili preconfigurati da un’unica interfaccia.
  • Scarica automaticamente metadati e copertine dai fornitori supportati per presentare la libreria in modo elegante.

Roadmap

  • Funzionalità di base del server:
    • Scansione del filesystem per rilevare gli elementi della libreria.
    • Aggiunta e rimozione di elementi dalla libreria.
    • Modifica degli elementi della libreria.
    • Download di metadati:
      • Integrazione del fornitore IGDB.
      • Integrazione del fornitore SteamGridDB.
      • Integrazione del fornitore GamesDB (TGDB).
    • Supporto per salvataggi nel cloud di giochi, stati e NAND degli emulatori.
    • Autenticazione (multi-)utente.
    • Pubblicazione dei binari del server come alternativa a Docker.
  • Funzionalità di base del client:
    • Visualizzazione degli elementi della libreria.
    • Modifica dei metadati e delle opere d’arte della libreria.
    • Attivazione dei lavori di aggiornamento della libreria.
      • Scansione del filesystem per nuove voci.
      • Download e aggiornamento dei metadati per nuove voci.
    • Gestione dei file di gioco:
      • Rinomina.
      • Elimina.
      • Imposta come predefiniti per il lancio tramite emulatori.
    • Visualizzazione a griglia, in alternativa alla visualizzazione a lista predefinita.
    • Modalità fullscreen con supporto per controller.
  • Funzionalità del client web (browser), in aggiunta alle funzionalità di base:
    • Download di giochi.
  • Funzionalità del client desktop, in aggiunta alle funzionalità di base:
    • Installazione e disinstallazione di giochi.
    • Configurazione degli emulatori disponibili localmente.
    • Configurazione di più profili per emulatori.
    • Impostazione di profili predefiniti per piattaforma.
    • Lancio di giochi.
    • Profili di emulatori integrati per emulatori popolari.

Installazione

Suggerimento: Dopo l’installazione, è consigliato consultare la guida di avvio rapido per iniziare rapidamente.

Attenzione: Retrom è progettato senza misure di sicurezza specifiche. Si raccomanda di utilizzare Retrom solo su una rete locale. Se si desidera esporre Retrom a Internet, è opportuno farlo dietro un reverse proxy con misure di sicurezza adeguate. Non è prevista l’implementazione di questa funzionalità in Retrom stesso, poiché ci sono molte variabili da considerare quando si ospita un servizio, e non esiste una soluzione universale.

Preparazione

Retrom richiede che la libreria di giochi sia organizzata in un modo specifico. Ogni gioco dovrebbe essere rappresentato da una cartella contenente i file del gioco (anche per giochi o piattaforme con un solo file).

Ogni gioco dovrebbe essere contenuto in una cartella che rappresenta la piattaforma su cui viene giocato, e le cartelle delle piattaforme devono trovarsi nella radice della directory della libreria.

library/
  game_guy/
    plumber_dude/
      plumber_dude.gg
    plumber_dude_2/
      plumber_dude_2_part_1.gg
      plumber_dude_2_part_2.gg
  game_guy_advance/
    plumber_dude_world/
      plumber_dude_world.gga
    plumber_dude_and_plumber_dudes_brother/
      plumber_dude_and_plumber_dudes_brother.gga

Fornitori di metadati

Retrom utilizza fornitori di metadati per scaricare le informazioni sui giochi. Attualmente, l’unico fornitore supportato è IGDB, ma è prevista l’integrazione di ulteriori fornitori.

IGDB

Per utilizzare il fornitore di metadati IGDB, è necessario creare un account sul sito IGDB e registrare una nuova applicazione per ottenere l’ID cliente e il segreto. Le istruzioni possono essere trovate sul sito.

Server

Requisiti

Docker (Consigliato)

Il modo consigliato per eseguire il server è tramite Docker, idealmente con Docker Compose.

Un esempio di file docker-compose.yml aiuterà a iniziare:

retrom:
  image: ghcr.io/jmberesford/retrom-service:latest
  ports:
    - 5101:5101
  environment:
    # IGDB API information, see the metadata-providers section above for more info
    IGDB_CLIENT_ID: ${IGDB_CLIENT_ID}
    IGDB_CLIENT_SECRET: ${IGDB_CLIENT_SECRET}

    # using the below example postgres container
    DATABASE_URL: postgres://minecraft_steve:super_secret_password@retrom-db/retrom

    # or, bring your own database:
    # DATABASE_URL: postgres://{db_user}:{db_password}@{db_host}/{db_name}
  volumes:
    - /path/to/library:/app/library

# OPTIONAL: spin up a postgres container to use as the database. Or,
# you can use your own postgres instance by setting DATABASE_URL above
#
# read the docs here: https://hub.docker.com/_/postgres
retrom-db:
  container_name: retrom-db
  hostname: retrom-db
  image: postgres:16
  restart: unless-stopped
  volumes:
    # to store the DB data on the host
    - /path/to/pg_data:/var/lib/postgresql/data
  environment:
    POSTGRES_USER: minecraft_steve # db user, used to connect to the db
    POSTGRES_PASSWORD: super_secret_password # db password for above user
    POSTGRES_DB: retrom # db name

Client

Client desktop

Per utilizzare il Client desktop è sufficiente scaricare l’eseguibile. Il client è disponibile per PC Windows, MacOS (sia per chip Intel che M) e Linux.

Occasionalmente, potrebbero essere presenti build di debug. In tal caso è consigliabile preferire le build non di debug, a meno che non si riceva indicazione di utilizzare una build di debug per motivi di risoluzione dei problemi.

Ci sarà sempre una versione non di debug per ogni release, basta cercare un file con lo stesso nome senza il suffisso -debug.

Ecco come distinguere le diverse versioni:

  • *-setup.exe sono per Windows (è consigliabile preferire questa versione rispetto a .msi).
  • *.msi sono per Windows (preferire la versione .exe).
  • *-x64.dmg sono per MacOS su chip Intel.
  • *-aarch64.dmg sono per MacOS su chip M.
  • *-x64.AppImage sono per Linux.
  • *-x64.deb sono per Linux (distro basate su Debian).
  • *-x64.rpm sono per Linux (distro basate su Red Hat).

Client web

Ci sono piani per bundlare il client web insieme al servizio in un unico container in futuro, per facilitare l’uso. Il client web è attualmente disponibile solo come container Docker. Può essere eseguito con il seguente esempio di file docker-compose.yml:

retrom-web:
  image: ghcr.io/jmberesford/retrom-web:latest
  container_name: retrom-web
  hostname: retrom-web
  ports:
    - 3000:3000
  environment:
    RETROM_HOST: http://retrom:5101 # the URL of your Retrom server

Changelog

Correzioni

  • Corretto il parsing degli argomenti personalizzati.
  • Corretta la larghezza del modulo del profilo dell’emulatore.

Download: retrom v0.0.80

Fonte: reddit.com

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.