บริการจัดการคลังเกม/คอลเลกชันเกมแบบรวมศูนย์ที่เน้นไปที่การจำลอง กำหนดค่าครั้งเดียวเล่นได้ทุกที่
คำเตือน
ภายใต้การพัฒนาอย่างหนัก: คาดว่าจะมีการเปลี่ยนแปลงบ่อยครั้ง อัปเดตการติดตั้งของคุณด้วยความระมัดระวัง
Retrom เป็นบริการการจัดการไลบรารีเกมแบบรวมศูนย์ที่ช่วยให้คุณสามารถโฮสต์เกมของคุณบนอุปกรณ์เครื่องเดียว และเชื่อมต่อไคลเอนต์บนอุปกรณ์อื่น ๆ จำนวนเท่าใดก็ได้เพื่อ (ยกเลิก) ติดตั้ง/ดาวน์โหลด และเปิดตัวเกมดังกล่าวในเครื่องในภายหลัง
เรโทรม
การตระเตรียม
เซิร์ฟเวอร์
ลูกค้า
ไอจีดีบี
เกมหลายไฟล์ (แนะนำ)
เกมไฟล์เดียว
โครงสร้างห้องสมุด
ผู้ให้บริการข้อมูลเมตา
นักเทียบท่า (แนะนำ)
ไคลเอนต์เดสก์ท็อป
เว็บไคลเอ็นต์
ภาพรวม
คุณสมบัติหลัก
ภาพหน้าจอและการบันทึก
แผนการทำงาน
การติดตั้ง
โฮสต์บริการไลบรารีเกมบนคลาวด์ของคุณเอง
สแกนระบบไฟล์ของคุณเพื่อหาเกม/แพลตฟอร์มและเพิ่มลงในไลบรารีของคุณโดยอัตโนมัติ
ติดตั้ง/ถอนการติดตั้งและเล่นเกมจากบริการบนไคลเอนต์เดสก์ท็อปจำนวนเท่าใดก็ได้
รองรับ Windows, MacOS และ Linux!
เข้าถึงห้องสมุดของคุณได้จากทุกที่ด้วยเว็บไคลเอ็นต์
จัดการโปรไฟล์โปรแกรมจำลองตามไคลเอนต์ ซึ่งจัดเก็บไว้ในเซิร์ฟเวอร์เพื่อการแชร์การกำหนดค่าระหว่างอุปกรณ์ได้อย่างง่ายดาย หรือกู้คืนหลังจากติดตั้งใหม่
เปิดตัวเกมทั้งหมดของคุณผ่านโปรแกรมจำลองหรือแพลตฟอร์มจำนวนเท่าใดก็ได้ผ่านโปรไฟล์ที่กำหนดค่าไว้ล่วงหน้าของคุณจากอินเทอร์เฟซไลบรารีเดียว
ดาวน์โหลดข้อมูลเมตาของเกมและอาร์ตเวิร์คจากผู้ให้บริการที่รองรับโดยอัตโนมัติเพื่อแสดงคลังเพลงของคุณอย่างมีสไตล์!
หน้าจอหลัก
มุมมองเกม
ฟังก์ชั่นเซิร์ฟเวอร์ขั้นพื้นฐาน
ผู้ให้บริการ IGDB
ผู้ให้บริการ SteamGridDB
ผู้ให้บริการ GamesDB (TGDB)
สแกนระบบไฟล์สำหรับรายการไลบรารี
เพิ่ม/ลบรายการไลบรารี
แก้ไขรายการห้องสมุด
ดาวน์โหลดข้อมูลเมตา
เกมบันทึกบนคลาวด์ / สถานะ / โปรแกรมจำลอง NAND
(หลาย) การรับรองความถูกต้องของผู้ใช้
เผยแพร่ไบนารีเซิร์ฟเวอร์เป็นทางเลือกแทน Docker
ฟังก์ชั่นพื้นฐานของไคลเอนต์
เปลี่ยนชื่อ
ลบ
ตั้งค่าเริ่มต้น (สำหรับการเปิดตัวผ่านโปรแกรมจำลอง)
สแกนระบบไฟล์เพื่อหารายการใหม่
ดาวน์โหลด/อัปเดตข้อมูลเมตาสำหรับรายการใหม่
ดูรายการห้องสมุด
แก้ไขข้อมูลเมตาของห้องสมุดและงานศิลปะ
ทริกเกอร์งานอัปเดตไลบรารี
จัดการไฟล์เกม
มุมมองตาราง (ตรงข้ามกับมุมมองรายการเริ่มต้น)
รองรับโหมดเต็มหน้าจอ + คอนโทรลเลอร์
ฟังก์ชันการทำงานของไคลเอ็นต์เว็บ (เบราว์เซอร์) (นอกเหนือจากฟังก์ชันพื้นฐาน)
ดาวน์โหลดเกม
ฟังก์ชันการทำงานของไคลเอ็นต์เดสก์ท็อป (นอกเหนือจากฟังก์ชันพื้นฐาน)
ติดตั้ง/ถอนการติดตั้งเกม
กำหนดค่าโปรแกรมจำลองที่มีอยู่ในเครื่อง
กำหนดค่าหลายโปรไฟล์ต่อโปรแกรมจำลอง
ตั้งค่าโปรไฟล์เริ่มต้นตามแพลตฟอร์ม
เปิดตัวเกม
โปรไฟล์อีมูเลเตอร์ในตัวสำหรับอีมูเลเตอร์ยอดนิยม
เคล็ดลับ
หลังการติดตั้ง อย่าลืมอ่านคู่มือ Quickstart เพื่อเริ่มต้นใช้งานอย่างรวดเร็ว
คำเตือน
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 ฐานข้อมูลของคุณเอง
คำเตือน
path
ใน content_directories
ควรเป็นเส้นทาง ภายในคอนเทนเนอร์ หากคุณใช้ Docker คุณควรเมานต์ไดเร็กทอรีไลบรารีของคุณกับพาธเหล่านี้ ดูส่วนนักเทียบท่าสำหรับข้อมูลเพิ่มเติม
{ "การเชื่อมต่อ": {"พอร์ต": 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 คุณสามารถอ่านเอกสารประกอบได้ที่นี่
มาปรับตัวอย่างข้างต้น config.json
สำหรับคอนเทนเนอร์นักเทียบท่าของเรา และบันทึกไว้ในที่ที่ปลอดภัย ในตัวอย่างนี้ เราจะถือว่ามันถูกบันทึกไว้ใน /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" }, "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
ตัวอย่างนี้จะช่วยให้คุณสามารถเริ่มต้นได้:
บริการ: retrom: ภาพ: ghcr.io/jmberesford/retrom-service: ล่าสุดพอร์ต: - 5101:5101 - 3000:3000 # เพื่อเข้าถึงเว็บไคลเอ็นต์ปริมาณ: - /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 ในไฟล์ปรับแต่งของคุณ ภาพ: postgres:16restart: เว้นแต่-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 up
ในไดเร็กทอรีที่มีไฟล์ docker-compose.yml
เพื่อเริ่มบริการ
เว็บไคลเอ็นต์จะสามารถเข้าถึงได้ที่พอร์ต 3000 และบริการบนพอร์ต 5101 ซึ่งสามารถเข้าถึงได้โดยไคลเอ็นต์เดสก์ท็อป
บริการ Retrom มีให้บริการผ่านทาง Cargo การติดตั้งผ่าน cargo จะสร้างไบนารีบนระบบของคุณ ดังนั้นคุณจะต้องติดตั้ง Rust toolchain
ขอแนะนำให้ใช้rustupเพื่อติดตั้งRust toolchain คุณจะต้องตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งการพึ่งพาบางอย่างไว้ในระบบของคุณ:
libssl-dev
(หรือเทียบเท่าสำหรับระบบของคุณ)
libpq-dev
(หรือเทียบเท่าสำหรับระบบของคุณ)
คำเตือน
คุณจะไม่พบการสนับสนุนสำหรับการขึ้นต่อกันเหล่านี้ในคู่มือนี้ เนื่องจากเป็นข้อมูลเฉพาะของระบบ โปรดดูตัวจัดการแพ็คเกจของระบบของคุณหรืออินเทอร์เน็ตเพื่อขอความช่วยเหลือในการติดตั้งการขึ้นต่อกันเหล่านี้ หากคุณไม่ทราบวิธีการติดตั้งการขึ้นต่อกันเหล่านี้ คุณควรใช้วิธี Docker แทน
หากเป็นไปตามข้อกำหนดเบื้องต้น คุณสามารถติดตั้ง Retrom ผ่าน Cargo ด้วยคำสั่งต่อไปนี้:
สินค้าติดตั้ง retrom-service
จากนั้นคุณสามารถเรียกใช้บริการด้วยคำสั่งต่อไปนี้:
RETROM_CONFIG=/path/to/your/config.json retrom-service
เพียงไปที่หน้าเผยแพร่และดาวน์โหลดเวอร์ชันล่าสุดสำหรับแพลตฟอร์มของคุณ ไคลเอนต์พร้อมใช้งานสำหรับ Windows, MacOS (ทั้งชิป Intel และ M series) และ Linux
ในบางครั้ง อาจมีบิวด์การดีบักอยู่ในรีลีส โดยทั่วไปคุณควรเลือกใช้รุ่นที่ไม่แก้ไขจุดบกพร่อง เว้นแต่คุณจะได้รับคำแนะนำให้ใช้รุ่นแก้ไขจุดบกพร่องโดยนักพัฒนาเพื่อวัตถุประสงค์ในการแก้ไขจุดบกพร่อง จะมีเวอร์ชันที่ไม่มีการดีบั๊กสำหรับรีลีสใดๆ เสมอ เพียงมองหาไฟล์ที่มีชื่อเหมือนกันโดยไม่มีส่วนต่อท้าย -debug
ข้อมูลต่อไปนี้อาจช่วยให้คุณแยกความแตกต่างระหว่างเวอร์ชันต่างๆ ได้:
*-setup.exe
ไฟล์สำหรับ Windows (ควรเป็นไฟล์นี้มากกว่าเวอร์ชัน .msi เว้นแต่คุณจะมีเหตุผลที่ดีที่จะไม่ทำ)
*.msi
ใช้สำหรับ Windows (ควรใช้เวอร์ชัน .exe มากกว่านี้)
ไฟล์ *-x64.dmg
ใช้สำหรับ MacOS บนชิป Intel
*-aarch64.dmg
ไฟล์สำหรับ MacOS บนชิป M series
*-x64.AppImage
ไฟล์สำหรับ Linux
*-x64.deb
ไฟล์สำหรับ Linux (distros ที่ใช้ Debian)
*-x64.rpm
ไฟล์สำหรับ Linux (การกระจายแบบ Red Hat)
คำเตือน
อิมเมจของเว็บไคลเอ็นต์เลิกใช้แล้ว ใช้เว็บไคลเอ็นต์ที่มาพร้อมกับอิมเมจบริการแทน