บริการจัดการคลังเกม/คอลเลกชันเกมแบบรวมศูนย์ที่เน้นไปที่การจำลอง กำหนดค่าครั้งเดียวเล่นได้ทุกที่
คำเตือน
ภายใต้การพัฒนาอย่างหนัก: คาดว่าจะมีการเปลี่ยนแปลงบ่อยครั้ง อัปเดตการติดตั้งของคุณด้วยความระมัดระวัง
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 ฐานข้อมูลของคุณเอง
คำเตือน
path
ใน content_directories
ควรเป็นเส้นทาง ภายในคอนเทนเนอร์ หากคุณใช้ 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 คุณสามารถอ่านเอกสารประกอบได้ที่นี่
มาปรับตัวอย่างข้างต้น config.json
สำหรับคอนเทนเนอร์นักเทียบท่าของเรา และบันทึกไว้ในที่ที่ปลอดภัย ในตัวอย่างนี้ เราจะถือว่ามันถูกบันทึกไว้ใน /home/minecraft_steve/config_dir/config.json
โปรดทราบว่าเราจำเป็นต้องมี ไดเร็กทอรี config เพื่อติดตั้งลงในคอนเทนเนอร์ ไม่ใช่แค่ตัวไฟล์เท่านั้น
สมมติว่าเรามีห้องสมุดอยู่ที่ /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 up
ในไดเร็กทอรีที่มีไฟล์ docker-compose.yml
เพื่อเริ่มบริการ
เว็บไคลเอ็นต์จะสามารถเข้าถึงได้ที่พอร์ต 3000 และบริการบนพอร์ต 5101 ซึ่งสามารถเข้าถึงได้โดยไคลเอ็นต์เดสก์ท็อป
บริการ Retrom มีให้บริการผ่านทาง Cargo การติดตั้งผ่าน cargo จะสร้างไบนารีบนระบบของคุณ ดังนั้นคุณจะต้องติดตั้ง Rust toolchain
ขอแนะนำให้ใช้rustupเพื่อติดตั้งRust toolchain คุณจะต้องตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งการพึ่งพาบางอย่างไว้ในระบบของคุณ:
libssl-dev
(หรือเทียบเท่าสำหรับระบบของคุณ)libpq-dev
(หรือเทียบเท่าสำหรับระบบของคุณ) คำเตือน
คุณจะไม่พบการสนับสนุนสำหรับการขึ้นต่อกันเหล่านี้ในคู่มือนี้ เนื่องจากเป็นข้อมูลเฉพาะของระบบ โปรดดูตัวจัดการแพ็คเกจของระบบของคุณหรืออินเทอร์เน็ตเพื่อขอความช่วยเหลือในการติดตั้งการขึ้นต่อกันเหล่านี้ หากคุณไม่ทราบวิธีการติดตั้งการขึ้นต่อกันเหล่านี้ คุณควรใช้วิธี Docker แทน
หากเป็นไปตามข้อกำหนดเบื้องต้น คุณสามารถติดตั้ง Retrom ผ่าน Cargo ได้โดยใช้คำสั่งต่อไปนี้:
cargo install 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 (การแจกแจงแบบ Debian)*-x64.rpm
ไฟล์สำหรับ Linux (การกระจายแบบ Red Hat) คำเตือน
อิมเมจของเว็บไคลเอ็นต์เลิกใช้แล้ว ใช้เว็บไคลเอ็นต์ที่มาพร้อมกับอิมเมจบริการแทน