Epic Games CLI (Legendary)
Legendary는 Epic Games Launcher를 대체하는 무료 오픈소스 명령줄 도구입니다. 이 스킬은 사용자가 터미널에서 Epic Games 라이브러리를 관리(게임 설치, 실행, 클라우드 저장 동기화, 컬렉션 탐색 등)하려 할 때 사용하세요.
설치
필수 조건:
- Python 3.9+ (64비트)
- pip 패키지 관리자
PyPI를 통한 설치 (권장):
pip install legendary-gl
웹 브라우저 로그인 지원 필요 시:
pip install legendary-gl[webview]
대안: 소스에서 설치
git clone https://github.com/derrod/legendary.git
cd legendary
pip install .
초기 설정
인증
먼저 Epic Games 계정으로 인증합니다:
# 표준 인증 (브라우저 열어 로그인)
legendary auth
# Epic Games Launcher에서 기존 세션 가져오기 (EGL에서 로그아웃됨)
legendary auth --import
브라우저 기반 인증 과정:
- 기본 브라우저에서 Epic Games 로그인 페이지 열기
- Epic 계정으로 로그인
- 인증 코드 표시
- 터미널로 돌아오면 자동으로 세션 저장
확인
로그인 확인:
legendary whoami
설정은 ~/.config/legendary/config.ini(Linux/macOS) 또는 %APPDATA%\legendary\config.ini(Windows)에 저장됩니다.
명령어 개요
| 명령어 | 설명 |
|---|---|
legendary auth | Epic Games 인증 |
legendary list | 라이브러리의 모든 게임 목록 표시 |
legendary list-installed | 설치된 게임 목록 표시 및 업데이트 확인 |
legendary install <앱> | 게임 설치/다운로드 |
legendary launch <앱> | 게임 실행 |
legendary uninstall <앱> | 게임 제거 |
legendary sync-saves | 클라우드 저장 동기화 |
legendary egl-sync | Epic Games Launcher와 동기화 |
일반적인 사용 사례
게임 라이브러리 탐색
# Epic Games 라이브러리의 모든 게임 목록
legendary list
# 상세 정보와 함께 목록 표시
legendary list --csv
# 메타데이터 강제 새로고침 (목록이 오래된 경우 유용)
legendary list --force-refresh
# Unreal Engine 콘텐츠만 표시
legendary list --include-ue
설치된 게임 관리
# 설치된 게임 목록
legendary list-installed
# 설치된 게임 업데이트 확인
legendary list-installed --check-updates
# 특정 게임 업데이트
legendary update <앱-이름>
# 모든 설치 게임 업데이트
legendary update --skip-dlc
게임 설치
# 게임 설치 (list 명령어의 앱 이름 사용)
legendary install Anemone
# 사용자 지정 디렉토리에 설치
legendary install <앱-이름> --base-path /path/to/games
# 특정 플랫폼으로 설치
legendary install <앱-이름> --platform Windows
# DLC 포함 설치
legendary install <앱-이름> --include-dlc
# 선택적 다운로드 비활성화 (모든 구성 요소 다운로드)
legendary install <앱-이름> --disable-sdl
# 자동 설치 (프롬프트 없음)
legendary install <앱-이름> -y
게임 실행
# 게임 실행
legendary launch "world of goo"
# 오프라인 모드로 실행
legendary launch <앱-이름> --offline
# 실행 명령어만 표시 (실제 실행하지 않음)
legendary launch <앱-이름> --dry-run
# 사용자 지정 매개변수로 실행
legendary launch <앱-이름> --override-exe "path/to/exe" --working-dir "path/to/dir"
클라우드 저장 관리
# 모든 클라우드 저장 동기화 (업로드 및 다운로드)
legendary sync-saves
# 저장만 다운로드 (업로드하지 않음)
legendary sync-saves --skip-upload
# 로컬이 최신이어도 강제 다운로드
legendary sync-saves --force-download
# 오래된 클라우드 저장 정리
legendary clean-saves
게임 정보
# 게임 상세 정보 확인
legendary info <앱-이름>
# 게임 매니페스트 파일 목록
legendary list-files <앱-이름>
# 게임의 사용 가능한 클라우드 저장 목록
legendary list-saves <앱-이름>
기존 게임 가져오기
Epic Games Launcher를 통해 설치된 게임이 있는 경우:
# Epic Games Launcher에서 게임 가져오기
legendary import-game <앱-이름> "/path/to/epic/install/dir"
# Epic Games Launcher와 일회성 동기화
legendary egl-sync --one-shot
# EGL과 지속적 동기화 (macOS에서는 사용 불가)
legendary egl-sync
편의를 위한 별칭
~/.config/legendary/config.ini에 별칭 생성:
[Legendary.aliases]
; 별칭 = 앱 이름
HITMAN 3 = Eider
gtav = 9d2d0eb64d5c44529cece33fe2a46482
그런 다음 명령어에서 별칭 사용:
legendary launch HITMAN 3
legendary install gtav
명령어 참조
legendary list [옵션]
| 옵션 | 설명 |
|---|---|
--platform <p> | 플랫폼별 필터 (Windows/Mac) |
--include-ue | Unreal Engine 콘텐츠 포함 |
-T | 터미널 형식 비활성화 |
--csv | CSV 형식 출력 |
--tsv | TSV 형식 출력 |
--json | JSON 형식 출력 |
--force-refresh | 모든 메타데이터 강제 새로고침 |
legendary install <앱-이름> [옵션]
| 옵션 | 설명 |
|---|---|
--base-path <경로> | 사용자 지정 설치 디렉토리 |
--platform <p> | 특정 플랫폼 |
--include-dlc | DLC 설치 |
--disable-sdl | 선택적 다운로드 비활성화 |
--reset-sdl | 선택적 다운로드 선택 초기화 |
--skip-dl | 다운로드 생략하고 설치만 |
-y | 모든 프롬프트 자동 확인 |
--update | 이미 설치된 경우 업데이트 |
legendary launch <앱-이름> [옵션]
| 옵션 | 설명 |
|---|---|
--offline | 오프라인 모드로 실행 |
--dry-run | 명령어만 표시하고 실행 안 함 |
--json | 실행 정보를 JSON으로 출력 |
--override-exe <경로> | 사용자 지정 실행 파일 |
--working-dir <경로> | 사용자 지정 작업 디렉토리 |
legendary sync-saves [옵션]
| 옵션 | 설명 |
|---|---|
--skip-upload | 저장만 다운로드 |
--force-download | 강제 다운로드 (로컬 덮어쓰기) |
--force-upload | 강제 업로드 (원격 덮어쓰기) |
고급 기능
크로스 플랫폼 게임
# Linux에서 Proton/WINE을 통해 Windows 게임 실행
legendary install <앱-이름> --platform Windows
legendary launch <앱-이름> --wine
# CrossOver로 실행 (macOS)
legendary launch <앱-이름> --crossover-bottle <병-이름>
선택적 다운로드
Legendary는 디스크 공간을 절약하기 위해 선택적 다운로드를 지원합니다:
# 선택적 다운로드 활성화하여 설치
legendary install <앱-이름>
# SDL 선택 초기화
legendary install <앱-이름> --reset-sdl
# SDL 비활성화 (모든 구성 요소 다운로드)
legendary install <앱-이름> --disable-sdl
설정
~/.config/legendary/config.ini 편집:
[Legendary]
max_memory = 2048 ; 최대 공유 메모리 (MB)
max_workers = 8 ; 최대 작업자 프로세스 수
install_dir = ~/Games ; 기본 설치 디렉토리
문제 해결
인증 문제
인증에 실패한 경우:
# 기존 세션 삭제
legendary auth --delete
# 재인증
legendary auth
게임이 실행되지 않는 경우
-
게임에 온라인 인증이 필요한지 확인:
legendary launch <앱-이름> -
DRM이 허용하면 오프라인 모드 시도:
legendary launch <앱-이름> --offline -
--dry-run을 사용해 실행 명령어 확인:legendary launch <앱-이름> --dry-run
느린 다운로드
설정에서 작업자 수 조정:
[Legendary]
max_workers = 16
max_memory = 4096
Epic Games Launcher에서 가져오기
macOS 버전의 EGL은 가져오기를 지원하지 않습니다. 다음 사용:
# Windows/Linux
legendary egl-sync
리소스
- 공식 GitHub: https://github.com/derrod/legendary
- 문서: https://github.com/derrod/legendary#readme
- PyPI 패키지: https://pypi.org/project/legendary-gl/
- 라이선스: GPL-3.0
제한 사항
- 게임 구매 불가 (소유한 게임만 다운로드 가능)
- 무료 게임 청구 불가 (웹 스토어 또는 EGL 사용 필요)
- macOS EGL 동기화 미지원 (EGL 제한)
- 터미널 사용 필요 (GUI 없음)
대안 도구
GUI 환경을 원하는 경우:
- Heroic Games Launcher: https://heroicgameslauncher.com/ (Legendary용 GUI 프론트엔드)
- Lutris: https://lutris.net/ (Legendary 통합 Linux 게임 관리자)