エミュレーションを中心としたゲームライブラリ/コレクションの一元管理サービス。一度設定すれば、どこでもプレイできます。
警告
激しい開発中: 重大な変更が頻繁に発生することが予想されるため、インストールの更新は注意してください。
Retrom は、単一のデバイスでゲームをホストし、他のデバイスのクライアントに接続して、そのゲームをローカルで (アン) インストール/ダウンロードし、その後起動できるようにする集中ゲーム ライブラリ管理サービスです。
レトロム
準備
サーバ
クライアント
IGDB
マルチファイル ゲーム (推奨)
単一ファイルのゲーム
ライブラリの構造
メタデータプロバイダー
ドッカー (推奨)
デスクトップクライアント
ウェブクライアント
概要
コア機能
スクリーンショットと録画
ロードマップ
インストール
独自のクラウド ゲーム ライブラリ サービスをホストする
ファイルシステムをスキャンしてゲーム/プラットフォームを探し、ライブラリに自動的に追加します
任意の数のデスクトップ クライアントで、サービスからゲームをインストール/アンインストールし、プレイします。
Windows、MacOS、Linuxをサポート!
Web クライアントを使用してどこからでもライブラリにアクセスします。
エミュレータ プロファイルをクライアントごとに管理し、サーバーに保存することで、デバイス間で構成を簡単に共有したり、再インストール後に構成を復元したりできます。
単一のライブラリ インターフェイスから事前に構成されたプロファイルを介して、任意の数のエミュレータまたはプラットフォームですべてのゲームを起動します。
サポートされているプロバイダーからゲームのメタデータとアートワークを自動的にダウンロードして、ライブラリをスタイリッシュに紹介します。
ホーム画面
ゲームビュー
基本的なサーバー機能
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 Web サイトでアカウントを作成し、クライアント 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 に詳しくない場合は、ここでドキュメントを読むことができます。
上記のサンプルconfig.json
Docker コンテナー用に調整し、安全な場所に保存しましょう。この例では、 /home/minecraft_steve/config_dir/config.json
に保存されていると仮定します。ファイル自体だけでなく、コンテナにマウントするには configディレクトリが必要であることに注意してください。
また、 /home/minecraft_steve/library1/
と/home/minecraft_steve/library2/
にライブラリがあると仮定しましょう。
構成ファイルの例は次のとおりです。
{ "接続": {"ポート": 5101,"db_url": "postgres://minecraft_steve:super_secret_password@retrom-db/retrom" }, "コンテンツディレクトリ": [ { "パス": "/library1", "storage_type": "MultiFileGame"}, { "パス": "/library2"、"storage_type": "SingleFileGame"} ]、"igdb": {"client_secret": "super_secret_client_secret!!!1","client_id": "my_IGDB_ID_1234" } }
次に、このdocker-compose.yml
ファイルの例を使用して作業を開始します。
サービス: レトロム:イメージ: 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 # 2 番目のライブラリを含むディレクトリ # オプション: データベースとして使用する postgres コンテナーをスピンアップします (必要な場合) # まだ持っていません。 # # ここでドキュメントを読んでください: https://hub.docker.com/_/postgres Retrom-db:container_name: Retrom-dbhostname: Retrom-db # これは設定ファイルの db_url と一致する必要がありますimage: postgres:16restart: until-stoppedvolumes: # DB データをホストに保存するには、このパスを任意のディレクトリに変更します- /home/minecraft_steve/retrom_data/:/var/lib/postgresql/dataenvironment: POSTGRES_USER: minecraft_steve # db への接続に使用される db ユーザーは、設定ファイルの db_user と一致する必要があります POSTGRES_PASSWORD: super_secret_password # 上記のユーザーの db パスワードは、設定ファイルの db_password と一致する必要があります POSTGRES_DB: retrom # db 名は、次の db_name と一致する必要がありますあなたの設定ファイル
その後、 docker-compose.yml
ファイルが含まれるディレクトリでdocker-compose up
実行して、サービスを開始できます。
Web クライアントにはポート 3000 でアクセスでき、サービス自体にはポート 5101 でアクセスでき、どのデスクトップ クライアントでもアクセスできます。
Retrom サービスは Cargo 経由でもご利用いただけます。カーゴ経由でインストールするとシステム上にバイナリがビルドされるため、Rust ツールチェーンをインストールする必要があります。
Rust ツールチェーンをインストールするには、rustup を使用することをお勧めします。また、システムにいくつかの依存関係がインストールされていることを確認する必要もあります。
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 クライアントを使用してください。