Un servicio centralizado de gestión de colecciones/biblioteca de juegos centrado en la emulación. Configura una vez, juega en cualquier lugar.
Advertencia
BAJO DESARROLLO PESADO: Espere cambios importantes con frecuencia, actualice su instalación con cuidado.
Retrom es un servicio de administración de biblioteca de juegos centralizado que le permite alojar sus juegos en un solo dispositivo y conectar clientes en cualquier cantidad de otros dispositivos para (des)instalar/descargar y posteriormente iniciar dichos juegos localmente.
Retrom
Preparación
Servidor
Cliente
IGBD
Juegos de archivos múltiples (recomendado)
Juegos de un solo archivo
Estructura de la biblioteca
Proveedores de metadatos
Docker (recomendado)
Cliente de escritorio
Cliente web
Descripción general
Características principales
Capturas de pantalla y grabaciones
Hoja de ruta
Instalación
Aloje su propio servicio de biblioteca de juegos en la nube
Escanee su sistema de archivos en busca de juegos/plataformas y agréguelos automáticamente a su biblioteca
Instale/desinstale y juegue juegos del servicio en cualquier cantidad de clientes de escritorio.
¡Soporte para Windows, MacOS y Linux!
Accede a tu biblioteca desde cualquier lugar con el cliente web.
Administre los perfiles del emulador por cliente, almacenados en el servidor para compartir fácilmente configuraciones entre dispositivos o restaurarlas después de una reinstalación.
Inicie todos sus juegos en cualquier cantidad de emuladores o plataformas a través de sus perfiles preconfigurados desde una única interfaz de biblioteca.
Descarga automáticamente metadatos de juegos y obras de arte de proveedores compatibles para mostrar tu biblioteca con estilo.
Pantalla de inicio
Vista de juego
Funcionalidad básica del servidor
proveedor IGDB
Proveedor SteamGridDB
El proveedor de GamesDB (TGDB)
Escanear el sistema de archivos en busca de elementos de la biblioteca
Agregar/eliminar elementos de la biblioteca
Editar elementos de la biblioteca
Descargar metadatos
Juegos guardados en la nube/estados/NAND de emulador
Autenticación (multi)usuario
Publicar binarios de servidor, como alternativa a Docker
Funcionalidad básica del cliente
rebautizar
borrar
establecer el valor predeterminado (para iniciar a través de emuladores)
Escanear el sistema de archivos en busca de nuevas entradas
Descargar/actualizar metadatos para nuevas entradas
Ver elementos de la biblioteca
Editar metadatos y obras de arte de la biblioteca
Activar trabajos de actualización de biblioteca
Administrar archivos del juego
Vista de cuadrícula (a diferencia de la vista de lista predeterminada)
Modo de pantalla completa + soporte de controlador
Funcionalidad del cliente web (navegador) (además de la funcionalidad básica)
descargar juegos
Funcionalidad del cliente de escritorio (además de la funcionalidad básica)
Instalar/desinstalar juegos
Configurar emuladores disponibles localmente
Configurar múltiples perfiles por emulador
Establecer perfiles predeterminados por plataforma
Lanzar juegos
Perfiles de emulador integrados para emuladores populares
Consejo
Después de la instalación, asegúrese de consultar la guía de inicio rápido para comenzar a utilizarlo rápidamente.
Precaución
Retrom está diseñado sin ninguna medida de seguridad específica en mente. Se recomienda encarecidamente que ejecute Retrom sólo en una red local a menos que sepa lo que está haciendo. Si desea exponer Retrom a Internet, debe hacerlo detrás de un proxy inverso con las medidas de seguridad adecuadas . Esta no es una característica que se planee implementar en Retrom, ya que hay muchas variables a considerar al alojar algo y no existe una solución única para todos.
Retrom actualmente admite bibliotecas con las siguientes estructuras:
Cada juego debe estar representado por un directorio que contenga los archivos del juego (incluso para juegos/plataformas de un solo archivo). De manera similar, cada juego debe estar contenido dentro de un directorio que represente la plataforma en la que se juega, y los directorios de la plataforma deben estar en la raíz del directorio de su library
.
Ejemplo:
Supongamos que tienes los juegos:
fontanero
fontanero tipo 2
Para la plataforma Game Guy y los juegos:
Mundo fontanero
El fontanero y el hermano del fontanero
Para la plataforma Game Guy Advance. Tu biblioteca debería verse así:
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
En lugar de que cada juego esté representado por un directorio, es posible que tengas una biblioteca en la que cada juego sea un simple archivo en el directorio de la plataforma respectiva.
Ejemplo:
Supongamos los mismos juegos y plataformas que en el ejemplo de Juegos de archivos múltiples. Tu biblioteca debería verse así:
library/
game_guy/
plumber_dude.gg
plumber_dude_2.gg
game_guy_advance/
plumber_dude_world.gga
plumber_dude_and_plumber_dudes_brother.gga
Retrom utiliza proveedores de metadatos para descargar metadatos para tus juegos. Actualmente, el único proveedor admitido es IGDB. Está previsto apoyar a más proveedores.
Para utilizar el proveedor de metadatos de IGDB, deberá crear una cuenta en el sitio web de IGDB y crear una nueva aplicación para obtener su ID de cliente y su secreto. Puedes hacerlo siguiendo las instrucciones aquí.
Nota
Requisitos
Estibador
Docker Compose (opcional, pero recomendado)
Una base de datos PostgreSQL (opcionalmente puede usar el ejemplo que se proporciona a continuación)
Una biblioteca de juegos organizada de forma que Retrom pueda entenderla.
Claves API para proveedores de metadatos
El servidor se configura mediante un archivo de configuración. Aquí hay un archivo de configuración de ejemplo:
Consejo
Puede reemplazar db_url
con la URL de su propia base de datos
Precaución
La path
en content_directories
debe ser la ruta dentro del contenedor . Si está utilizando Docker, debe montar los directorios de su biblioteca en estas rutas. Consulte la sección Docker para obtener más información.
{ "conexión": {"puerto": 5101,"db_url": "postgres://minecraft_steve:super_secret_password@retrom-db/retrom" }, "directorios_contenido": [ { "ruta": "ruta/a/mi/biblioteca/", "tipo_almacenamiento": "MultiFileGame"}, { "path": "ruta/a/mi/biblioteca/con/single_file_games/", "storage_type": "SingleFileGame"} ], "igdb": {"client_secret": "super_secret_client_secret!!!1","client_id": "my_IGDB_ID_1234" } }
La forma recomendada actualmente de ejecutar el servidor es a través de Docker, idealmente con docker compose
.
Consejo
Si no está familiarizado con Docker Compose, puede leer la documentación aquí.
Ajustemos el config.json
del ejemplo anterior para nuestro contenedor acoplable y guárdelo en un lugar seguro. En este ejemplo, asumiremos que está guardado en /home/minecraft_steve/config_dir/config.json
. Tenga en cuenta que necesitamos un directorio de configuración para montar en el contenedor, no solo el archivo en sí.
Supongamos también que tenemos bibliotecas en /home/minecraft_steve/library1/
y en /home/minecraft_steve/library2/
.
Aquí está el archivo de configuración de ejemplo:
{ "conexión": {"puerto": 5101,"db_url": "postgres://minecraft_steve:super_secret_password@retrom-db/retrom" }, "directorios_contenido": [ { "ruta": "/biblioteca1", "tipo_almacenamiento": "MultiFileGame"}, { "ruta": "/biblioteca2", "tipo_almacenamiento": "SingleFileGame"} ], "igdb": {"client_secret": "super_secret_client_secret!!!1","client_id": "my_IGDB_ID_1234" } }
Luego, este archivo docker-compose.yml
de ejemplo le ayudará a empezar:
servicios: retrom:imagen: ghcr.io/jmberesford/retrom-service:latestports: - 5101:5101 - 3000:3000 # para acceder a los volúmenes del cliente web: - /home/minecraft_steve/config_dir:/config/ # directorio que contiene tu archivo de configuración - /home/minecraft_steve/library1:/library1 # directorio que contiene tu primera biblioteca - /home/minecraft_steve/library2:/library2 # directorio que contiene tu segunda biblioteca # OPCIONAL: active un contenedor de Postgres para usarlo como base de datos, si # aún no tienes uno. # # lea los documentos aquí: https://hub.docker.com/_/postgres retrom-db:container_name: retrom-dbhostname: retrom-db # esto debe coincidir con db_url en su archivo de configuraciónimage: postgres:16restart: less-stoppedvolumes: # para almacenar los datos de la base de datos en el host, cambie esta ruta a cualquier directorio que desee - /home/minecraft_steve/retrom_data/:/var/lib/postgresql/dataenvironment: POSTGRES_USER: minecraft_steve # El usuario de base de datos, utilizado para conectarse a la base de datos, debe coincidir con db_user en su archivo de configuración POSTGRES_PASSWORD: super_secret_password # contraseña de base de datos para el usuario anterior, debe coincidir con db_password en su archivo de configuración POSTGRES_DB: retrom # nombre de base de datos, debe coincidir con db_name en su configuración archivo
Luego puede ejecutar docker-compose up
en el directorio que contiene su archivo docker-compose.yml
para iniciar el servicio.
Se podrá acceder al cliente web en el puerto 3000 y al servicio en sí en el puerto 5101, al que puede acceder cualquier cliente de escritorio.
El Servicio Retrom también está disponible a través de Cargo. La instalación mediante carga creará el binario en su sistema, por lo que necesitará tener instalada la cadena de herramientas Rust.
Se sugiere utilizar Rustup para instalar la cadena de herramientas Rust. También deberá asegurarse de tener algunas dependencias instaladas en su sistema:
libssl-dev
(o equivalente para su sistema)
libpq-dev
(o equivalente para su sistema)
Precaución
No encontrará soporte para estas dependencias en esta guía, ya que son específicas del sistema. Consulte el administrador de paquetes de su sistema o Internet para obtener ayuda con la instalación de estas dependencias. Si no sabe cómo instalar estas dependencias, debería utilizar el método Docker.
Si se cumplen los requisitos previos, puede instalar Retrom a través de Cargo con el siguiente comando:
servicio retrom de instalación de carga
Luego puede ejecutar el servicio con el siguiente comando:
RETROM_CONFIG=/ruta/a/su/config.json servicio-retrom
Simplemente dirígete a la página de lanzamientos y descarga la última versión para tu plataforma. El cliente está disponible para Windows, MacOS (chips Intel y de la serie M) y Linux.
Ocasionalmente, puede haber versiones de depuración presentes en una versión. Por lo general, debería preferir las compilaciones que no son de depuración, a menos que un desarrollador le haya indicado que utilice una compilación de depuración con fines de depuración. Siempre habrá una versión sin depuración de cualquier versión determinada, simplemente busque un archivo con el mismo nombre sin el sufijo -debug
.
Lo siguiente puede ayudarle a diferenciar entre las diferentes versiones:
*-setup.exe
son para Windows (prefiera esta versión a la versión .msi, a menos que tenga una buena razón para no hacerlo)
*.msi
son para Windows (prefiera la versión .exe a esta)
*-x64.dmg
son para MacOS en chips Intel
*-aarch64.dmg
son para MacOS en chips de la serie M
*-x64.AppImage
son para Linux
*-x64.deb
son para Linux (distros basadas en Debian)
*-x64.rpm
son para Linux (distros basadas en Red Hat)
Advertencia
La imagen del cliente web ha quedado obsoleta. Utilice en su lugar el cliente web incluido con la imagen del servicio.