에뮬레이션에 중점을 둔 중앙 집중식 게임 라이브러리/컬렉션 관리 서비스입니다. 한 번 구성하면 어디서나 플레이할 수 있습니다.
경고
대규모 개발 중: 주요 변경 사항이 자주 발생할 것으로 예상되므로 주의해서 설치를 업데이트하세요.
Retrom은 단일 장치에서 게임을 호스팅하고 다른 장치의 클라이언트를 연결하여 설치(제거)/다운로드한 후 해당 게임을 로컬에서 실행할 수 있는 중앙 집중식 게임 라이브러리 관리 서비스입니다.
레트로
준비
섬기는 사람
고객
IGDB
다중 파일 게임(권장)
단일 파일 게임
도서관 구조
메타데이터 제공자
도커(권장)
데스크톱 클라이언트
웹 클라이언트
개요
핵심 기능
스크린샷 및 녹음
로드맵
설치
나만의 클라우드 게임 라이브러리 서비스 호스팅
파일 시스템에서 게임/플랫폼을 검색하고 자동으로 라이브러리에 추가하세요.
수량에 관계없이 데스크톱 클라이언트의 서비스에서 게임을 설치/제거하고 플레이하세요.
Windows, MacOS, Linux를 지원합니다!
웹 클라이언트를 사용하면 어디서나 라이브러리에 액세스할 수 있습니다.
장치 간 구성을 쉽게 공유하거나 재설치 후 복원할 수 있도록 서버에 저장된 에뮬레이터 프로필을 클라이언트별로 관리합니다.
단일 라이브러리 인터페이스에서 사전 구성된 프로필을 통해 모든 양의 에뮬레이터 또는 플랫폼에서 모든 게임을 실행하세요.
지원되는 제공업체로부터 게임 메타데이터와 아트워크를 자동으로 다운로드하여 라이브러리를 스타일 있게 선보이세요!
홈 화면
게임 보기
기본 서버 기능
IGDB 제공자
SteamGridDB 공급자
GamesDB(TGDB) 공급자
파일 시스템에서 라이브러리 항목 검색
라이브러리 항목 추가/제거
라이브러리 항목 편집
메타데이터 다운로드
클라우드 저장 게임/상태/에뮬레이터 NAND
(다중)사용자 인증
Docker 대신 서버 바이너리 게시
기본 클라이언트 기능
이름 바꾸기
삭제
기본값 설정(에뮬레이터를 통해 실행하는 경우)
파일 시스템에서 새 항목 검사
새 항목에 대한 메타데이터 다운로드/업데이트
라이브러리 항목 보기
라이브러리 메타데이터 및 작품 편집
라이브러리 업데이트 작업 트리거
게임 파일 관리
그리드 보기(기본 목록 보기와 반대)
전체 화면 모드 + 컨트롤러 지원
웹(브라우저) 클라이언트 기능(기본 기능에 추가)
게임 다운로드
데스크톱 클라이언트 기능(기본 기능에 추가)
게임 설치/제거
로컬에서 사용 가능한 에뮬레이터 구성
에뮬레이터별로 여러 프로필 구성
플랫폼별 기본 프로필 설정
게임 출시
널리 사용되는 에뮬레이터용 내장 에뮬레이터 프로필
팁
설치 후 빠른 시작 가이드를 확인하여 빠르게 시작하고 실행하세요.
주의
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로 바꿀 수 있습니다.
주의
content_directories
의 path
컨테이너 내부의 경로여야 합니다. Docker를 사용하는 경우 라이브러리 디렉터리를 이러한 경로에 마운트해야 합니다. 자세한 내용은 Docker 섹션을 참조하세요.
{ "연결": {"포트": 5101,"db_url": "postgres://minecraft_steve:super_secret_password@retrom-db/retrom" }, "content_directories": [ { "경로": "경로/내/라이브러리/", "storage_type": "MultiFileGame"}, { "경로": "경로/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/
에 라이브러리가 있다고 가정해 보겠습니다.
예제 구성 파일은 다음과 같습니다.
{ "연결": {"포트": 5101,"db_url": "postgres://minecraft_steve:super_secret_password@retrom-db/retrom" }, "content_directories": [ { "경로": "/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
파일을 시작하면 됩니다.
서비스: Retrom:이미지: ghcr.io/jmberesford/retrom-service:latestports: - 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과 일치해야 합니다. image: postgres:16restart: Except-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
실행하여 서비스를 시작할 수 있습니다.
웹 클라이언트는 포트 3000에서 액세스할 수 있고, 서비스 자체는 포트 5101에서 액세스할 수 있습니다. 이는 모든 데스크톱 클라이언트에서 액세스할 수 있습니다.
Retrom 서비스는 Cargo를 통해서도 제공됩니다. 카고를 통해 설치하면 시스템에 바이너리가 빌드되므로 Rust 툴체인을 설치해야 합니다.
Rust 툴체인을 설치하려면 Rustup을 사용하는 것이 좋습니다. 또한 시스템에 일부 종속성이 설치되어 있는지 확인해야 합니다.
libssl-dev
(또는 해당 시스템에 해당)
libpq-dev
(또는 해당 시스템에 해당)
주의
이러한 종속성은 시스템별로 다르므로 이 가이드에서는 이러한 종속성에 대한 지원을 찾을 수 없습니다. 이러한 종속성을 설치하는 데 도움이 필요하면 시스템의 패키지 관리자나 인터넷을 참조하세요. 이러한 종속성을 설치하는 방법을 모르는 경우 대신 Docker 방법을 사용해야 합니다.
전제 조건이 충족되면 다음 명령을 사용하여 Cargo를 통해 Retrom을 설치할 수 있습니다.
화물 설치 레트로 서비스
그런 다음 다음 명령을 사용하여 서비스를 실행할 수 있습니다.
RETROM_CONFIG=/path/to/your/config.json 레트로m-서비스
릴리스 페이지로 이동하여 플랫폼에 맞는 최신 버전을 다운로드하세요. 클라이언트는 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 기반 배포판)용입니다.
경고
웹 클라이언트 이미지는 더 이상 사용되지 않습니다. 대신 서비스 이미지와 함께 번들로 제공되는 웹 클라이언트를 사용하세요.