Layanan perpustakaan/manajemen koleksi game terpusat dengan fokus pada emulasi. Konfigurasikan sekali, mainkan di mana saja.
Peringatan
DALAM PERKEMBANGAN BERAT: Harapkan perubahan yang sering terjadi, perbarui instalasi Anda dengan hati-hati.
Retrom adalah layanan manajemen perpustakaan game terpusat yang memungkinkan Anda meng-host game Anda di satu perangkat, dan menghubungkan klien di perangkat lain dalam jumlah berapa pun untuk (membatalkan) instalasi/unduh dan kemudian meluncurkan game tersebut secara lokal.
mundur
Persiapan
pelayan
Klien
IGDB
Game Multi-File (disarankan)
Game File Tunggal
Struktur Perpustakaan
Penyedia Metadata
Buruh pelabuhan (Disarankan)
Klien Desktop
Klien Web
Ringkasan
Fitur Inti
Tangkapan Layar dan Rekaman
Peta jalan
Instalasi
Host layanan perpustakaan game cloud Anda sendiri
Pindai sistem file Anda untuk mencari game/platform dan secara otomatis menambahkannya ke perpustakaan Anda
Instal/uninstal dan mainkan game dari layanan pada klien desktop dalam jumlah berapa pun.
Dukungan untuk Windows, MacOS, dan Linux!
Akses perpustakaan Anda dari mana saja dengan klien web.
Kelola profil emulator berdasarkan per klien, disimpan di server untuk memudahkan berbagi konfigurasi antar perangkat atau memulihkannya setelah instalasi ulang.
Luncurkan semua game Anda di berbagai emulator atau platform melalui profil yang telah dikonfigurasi sebelumnya dari satu antarmuka perpustakaan.
Unduh metadata dan karya seni game secara otomatis dari penyedia yang didukung untuk memamerkan perpustakaan Anda dengan penuh gaya!
Layar Beranda
Tampilan Permainan
Fungsionalitas server dasar
Penyedia IGDB
Penyedia SteamGridDB
Penyedia GamesDB (TGDB).
Pindai sistem file untuk item perpustakaan
Menambah/menghapus item perpustakaan
Edit item perpustakaan
Unduh metadata
Cloud save game/status/emulator NAND
(Multi-) Otentikasi pengguna
Publikasikan binari server, sebagai alternatif dari Docker
Fungsionalitas klien dasar
ganti nama
menghapus
setel default (untuk diluncurkan melalui emulator)
Pindai sistem file untuk entri baru
Unduh/perbarui metadata untuk entri baru
Lihat item perpustakaan
Edit metadata perpustakaan dan karya seni
Memicu pekerjaan pembaruan perpustakaan
Kelola file permainan
Tampilan kisi (berlawanan dengan tampilan daftar default)
Mode layar penuh + dukungan pengontrol
Fungsionalitas klien web (browser) (selain fungsi Dasar)
Unduh permainan
Fungsionalitas klien desktop (selain fungsi Dasar)
Instal/uninstal game
Konfigurasikan emulator yang tersedia secara lokal
Konfigurasikan beberapa profil per emulator
Tetapkan profil default per platform
Luncurkan game
Profil emulator bawaan untuk emulator populer
Tip
Setelah instalasi, pastikan untuk membaca panduan Quickstart untuk memulai dan menjalankannya dengan cepat.
Peringatan
Retrom dirancang tanpa mempertimbangkan langkah-langkah keamanan khusus. Sangat disarankan agar Anda menjalankan Retrom di jaringan lokal saja kecuali Anda tahu apa yang Anda lakukan. Jika Anda ingin mengekspos Retrom ke internet, Anda harus melakukannya di belakang proxy terbalik dengan langkah-langkah keamanan yang tepat . Ini bukanlah fitur yang direncanakan untuk diimplementasikan di Retrom itu sendiri, karena ada banyak variabel yang perlu dipertimbangkan saat menghosting sesuatu dan tidak ada solusi yang cocok untuk semua.
Retrom saat ini mendukung perpustakaan dengan struktur berikut:
Setiap game harus diwakili oleh direktori yang berisi file game (bahkan untuk game/platform file tunggal). Setiap game juga harus dimuat dalam direktori yang mewakili platform tempat game tersebut dimainkan, dan direktori platform harus berada di root direktori library
Anda.
Contoh:
Asumsikan Anda memiliki permainan:
Bung Tukang Ledeng
Tukang Ledeng Bung 2
Untuk platform Game Guy dan gamenya:
Dunia Bung Tukang Ledeng
Kakak Tukang Ledeng dan Kakak Tukang Ledeng
Untuk platform Game Guy Maju. Perpustakaan Anda akan terlihat seperti ini:
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
Daripada setiap game diwakili oleh sebuah direktori, Anda mungkin memiliki perpustakaan di mana setiap game hanya berupa satu file di direktori platform masing-masing.
Contoh:
Asumsikan game dan platform yang sama seperti contoh di Game Multi-File. Perpustakaan Anda akan terlihat seperti ini:
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 menggunakan penyedia metadata untuk mengunduh metadata untuk game Anda. Saat ini, satu-satunya penyedia yang didukung adalah IGDB. Dukungan untuk lebih banyak penyedia direncanakan.
Untuk menggunakan penyedia metadata IGDB, Anda perlu membuat akun di situs web IGDB dan membuat aplikasi baru untuk mendapatkan ID klien dan rahasia Anda. Anda dapat melakukannya dengan mengikuti petunjuk di sini.
Catatan
Persyaratan
Buruh pelabuhan
Docker Compose (opsional, tetapi disarankan)
Basis data PostgreSQL (opsional dapat menggunakan contoh yang disediakan di bawah)
Perpustakaan game yang diatur sedemikian rupa sehingga Retrom dapat memahaminya
Kunci API untuk penyedia metadata
Server dikonfigurasi melalui file konfigurasi. Berikut ini contoh file konfigurasi:
Tip
Anda dapat mengganti db_url
dengan URL database Anda sendiri
Peringatan
path
di content_directories
harus menjadi jalur di dalam wadah . Jika Anda menggunakan Docker, Anda harus memasang direktori perpustakaan Anda ke jalur ini. Lihat bagian Docker untuk informasi lebih lanjut.
{ "koneksi": {"port": 5101,"db_url": "postgres://minecraft_steve:super_secret_password@retrom-db/retrom" }, "direktori_konten": [ { "jalur": "jalur/ke/perpustakaan/saya/", "tipe_penyimpanan": "Game MultiFile"}, { "path": "path/ke/my/library/with/single_file_games/", "storage_type": "SingleFileGame"} ], "igdb": {"client_secret": "super_secret_client_secret!!!1","client_id": "my_IGDB_ID_1234" } }
Cara yang disarankan saat ini untuk menjalankan server adalah melalui Docker, idealnya dengan docker compose
.
Tip
Jika Anda belum familiar dengan Docker Compose, Anda dapat membaca dokumentasinya di sini.
Mari sesuaikan contoh config.json
di atas untuk container buruh pelabuhan kita, dan simpan di tempat yang aman. Dalam contoh ini, kami menganggapnya disimpan ke /home/minecraft_steve/config_dir/config.json
. Perhatikan bahwa kita memerlukan direktori config untuk dipasang ke dalam container, bukan hanya file itu sendiri.
Anggap saja kita memiliki perpustakaan di /home/minecraft_steve/library1/
dan di /home/minecraft_steve/library2/
.
Berikut ini contoh file konfigurasinya:
{ "koneksi": {"port": 5101,"db_url": "postgres://minecraft_steve:super_secret_password@retrom-db/retrom" }, "direktori_konten": [ { "jalur": "/library1", "storage_type": "MultiFileGame"}, { "jalur": "/library2", "storage_type": "SingleFileGame"} ], "igdb": {"client_secret": "super_secret_client_secret!!!1","client_id": "my_IGDB_ID_1234" } }
Kemudian, contoh file docker-compose.yml
ini akan membantu Anda memulai:
layanan: retrom:image: ghcr.io/jmberesford/retrom-service:latestports: - 5101:5101 - 3000:3000 # untuk mengakses volume klien web: - /home/minecraft_steve/config_dir:/config/ # direktori berisi file konfigurasi Anda - /home/minecraft_steve/library1:/library1 # direktori berisi perpustakaan pertama Anda - /home/minecraft_steve/library2:/library2 # direktori berisi perpustakaan kedua Anda # OPSIONAL: jalankan container postgres untuk digunakan sebagai database, jika Anda # belum punya. # # baca dokumen di sini: https://hub.docker.com/_/postgres retrom-db:container_name: retrom-dbhostname: retrom-db # ini harus cocok dengan db_url di gambar file konfigurasi Anda: postgres:16restart: kecuali-stoppedvolumes: # untuk menyimpan data DB di host, ubah jalur ini ke direktori mana pun yang Anda suka - /home/minecraft_steve/retrom_data/:/var/lib/postgresql/dataenvironment: POSTGRES_USER: minecraft_steve # pengguna db, yang digunakan untuk terhubung ke db, harus cocok dengan db_user di file konfigurasi Anda POSTGRES_PASSWORD: super_secret_password # kata sandi db untuk pengguna di atas, harus cocok dengan db_password di file konfigurasi Anda POSTGRES_DB: retrom # nama db, harus cocok dengan db_name di konfigurasi Anda mengajukan
Anda kemudian dapat menjalankan docker-compose up
di direktori yang berisi file docker-compose.yml
Anda untuk memulai layanan.
Klien web akan dapat diakses pada port 3000, dan layanan itu sendiri pada port 5101 -- yang dapat diakses oleh klien desktop mana pun.
Layanan Retrom juga tersedia melalui Cargo. Menginstal melalui kargo akan membangun biner di sistem Anda, jadi Anda perlu menginstal toolchain Rust.
Disarankan untuk menggunakan Rustup untuk menginstal Toolchain Rust. Anda juga perlu memastikan bahwa Anda memiliki beberapa dependensi yang terinstal di sistem Anda:
libssl-dev
(atau yang setara untuk sistem Anda)
libpq-dev
(atau yang setara untuk sistem Anda)
Peringatan
Anda tidak akan menemukan dukungan untuk dependensi ini dalam panduan ini, karena dependensi tersebut bersifat spesifik sistem. Silakan merujuk ke manajer paket sistem Anda atau internet untuk bantuan dalam menginstal dependensi ini. Jika Anda tidak tahu cara menginstal dependensi ini, Anda sebaiknya menggunakan metode Docker.
Jika prasyarat terpenuhi, Anda dapat menginstal Retrom melalui Cargo dengan perintah berikut:
layanan retrom pemasangan kargo
Anda kemudian dapat menjalankan layanan dengan perintah berikut:
RETROM_CONFIG=/path/ke/your/config.json layanan retrom
Cukup buka halaman rilis dan unduh versi terbaru untuk platform Anda. Klien tersedia untuk Windows, MacOS (chip Intel dan seri M), dan Linux.
Terkadang, mungkin ada build debug yang ada dalam rilis. Biasanya Anda sebaiknya memilih build non-debug, kecuali Anda diperintahkan untuk menggunakan build debug oleh pengembang untuk tujuan debugging. Akan selalu ada versi non-debug dari setiap rilis tertentu, cukup cari file dengan nama yang sama tanpa akhiran -debug
.
Berikut ini dapat membantu Anda membedakan berbagai versi:
*-setup.exe
ditujukan untuk Windows (lebih memilih ini daripada versi .msi, kecuali Anda punya alasan kuat untuk tidak melakukannya)
*.msi
ditujukan untuk Windows (lebih memilih versi .exe daripada ini)
*-x64.dmg
ditujukan untuk MacOS pada chip Intel
*-aarch64.dmg
ditujukan untuk MacOS pada chip seri M
*-x64.AppImage
file untuk Linux
*-x64.deb
file untuk Linux (distro berbasis Debian)
*-x64.rpm
file untuk Linux (distro berbasis Red Hat)
Peringatan
Gambar klien web sudah tidak digunakan lagi. Gunakan klien web yang dibundel dengan gambar layanan sebagai gantinya.