專注於模擬的集中式遊戲庫/集合管理服務。配置一次,隨處玩。
警告
正在大力開發:預計經常會有重大變化,請小心更新您的安裝。
Retrom 是一種集中式遊戲庫管理服務,可讓您在單一裝置上託管遊戲,並連接任意數量的其他裝置上的用戶端以(卸載)安裝/下載並隨後在本機啟動所述遊戲。
主螢幕
遊戲視圖
提示
安裝後,請務必查看快速入門指南以快速啟動和運行。
警告
Retrom 的設計沒有考慮任何特定的安全措施。強烈建議您僅在本地網路上執行 Retrom,除非您知道自己在做什麼。如果您希望將 Retrom 暴露到互聯網,您應該在反向代理後面執行此操作,並採取適當的安全措施。這並不是一項計劃在 Retrom 本身中實現的功能,因為在託管某些內容時需要考慮許多變量,並且沒有一刀切的解決方案。
Retrom 目前支援以下結構的函式庫:
每個遊戲都應該由包含遊戲檔案的目錄表示(即使對於單一檔案遊戲/平台)。每個遊戲都應該類似地包含在代表其所玩平台的目錄中,並且平台目錄應該位於library
目錄的根目錄中。
例子:
假設您有以下遊戲:
對於 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 和金鑰。您可以按照此處的說明執行此操作。
筆記
要求
伺服器透過設定檔進行配置。這是一個範例設定檔:
提示
您可以將db_url
替換為您自己的資料庫 URL
警告
content_directories
中的path
應該是容器內的路徑。如果您使用 Docker,則應將庫目錄安裝到這些路徑。有關詳細信息,請參閱 Docker 部分。
{
"connection" : {
"port" : 5101 ,
"db_url" : " postgres://minecraft_steve:super_secret_password@retrom-db/retrom "
},
"content_directories" : [
{
"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/
都有函式庫。
這是範例設定檔:
{
"connection" : {
"port" : 5101 ,
"db_url" : " postgres://minecraft_steve:super_secret_password@retrom-db/retrom "
},
"content_directories" : [
{
"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
檔案將幫助您開始:
services :
retrom :
image : ghcr.io/jmberesford/retrom-service:latest
ports :
- 5101:5101
- 3000:3000 # to access the web client
volumes :
- /home/minecraft_steve/config_dir:/config/ # directory containing your config file
- /home/minecraft_steve/library1:/library1 # directory containing your first library
- /home/minecraft_steve/library2:/library2 # directory containing your second library
# OPTIONAL: spin up a postgres container to use as the database, if you
# don't have one already.
#
# read the docs here: https://hub.docker.com/_/postgres
retrom-db :
container_name : retrom-db
hostname : retrom-db # this should match the db_url in your config file
image : postgres:16
restart : unless-stopped
volumes :
# to store the DB data on the host, change this path to any directory you like
- /home/minecraft_steve/retrom_data/:/var/lib/postgresql/data
environment :
POSTGRES_USER : minecraft_steve # db user, used to connect to the db, should match the db_user in your config file
POSTGRES_PASSWORD : super_secret_password # db password for above user, should match the db_password in your config file
POSTGRES_DB : retrom # db name, should match the db_name in your config file
然後,您可以在包含docker-compose.yml
檔案的目錄中執行docker-compose up
來啟動服務。
Web 用戶端可透過連接埠 3000 存取,服務本身可透過連接埠 5101 存取—任何桌面用戶端都可以存取該服務。
Retrom 服務也可透過 Cargo 提供。透過 Cargo 安裝將在您的系統上建置二進位文件,因此您需要安裝 Rust 工具鏈。
建議使用rustup安裝Rust工具鏈。您還需要確保系統上安裝了一些依賴項:
libssl-dev
(或您系統的同等版本)libpq-dev
(或您系統的同等版本) 警告
您在本指南中找不到對這些依賴項的支持,因為它們是特定於系統的。請參閱系統的套件管理器或網際網路以取得安裝這些相依性的協助。如果您不知道如何安裝這些依賴項,則應該使用 Docker 方法。
如果滿足先決條件,您可以使用以下命令透過 Cargo 安裝 Retrom:
cargo install retrom-service
然後您可以使用以下命令運行該服務:
RETROM_CONFIG=/path/to/your/config.json retrom-service
只需前往發布頁面並下載適合您平台的最新版本。此客戶端適用於 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 用戶端。