专注于仿真的集中式游戏库/集合管理服务。配置一次,随处玩。
警告
正在大力开发:预计经常会有重大变化,请小心更新您的安装。
Retrom 是一种集中式游戏库管理服务,允许您在单个设备上托管游戏,并连接任意数量的其他设备上的客户端以(卸载)安装/下载并随后在本地启动所述游戏。
雷特罗姆
准备
服务器
客户
IGDB
多文件游戏(推荐)
单文件游戏
库结构
元数据提供商
Docker(推荐)
桌面客户端
网页客户端
概述
核心特点
截图和录音
路线图
安装
托管您自己的云游戏库服务
扫描您的文件系统中的游戏/平台并自动将它们添加到您的库中
在任意数量的桌面客户端上通过该服务安装/卸载和玩游戏。
支持 Windows、MacOS 和 Linux!
使用网络客户端从任何地方访问您的图书馆。
基于每个客户端管理模拟器配置文件,存储在服务器上,以便在设备之间轻松共享配置或在重新安装后恢复配置。
通过单个库界面中的预配置配置文件,在任意数量的模拟器或平台上启动所有游戏。
自动从支持的提供商处下载游戏元数据和艺术作品,以风格展示您的库!
主屏幕
游戏视图
基本服务器功能
IGDB 提供商
SteamGridDB 提供商
GamesDB (TGDB) 提供商
扫描文件系统中的库项目
添加/删除库项目
编辑库项目
下载元数据
云保存游戏/状态/模拟器 NAND
(多)用户身份验证
发布服务器二进制文件,作为 Docker 的替代方案
基本客户端功能
重命名
删除
设置默认值(用于通过模拟器启动)
扫描文件系统中的新条目
下载/更新新条目的元数据
查看库项目
编辑图书馆元数据和艺术品
触发库更新作业
管理游戏文件
网格视图(与默认列表视图相对)
全屏模式+控制器支持
Web(浏览器)客户端功能(除了基本功能之外)
下载游戏
桌面客户端功能(除了基本功能之外)
安装/卸载游戏
配置本地可用的模拟器
为每个模拟器配置多个配置文件
设置每个平台的默认配置文件
启动游戏
适用于流行模拟器的内置模拟器配置文件
提示
安装后,请务必查看快速入门指南以快速启动和运行。
警告
Retrom 的设计没有考虑任何特定的安全措施。强烈建议您仅在本地网络上运行 Retrom,除非您知道自己在做什么。如果您希望将 Retrom 暴露到互联网,您应该在反向代理后面执行此操作,并采取适当的安全措施。这并不是一项计划在 Retrom 本身中实现的功能,因为在托管某些内容时需要考虑许多变量,并且没有一刀切的解决方案。
Retrom 目前支持以下结构的库:
每个游戏都应该由包含游戏文件的目录表示(即使对于单文件游戏/平台)。每个游戏都应该类似地包含在代表其所玩平台的目录中,并且平台目录应该位于library
目录的根目录中。
例子:
假设您有以下游戏:
水管工哥们
水管工花花公子 2
对于 Game Guy 平台和游戏:
水管工花花世界
水管工花花公子和水管工花花公子的兄弟
适用于 Game Guy Advance 平台。你的库应该是这样的:
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
您可能拥有一个库,其中每个游戏只是各自平台目录中的单个文件,而不是每个游戏都由一个目录表示。
例子:
假设游戏和平台与多文件游戏中的示例相同。你的库应该是这样的:
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 使用元数据提供程序下载游戏的元数据。目前,唯一受支持的提供商是 IGDB。计划支持更多提供商。
要使用 IGDB 元数据提供程序,您需要在 IGDB 网站上创建一个帐户,并创建一个新应用程序来获取您的客户端 ID 和密钥。您可以按照此处的说明执行此操作。
笔记
要求
码头工人
Docker Compose(可选,但推荐)
PostgreSQL 数据库(可以选择使用下面提供的示例)
以 Retrom 可以理解的方式组织的游戏库
元数据提供商的 API 密钥
服务器通过配置文件进行配置。这是一个示例配置文件:
提示
您可以将db_url
替换为您自己的数据库 URL
警告
content_directories
中的path
应该是容器内的路径。如果您使用 Docker,则应将库目录安装到这些路径。有关详细信息,请参阅 Docker 部分。
{“连接”:{“端口”:5101,“db_url”:“postgres://minecraft_steve:super_secret_password@retrom-db/retrom” }, "内容目录": [ { "path": "path/to/my/library/", "storage_type": "MultiFileGame"}, {“path”:“path/to/my/library/with/single_file_games/”,“storage_type”:“SingleFileGame”} ], "igdb": {"client_secret": "super_secret_client_secret!!!1","client_id": "my_IGDB_ID_1234" } }
目前推荐的运行服务器的方式是通过 Docker,最好使用docker compose
。
提示
如果您不熟悉 Docker Compose,可以阅读此处的文档。
让我们为我们的 docker 容器调整上面的示例config.json
,并将其保存在安全的地方。在此示例中,我们假设它保存到/home/minecraft_steve/config_dir/config.json
。请注意,我们需要一个配置目录来挂载到容器中,而不仅仅是文件本身。
我们还假设我们在/home/minecraft_steve/library1/
和/home/minecraft_steve/library2/
都有库。
这是示例配置文件:
{“连接”:{“端口”:5101,“db_url”:“postgres://minecraft_steve:super_secret_password@retrom-db/retrom” }, "内容目录": [ { "path": "/library1", "storage_type": "MultiFileGame"}, {“path”:“/library2”,“storage_type”:“SingleFileGame”} ], "igdb": {"client_secret": "super_secret_client_secret!!!1","client_id": "my_IGDB_ID_1234" } }
然后,这个示例docker-compose.yml
文件将帮助您开始:
服务:retrom:图像:ghcr.io/jmberesford/retrom-service:latestports: - 5101:5101 - 3000:3000 # 访问Web客户端卷: - /home/minecraft_steve/config_dir:/config/ # 包含配置文件的目录 - /home/minecraft_steve/library1:/library1 # 包含第一个库的目录 - /home/minecraft_steve/library2:/library2 # 包含第二个库的目录 # 可选:启动一个 postgres 容器作为数据库,如果你 # 还没有。 # # 阅读此处的文档:https://hub.docker.com/_/postgres Retrom-db:container_name:retrom-dbhostname:retrom-db # 这应该与配置文件中的 db_url 匹配 image: postgres:16restart: except-stoppedvolumes: # 要在主机上存储数据库数据,请将此路径更改为您喜欢的任何目录- /home/minecraft_steve/retrom_data/:/var/lib/postgresql/dataenvironment: POSTGRES_USER:minecraft_steve # 数据库用户,用于连接到数据库,应与配置文件中的 db_user 匹配 POSTGRES_PASSWORD: super_secret_password # 上述用户的数据库密码,应与配置文件中的 db_password 匹配 POSTGRES_DB: Retrom # 数据库名称,应与配置文件中的 db_name 匹配
然后,您可以在包含docker-compose.yml
文件的目录中运行docker-compose up
来启动该服务。
Web 客户端可通过端口 3000 访问,服务本身可通过端口 5101 访问——任何桌面客户端都可以访问该服务。
Retrom 服务也可通过 Cargo 提供。通过 Cargo 安装将在您的系统上构建二进制文件,因此您需要安装 Rust 工具链。
建议使用rustup安装Rust工具链。您还需要确保系统上安装了一些依赖项:
libssl-dev
(或您系统的同等版本)
libpq-dev
(或您系统的同等版本)
警告
您在本指南中找不到对这些依赖项的支持,因为它们是特定于系统的。请参阅系统的包管理器或互联网以获取安装这些依赖项的帮助。如果您不知道如何安装这些依赖项,则应该使用 Docker 方法。
如果满足先决条件,您可以使用以下命令通过 Cargo 安装 Retrom:
货物安装复古服务
然后您可以使用以下命令运行该服务:
RETROM_CONFIG=/path/to/your/config.json 复古服务
只需前往发布页面并下载适合您平台的最新版本即可。该客户端适用于 Windows、MacOS(Intel 和 M 系列芯片)和 Linux。
有时,版本中可能存在调试版本。通常,您应该更喜欢非调试版本,除非开发人员指示您使用调试版本来进行调试。任何给定版本总会有非调试版本,只需查找不带-debug
后缀的同名文件即可。
以下内容可以帮助您区分不同版本:
*-setup.exe
文件适用于 Windows(优先选择此版本而不是 .msi 版本,除非您有充分的理由不这样做)
*.msi
文件适用于 Windows(首选 .exe 版本)
*-x64.dmg
文件适用于 Intel 芯片上的 MacOS
*-aarch64.dmg
文件适用于 M 系列芯片上的 MacOS
*-x64.AppImage
文件适用于 Linux
*-x64.deb
文件适用于 Linux(基于 Debian 的发行版)
*-x64.rpm
文件适用于 Linux(基于 Red Hat 的发行版)
警告
Web 客户端映像已被弃用。请改用与服务映像捆绑在一起的 Web 客户端。