專注於模擬的集中式遊戲庫/集合管理服務。配置一次,隨處玩。
警告
正在大力開發:預計經常會有重大變化,請小心更新您的安裝。
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 用戶,用於連接到資料庫,應與設定檔中的db_user 相符POSTGRES_PASSWORD: super_secret_password # 上述使用者的資料庫 #POSTGRES_PASSWORD: super_secret_password # 上述使用者的資料庫 #POSTGRES_PASSWORD: super_secret_password # 上述使用者的資料庫 #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 用戶端。