2020-05-01 13:08:21 +00:00
# Legendary
2020-05-16 16:21:03 +00:00
## A free and open-source Epic Games Launcher alternative
2020-05-15 14:19:35 +00:00
![Logo ](https://repository-images.githubusercontent.com/249938026/80b18f80-96c7-11ea-9183-0a8c96e7cada )
2020-05-01 13:08:21 +00:00
2021-09-09 07:23:54 +00:00
[![Discord ](https://discordapp.com/api/guilds/695233346627698689/widget.png?style=shield )](https://legendary.gl/discord) [![Twitter Follow ](https://img.shields.io/twitter/follow/legendary_gl?label=Follow%20us%20for%20updates%21&style=social )](https://twitter.com/legendary_gl)
2020-04-14 12:47:46 +00:00
2020-05-16 16:21:03 +00:00
Legendary is an open-source game launcher that can download and install games from the Epic Games platform on Linux and Windows.
2020-09-30 02:48:53 +00:00
Its name as a tongue-in-cheek play on tiers of [item rarity in many MMORPGs ](https://wow.gamepedia.com/Quality ).
2020-04-14 12:47:46 +00:00
2020-05-16 16:21:03 +00:00
Right now Legendary is in beta and not feature-complete. You might run into some bugs or issues.
2021-09-09 07:23:54 +00:00
If you do please [tell us on our Discord ](https://legendary.gl/discord ) or [create an issue on GitHub ](https://github.com/derrod/legendary/issues/new/choose ) so we can fix it!
2021-09-01 13:30:14 +00:00
Please read the the [config file ](#config-file ) and [cli usage ](#usage ) sections before creating an issue to avoid invalid reports.
2020-04-14 12:47:46 +00:00
2020-12-27 21:01:23 +00:00
**Note:** Legendary is currently a CLI (command-line interface) application without a graphical user interface,
it has to be run from a terminal (e.g. PowerShell)
2020-04-21 17:59:58 +00:00
**What works:**
2020-05-01 13:08:21 +00:00
- Authenticating with Epic's service
- Downloading and installing your games and their DLC
2020-04-26 15:45:10 +00:00
- Delta patching/updating of installed games
2020-05-16 16:21:03 +00:00
- Launching games with online authentication (for multiplayer/DRM)
- Syncing cloud saves (compatible with EGL)
2020-05-01 13:08:21 +00:00
- Running games with WINE on Linux
2020-05-29 22:17:06 +00:00
- Importing/Exporting installed games from/to the Epic Games Launcher
2020-04-14 12:47:46 +00:00
**Planned:**
- Simple GUI for managing/launching games
2020-05-01 13:08:21 +00:00
- Better interfaces for other developers to use Legendary in their projects
2020-04-26 15:45:10 +00:00
- Lots and lots of bug fixes, optimizations, and refactoring...
2020-04-14 12:47:46 +00:00
## Requirements
2020-05-15 08:46:24 +00:00
- Linux or Windows (64-bit)
2020-05-01 13:08:21 +00:00
- python 3.8+ (64-bit on Windows)
2020-05-16 16:21:03 +00:00
- PyPI packages: `requests` , optionally `setuptools` and `wheel` for setup/building
2020-04-26 15:45:10 +00:00
## How to run/install
2020-04-27 10:46:22 +00:00
### Package Manager
2020-05-30 02:58:16 +00:00
Several distros already have packages available, check out the [Available Linux Packages ](https://github.com/derrod/legendary/wiki/Available-Linux-Packages ) wiki page for details.
2020-04-27 10:46:22 +00:00
2020-05-06 14:06:24 +00:00
Currently this includes
[Arch ](https://github.com/derrod/legendary/wiki/Available-Linux-Packages#arch-aur ),
2020-05-30 02:58:16 +00:00
[Fedora ](https://github.com/derrod/legendary/wiki/Available-Linux-Packages#fedora ),
[openSUSE ](https://github.com/derrod/legendary/wiki/Available-Linux-Packages#opensuse ), and
[Gentoo ](https://github.com/derrod/legendary/wiki/Available-Linux-Packages#gentoo )
2020-05-06 14:06:24 +00:00
but more will be available in the future.
2020-04-27 10:46:22 +00:00
2020-05-30 02:58:16 +00:00
Note that since packages are maintained by third parties it may take a bit for them to be updated to the latest version.
If you always want to have the latest features and fixes available then using the PyPI distribution is recommended.
2020-04-26 15:45:10 +00:00
### Standalone
2020-12-29 17:18:17 +00:00
2020-05-16 16:21:03 +00:00
Download the `legendary` or `legendary.exe` binary from [the latest release ](https://github.com/derrod/legendary/releases/latest )
2020-04-26 15:45:10 +00:00
and move it to somewhere in your `$PATH` /`%PATH%`. Don't forget to `chmod +x` it on Linux.
The Windows .exe and Linux executable were created with PyInstaller and will run standalone even without python being installed.
Note that on Linux glibc >= 2.25 is required, so older distributions such as Ubuntu 16.04 or Debian stretch will not work.
2020-04-14 12:47:46 +00:00
2020-04-26 15:45:10 +00:00
### Python package
2020-12-29 17:18:17 +00:00
#### Prerequisites
To prevent problems with permissions during installation, please upgrade your `pip` by running `python -m pip install -U pip --user` .
> **Tip:** You may need to replace `python` in the above command with `python3.8` on Linux, or `py -3.8` on Windows.
#### Installation from PyPI (recommended)
2020-05-16 16:21:03 +00:00
Legendary is available on [PyPI ](https://pypi.org/project/legendary-gl/ ), to install simply run:
2020-12-29 17:18:17 +00:00
2020-05-04 17:59:57 +00:00
```bash
pip install legendary-gl
```
2020-04-26 15:45:10 +00:00
2021-10-06 10:03:00 +00:00
Optionally if logging in via an embedded web view is desired also run
```bash
pip install legendary-gl[webview]
```
2021-10-07 09:22:53 +00:00
On Linux this may also require installing a supported web engine and its python bindings.
Ubunutu example:
2021-10-07 08:28:40 +00:00
```bash
2021-10-07 09:22:53 +00:00
sudo apt install python3-gi-cairo
pip install legendary-gl[webview]
```
Alternatively `pip install legendary-gl[webview_gtk]` or `pip install pywebview[gtk]` will work
but may require manually installing dependencies needed to build `PyGObject` .
2021-10-06 17:52:51 +00:00
2021-10-06 18:42:01 +00:00
**Note:** Using pywebview's Qt engine may not work correctly.
2021-10-06 10:03:00 +00:00
2020-05-16 16:21:03 +00:00
#### Manually from the repo
2020-12-29 17:18:17 +00:00
2020-05-16 16:21:03 +00:00
- Install python3.8, setuptools, wheel, and requests
- Clone the git repository and cd into it
2020-12-29 17:18:17 +00:00
- Run `pip install .`
2020-04-26 15:45:10 +00:00
#### Ubuntu 20.04 example
Ubuntu 20.04's standard repositories include everything needed to install legendary:
````bash
sudo apt install python3 python3-requests python3-setuptools-git
git clone https://github.com/derrod/legendary.git
cd legendary
2020-12-29 17:18:17 +00:00
pip install .
2020-04-26 15:45:10 +00:00
````
2020-04-14 12:47:46 +00:00
2020-12-29 17:18:17 +00:00
If the `legendary` executable is not available after installation, you may need to configure your `PATH` correctly. You can do this by running the command:
```bash
echo 'export PATH=$PATH:~/.local/bin' >> ~/.profile & & source ~/.profile
```
2020-04-14 12:47:46 +00:00
2020-04-26 15:45:10 +00:00
### Directly from the repo (for dev/testing)
2020-04-14 12:47:46 +00:00
2020-04-26 15:45:10 +00:00
- Install python3.8 and requests (optionally in a venv)
2020-12-29 17:18:17 +00:00
- cd into the repository
- Run `pip install -e .`
This installs `legendary` in "editable" mode - any changes to the source code will take effect next time the `legendary` executable runs.
2020-04-14 12:47:46 +00:00
2020-04-14 13:50:15 +00:00
## Quickstart
2020-12-29 17:18:17 +00:00
**Tip:** When using PowerShell with the standalone executable, you may need to replace `legendary` with `.\legendary` in the commands below.
2020-12-27 21:01:23 +00:00
2020-04-14 13:50:15 +00:00
To log in:
````
2020-09-30 02:48:53 +00:00
legendary auth
2020-04-14 13:50:15 +00:00
````
2021-10-06 10:03:00 +00:00
When using the prebuilt Windows executables of version 0.20.14 or higher this should open a new window with the Epic Login.
Otherwise, authentication is a little finicky since we have to go through the Epic website and manually copy a code.
The login page should open in your browser and after logging in you should be presented with a JSON response that contains a code ("sid"), just copy the code into the terminal and hit enter.
Alternatively you can use the `--import` flag to import the authentication from the Epic Games Launcher (manually specifying the used WINE prefix may be required on Linux).
Note that this will log you out of the Epic Launcher.
2020-04-14 13:50:15 +00:00
Listing your games
````
2020-09-30 02:48:53 +00:00
legendary list-games
2020-04-14 13:50:15 +00:00
````
This will fetch a list of games available on your account, the first time may take a while depending on how many games you have.
Installing a game
````
2020-09-30 02:48:53 +00:00
legendary install Anemone
2020-04-14 13:50:15 +00:00
````
2021-10-06 10:03:00 +00:00
**Note:** the name used here is generally the game's "app name" as seen in the games list rather than its title, but as of 0.20.12 legendary will try to match game names or abbreviations thereof as well. In this case `legendary install world of goo` or `legendary install wog` would also work!
2020-04-14 13:50:15 +00:00
List installed games and check for updates
````
2020-09-30 02:48:53 +00:00
legendary list-installed --check-updates
2020-04-14 13:50:15 +00:00
````
Launch (run) a game with online authentication
````
2020-09-30 02:48:53 +00:00
legendary launch Anemone
2020-04-14 13:50:15 +00:00
````
2020-04-26 11:44:51 +00:00
**Tip:** most games will run fine offline (`--offline`), and thus won't require launching through legendary for online authentication. You can run `legendary launch <App Name> --offline --dry-run` to get a command line that will launch the game with all parameters that would be used by the Epic Launcher. These can then be entered into any other game launcher (e.g. Lutris/Steam) if the game requires them.
2020-04-14 13:50:15 +00:00
2020-05-22 12:42:01 +00:00
Importing a previously installed game
````
2020-09-30 02:48:53 +00:00
legendary import-game Anemone /mnt/games/Epic/WorldOfGoo
2020-05-22 12:42:01 +00:00
````
2021-10-06 10:03:00 +00:00
**Note:** Importing will require a full verification so Legendary can correctly update the game later.
**Note 2:** In order to use an alias here you may have to put it into quotes if if contains more than one word, e.g. `legendary import-game "world of goo" /mnt/games/Epic/WorldOfGoo` .
2020-05-22 12:42:01 +00:00
Sync savegames with the Epic Cloud
````
2020-09-30 02:48:53 +00:00
legendary sync-saves
2020-05-22 12:42:01 +00:00
````
**Note:** When this command is run the first time after a supported game has been installed it will ask you to confirm or provide the path to where the savegame is located.
2020-05-30 02:58:16 +00:00
Automatically sync all games with the Epic Games Launcher
````
2020-09-30 02:48:53 +00:00
legendary -y egl-sync
2020-05-30 02:58:16 +00:00
````
2020-04-14 12:47:46 +00:00
## Usage
````
2021-10-05 07:35:17 +00:00
usage: legendary [-h] [-v] [-y] [-V] [-c < path / name > ] [-J]
2021-10-02 20:56:19 +00:00
{auth,install,download,update,repair,uninstall,launch,list-games,list-installed,list-files,list-saves,download-saves,sync-saves,verify-game,import-game,egl-sync,status,info,alias,cleanup}
2020-12-18 16:02:00 +00:00
...
2020-04-14 12:47:46 +00:00
2020-09-08 03:14:51 +00:00
Legendary v0.X.X - "Codename"
2020-04-14 12:47:46 +00:00
optional arguments:
-h, --help show this help message and exit
2020-11-12 16:52:02 +00:00
-v, --debug Set loglevel to debug
2020-05-29 23:29:53 +00:00
-y, --yes Default to yes for all prompts
2020-11-12 16:52:02 +00:00
-V, --version Print version and exit
2021-10-02 05:41:21 +00:00
-c < path / name > , --config-file < path / name >
Specify custom config file or name for the config file
in the default directory.
2021-10-05 07:35:17 +00:00
-J, --pretty-json Pretty-print JSON
2020-04-14 12:47:46 +00:00
2020-04-26 11:44:51 +00:00
Commands:
2021-10-02 20:56:19 +00:00
{auth,install,download,update,repair,uninstall,launch,list-games,list-installed,list-files,list-saves,download-saves,sync-saves,verify-game,import-game,egl-sync,status,info,alias,cleanup}
2020-04-26 11:44:51 +00:00
auth Authenticate with EPIC
2020-05-22 12:42:01 +00:00
install (download,update,repair)
2020-05-04 12:30:15 +00:00
Download a game
2020-04-26 11:44:51 +00:00
uninstall Uninstall (delete) a game
launch Launch a game
list-games List available (installable) games
list-installed List installed games
2020-04-30 10:07:53 +00:00
list-files List files in manifest
2020-05-06 14:06:24 +00:00
list-saves List available cloud saves
download-saves Download all cloud saves
2020-05-15 08:46:24 +00:00
sync-saves Sync cloud saves
2020-05-22 12:42:01 +00:00
verify-game Verify a game's local files
import-game Import an already installed game
2020-05-29 23:29:53 +00:00
egl-sync Setup or run Epic Games Launcher sync
2020-09-08 03:14:51 +00:00
status Show legendary status information
2021-10-02 05:41:21 +00:00
info Prints info about specified app name or manifest
2021-10-02 20:56:19 +00:00
alias Manage aliases
cleanup Remove old temporary, metadata, and manifest files
2020-04-14 12:47:46 +00:00
2020-04-26 11:44:51 +00:00
Individual command help:
Command: auth
2020-11-12 16:52:02 +00:00
usage: legendary auth [-h] [--import] [--code < exchange code > ]
2021-10-06 10:03:00 +00:00
[--sid < session id > ] [--delete] [--disable-webview]
2020-04-26 11:44:51 +00:00
optional arguments:
2020-05-15 08:46:24 +00:00
-h, --help show this help message and exit
2020-11-12 16:52:02 +00:00
--import Import Epic Games Launcher authentication data (logs
out of EGL)
2020-05-15 08:46:24 +00:00
--code < exchange code >
2020-11-12 16:52:02 +00:00
Use specified exchange code instead of interactive
authentication
--sid < session id > Use specified session id instead of interactive
authentication
2020-05-30 20:56:20 +00:00
--delete Remove existing authentication (log out)
2021-10-06 10:03:00 +00:00
--disable-webview Do not use embedded browser for login
2020-04-26 11:44:51 +00:00
2020-05-04 12:30:15 +00:00
Command: install
usage: legendary install < App Name > [options]
Aliases: download, update
2020-04-26 11:44:51 +00:00
positional arguments:
< App Name > Name of the app
optional arguments:
-h, --help show this help message and exit
2020-04-14 12:47:46 +00:00
--base-path < path > Path for game installations (defaults to ~/legendary)
2020-11-12 16:52:02 +00:00
--game-folder < path > Folder for game installation (defaults to folder
specified in metadata)
2020-04-14 12:47:46 +00:00
--max-shared-memory < size >
2020-11-12 16:52:02 +00:00
Maximum amount of shared memory to use (in MiB),
default: 1 GiB
--max-workers < num > Maximum amount of download workers, default: min(2 *
CPUs, 16)
--manifest < uri > Manifest URL or path to use instead of the CDN one
(e.g. for downgrading)
--old-manifest < uri > Manifest URL or path to use as the old one (e.g. for
testing patching)
--delta-manifest < uri >
Manifest URL or path to use as the delta one (e.g. for
testing)
--base-url < url > Base URL to download from (e.g. to test or switch to a
different CDNs)
2020-05-30 20:56:20 +00:00
--force Download all files / ignore existing (overwrite)
2020-11-12 16:52:02 +00:00
--disable-patching Do not attempt to patch existing installation
(download entire changed files)
2020-05-05 14:27:14 +00:00
--download-only, --no-install
2021-09-01 13:30:14 +00:00
Do not install app and do not run prerequisite
2020-11-12 16:52:02 +00:00
installers after download
--update-only Only update, do not do anything if specified app is
not installed
--dlm-debug Set download manager and worker processes' loglevel to
debug
2020-04-28 14:18:59 +00:00
--platform < Platform >
2020-11-12 16:52:02 +00:00
Platform override for download (also sets --no-
install)
--prefix < prefix > Only fetch files whose path starts with < prefix > (case
insensitive)
--exclude < prefix > Exclude files starting with < prefix > (case
insensitive)
2020-05-30 20:56:20 +00:00
--install-tag < tag > Only download files with the specified install tag
2020-11-12 16:52:02 +00:00
--enable-reordering Enable reordering optimization to reduce RAM
requirements during download (may have adverse results
for some titles)
--dl-timeout < sec > Connection timeout for downloader (default: 10
seconds)
2020-05-30 20:56:20 +00:00
--save-path < path > Set save game path to be used for sync-saves
2020-11-12 16:52:02 +00:00
--repair Repair installed game by checking and redownloading
corrupted/missing files
2020-09-08 03:14:51 +00:00
--repair-and-update Update game to the latest version when repairing
--ignore-free-space Do not abort if not enough free space is available
--disable-delta-manifests
2020-12-16 19:21:20 +00:00
Do not use delta manifests when updating (may increase
2020-11-12 16:52:02 +00:00
download size)
2020-12-18 16:02:00 +00:00
--reset-sdl Reset selective downloading choices (requires repair
to download new components)
2021-10-02 05:41:21 +00:00
--skip-sdl Skip SDL prompt and continue with defaults (only
required game data)
--disable-sdl Disable selective downloading for title, reset
existing configuration (if any)
2021-09-01 13:30:14 +00:00
--preferred-cdn < hostname >
Set the hostname of the preferred CDN to use when
available
--no-https Download games via plaintext HTTP (like EGS), e.g. for
use with a lan cache
2021-10-02 05:41:21 +00:00
--with-dlcs Automatically install all DLCs with the base game
2020-04-26 11:44:51 +00:00
Command: uninstall
2020-11-12 16:52:02 +00:00
usage: legendary uninstall [-h] [--keep-files] < App Name >
2020-04-26 11:44:51 +00:00
positional arguments:
2020-11-12 16:52:02 +00:00
< App Name > Name of the app
2020-04-26 11:44:51 +00:00
optional arguments:
2020-11-12 16:52:02 +00:00
-h, --help show this help message and exit
--keep-files Keep files but remove game from Legendary database
2020-04-26 11:44:51 +00:00
Command: launch
2020-04-26 15:45:10 +00:00
usage: legendary launch < App Name > [options]
2020-04-14 12:47:46 +00:00
2020-04-26 11:44:51 +00:00
Note: additional arguments are passed to the game
2020-04-14 12:47:46 +00:00
2020-04-26 11:44:51 +00:00
positional arguments:
< App Name > Name of the app
2020-04-14 12:47:46 +00:00
2020-04-26 11:44:51 +00:00
optional arguments:
-h, --help show this help message and exit
2020-11-12 16:52:02 +00:00
--offline Skip login and launch game without online
authentication
2020-04-14 12:47:46 +00:00
--skip-version-check Skip version check when launching game in online mode
--override-username < username >
2020-11-12 16:52:02 +00:00
Override username used when launching the game (only
works with some titles)
--dry-run Print the command line that would have been used to
launch the game and exit
2020-05-22 12:42:01 +00:00
--language < two letter language code >
2020-11-12 16:52:02 +00:00
Override language for game launch (defaults to system
locale)
2020-05-22 12:42:01 +00:00
--wrapper < wrapper command >
Wrapper command to launch game with
2020-11-12 16:52:02 +00:00
--set-defaults Save parameters used to launch to config (does not
include env vars)
2020-06-01 06:41:16 +00:00
--reset-defaults Reset config settings for app and exit
2021-09-01 13:30:14 +00:00
--override-exe < exe path >
Override executable to launch (relative path)
2021-09-08 08:46:02 +00:00
--origin Launch Origin to activate or run the game.
2021-10-02 05:41:21 +00:00
--json Print launch information as JSON and exit
2020-05-30 20:56:20 +00:00
--wine < wine binary > Set WINE binary to use to launch the app
2020-05-23 17:02:13 +00:00
--wine-prefix < wine pfx path >
2020-05-30 20:56:20 +00:00
Set WINE prefix to use
--no-wine Do not run game with WINE (e.g. if a wrapper is used)
2020-04-14 12:47:46 +00:00
2020-04-26 11:44:51 +00:00
Command: list-games
2021-09-02 17:47:10 +00:00
usage: legendary list-games [-h] [--platform < Platform > ] [--include-ue]
[--include-non-installable] [--csv] [--tsv]
2021-10-02 05:41:21 +00:00
[--json] [--force-refresh]
2020-04-26 11:44:51 +00:00
optional arguments:
2020-04-28 14:18:59 +00:00
-h, --help show this help message and exit
--platform < Platform >
2020-11-12 16:52:02 +00:00
Override platform that games are shown for (e.g.
Win32/Mac)
--include-ue Also include Unreal Engine content
(Engine/Marketplace) in list
2021-09-01 13:30:14 +00:00
--include-non-installable
Include apps that are not installable (e.g. that have
to be activated on Origin)
2020-04-30 10:07:53 +00:00
--csv List games in CSV format
--tsv List games in TSV format
2020-09-08 03:14:51 +00:00
--json List games in JSON format
2021-10-02 05:41:21 +00:00
--force-refresh Force a refresh of all game metadata
2020-04-26 11:44:51 +00:00
Command: list-installed
2021-09-08 08:46:02 +00:00
usage: legendary list-installed [-h] [--check-updates] [--csv] [--tsv]
[--json] [--show-dirs]
2020-04-26 11:44:51 +00:00
optional arguments:
-h, --help show this help message and exit
2020-05-30 20:56:20 +00:00
--check-updates Check for updates for installed games
2020-04-30 10:07:53 +00:00
--csv List games in CSV format
--tsv List games in TSV format
2020-09-08 03:14:51 +00:00
--json List games in JSON format
2020-06-02 06:00:51 +00:00
--show-dirs Print installation directory in output
2020-04-30 10:07:53 +00:00
Command: list-files
2020-11-12 16:52:02 +00:00
usage: legendary list-files [-h] [--force-download] [--platform < Platform > ]
2020-12-18 16:02:00 +00:00
[--manifest < uri > ] [--csv] [--tsv] [--json]
[--hashlist] [--install-tag < tag > ]
[< App Name > ]
2020-04-30 10:07:53 +00:00
positional arguments:
2020-05-06 14:06:24 +00:00
< App Name > Name of the app (optional)
2020-04-30 10:07:53 +00:00
optional arguments:
-h, --help show this help message and exit
--force-download Always download instead of using on-disk manifest
--platform < Platform >
Platform override for download (disables install)
--manifest < uri > Manifest URL or path to use instead of the CDN one
--csv Output in CSV format
2020-05-01 13:08:21 +00:00
--tsv Output in TSV format
2020-09-08 03:14:51 +00:00
--json Output in JSON format
2020-11-12 16:52:02 +00:00
--hashlist Output file hash list in hashcheck/sha1sum -c
compatible format
2020-05-01 13:08:21 +00:00
--install-tag < tag > Show only files with specified install tag
2020-05-06 14:06:24 +00:00
Command: list-saves
usage: legendary list-saves [-h] [< App Name > ]
positional arguments:
< App Name > Name of the app (optional)
optional arguments:
-h, --help show this help message and exit
Command: download-saves
2020-05-15 08:46:24 +00:00
usage: legendary download-saves [-h] [< App Name > ]
positional arguments:
< App Name > Name of the app (optional)
2020-05-06 14:06:24 +00:00
optional arguments:
-h, --help show this help message and exit
2020-05-15 08:46:24 +00:00
Command: sync-saves
2020-11-12 16:52:02 +00:00
usage: legendary sync-saves [-h] [--skip-upload] [--skip-download]
2020-12-18 16:02:00 +00:00
[--force-upload] [--force-download]
[--save-path < path > ] [--disable-filters]
[< App Name > ]
2020-05-15 08:46:24 +00:00
positional arguments:
< App Name > Name of the app (optional)
optional arguments:
-h, --help show this help message and exit
--skip-upload Only download new saves from cloud, don't upload
--skip-download Only upload new saves from cloud, don't download
--force-upload Force upload even if local saves are older
--force-download Force download even if local saves are newer
2020-11-12 16:52:02 +00:00
--save-path < path > Override savegame path (requires single app name to be
specified)
2020-05-30 20:56:20 +00:00
--disable-filters Disable save game file filtering
2020-05-22 12:42:01 +00:00
Command: verify-game
usage: legendary verify-game [-h] < App Name >
positional arguments:
< App Name > Name of the app
optional arguments:
-h, --help show this help message and exit
Command: import-game
2020-11-12 16:52:02 +00:00
usage: legendary import-game [-h] [--disable-check]
2020-12-18 16:02:00 +00:00
< App Name > < Installation directory >
2020-05-22 12:42:01 +00:00
positional arguments:
< App Name > Name of the app
< Installation directory >
Path where the game is installed
optional arguments:
-h, --help show this help message and exit
2020-11-12 16:52:02 +00:00
--disable-check Disables completeness check of the to-be-imported game
installation (useful if the imported game is a much
older version or missing files)
2020-05-29 23:29:53 +00:00
Command: egl-sync
2020-11-12 16:52:02 +00:00
usage: legendary egl-sync [-h] [--egl-manifest-path EGL_MANIFEST_PATH]
2020-12-18 16:02:00 +00:00
[--egl-wine-prefix EGL_WINE_PREFIX] [--enable-sync]
[--disable-sync] [--one-shot] [--import-only]
[--export-only] [--unlink]
2020-05-29 23:29:53 +00:00
optional arguments:
-h, --help show this help message and exit
--egl-manifest-path EGL_MANIFEST_PATH
2020-11-12 16:52:02 +00:00
Path to the Epic Games Launcher's Manifests folder,
should point to
/ProgramData/Epic/EpicGamesLauncher/Data/Manifests
2020-05-29 23:29:53 +00:00
--egl-wine-prefix EGL_WINE_PREFIX
2020-11-12 16:52:02 +00:00
Path to the WINE prefix the Epic Games Launcher is
installed in
2020-05-30 20:56:20 +00:00
--enable-sync Enable automatic EGL < - > Legendary sync
2020-06-01 19:21:40 +00:00
--disable-sync Disable automatic sync and exit
2020-05-30 20:56:20 +00:00
--one-shot Sync once, do not ask to setup automatic sync
2020-05-29 23:29:53 +00:00
--import-only Only import games from EGL (no export)
--export-only Only export games to EGL (no import)
2020-11-12 16:52:02 +00:00
--unlink Disable sync and remove EGL metadata from installed
games
2020-09-08 03:14:51 +00:00
Command: status
usage: legendary status [-h] [--offline] [--json]
optional arguments:
-h, --help show this help message and exit
--offline Only print offline status information, do not login
--json Show status in JSON format
2020-11-12 16:52:02 +00:00
2021-10-02 05:41:21 +00:00
Command: info
2021-10-05 07:35:17 +00:00
usage: legendary info [-h] [--offline] [--json] < App Name / Manifest URI >
2021-10-02 05:41:21 +00:00
positional arguments:
< App Name / Manifest URI >
App name or manifest path/URI
optional arguments:
-h, --help show this help message and exit
--offline Only print info available offline
2021-10-05 07:35:17 +00:00
--json Output information in JSON format
2021-10-02 20:56:19 +00:00
Command: alias
usage: legendary alias [-h]
< add | rename | remove | list > [App name/Old alias]
[New alias]
positional arguments:
< add | rename | remove | list >
Action: Add, rename, remove, or list alias(es)
App name/Old alias App name when using "add" or "list" action, existing
alias when using "rename" or "remove" action
New alias New alias when using "add" action
optional arguments:
-h, --help show this help message and exit
Command: cleanup
usage: legendary cleanup [-h] [--keep-manifests]
optional arguments:
-h, --help show this help message and exit
--keep-manifests Do not delete old manifests
2020-04-14 12:47:46 +00:00
````
2020-05-23 17:02:13 +00:00
## Environment variables
Legendary supports overriding certain things via environment variables,
it also passes through any environment variables set before it is called.
Legendary specific environment variables:
+ `LGDRY_WINE_BINARY` - specifies wine binary
+ `LGDRY_WINE_PREFIX` - specified wine prefix
+ `LGDRY_NO_WINE` - disables wine
+ `LGDRY_WRAPPER` - specifies wrapper binary/command line
Note that the priority for settings that occur multiple times is:
command line > environment variables > config variables.
2020-04-14 12:47:46 +00:00
## Config file
Legendary supports some options as well as game specific configuration in `~/.config/legendary/config.ini` :
````ini
[Legendary]
log_level = debug
; maximum shared memory (in MiB) to use for installation
max_memory = 1024
2021-01-02 05:53:21 +00:00
; maximum number of worker processes when downloading (fewer workers will be slower, but also use fewer system resources)
2020-12-07 22:52:43 +00:00
max_workers = 8
2020-04-14 12:47:46 +00:00
; default install directory
install_dir = /mnt/tank/games
2020-05-18 08:58:23 +00:00
; locale override, must be in RFC 1766 format (e.g. "en-US")
locale = en-US
2020-05-29 22:17:06 +00:00
; whether or not syncing with egl is enabled
egl_sync = false
2020-05-30 02:58:16 +00:00
; path to the "Manifests" folder in the EGL ProgramData directory
2020-05-29 22:17:06 +00:00
egl_programdata = /home/user/Games/epic-games-store/drive_c/...
2021-09-01 13:30:14 +00:00
; Set preferred CDN host (e.g. to improve download speed)
preferred_cdn = epicgames-download1.akamaized.net
; disable HTTPS for downloads (e.g. to use a LanCache)
disable_https = false
2021-09-08 09:05:39 +00:00
; Disables the automatic update check
disable_update_check = false
; Disables the notice about an available update on exit
disable_update_notice = false
2021-10-02 20:56:19 +00:00
; Disable automatically-generated aliases
disable_auto_aliasing = false
2020-04-14 12:47:46 +00:00
2021-10-02 05:41:21 +00:00
[Legendary.aliases]
; List of aliases for simpler CLI use
HITMAN 3 = Eider
gtav = 9d2d0eb64d5c44529cece33fe2a46482
2020-04-26 11:44:51 +00:00
; default settings to use (currently limited to WINE executable)
[default]
; (linux) specify wine executable to use
wine_executable = wine
2020-06-01 06:41:16 +00:00
; wine prefix (alternative to using environment variable)
wine_prefix = /home/user/.wine
2020-04-26 11:44:51 +00:00
2021-01-02 05:53:21 +00:00
; default environment variables to set (overridden by game specific ones)
2020-04-26 11:44:51 +00:00
[default.env]
WINEPREFIX = /home/user/legendary/.wine
; Settings to only use for "AppName"
2020-04-14 12:47:46 +00:00
[AppName]
; launch game without online authentication by default
offline = true
; Skip checking for updates when launching this game
skip_update_check = true
; start parameters to use (in addition to the required ones)
start_params = -windowed
2021-10-07 17:19:53 +00:00
wine_executable = /path/to/wine64
2020-05-18 08:58:23 +00:00
; override language with two-letter language code
language = fr
2020-04-14 12:47:46 +00:00
[AppName.env]
; environment variables to set for this game (mostly useful on linux)
2020-04-26 11:44:51 +00:00
WINEPREFIX = /mnt/tank/games/Game/.wine
DXVK_CONFIG_FILE = /mnt/tank/games/Game/dxvk.conf
2020-05-23 17:02:13 +00:00
[AppName2]
; Use a wrapper to run this script
2020-09-08 03:14:51 +00:00
; Note that the path might have to be quoted if it contains spaces
2021-10-07 17:19:53 +00:00
wrapper = "/path/with spaces/gamemoderun"
2020-05-23 17:02:13 +00:00
; Do not run this executable with WINE (e.g. when the wrapper handles that)
no_wine = true
2021-09-01 13:30:14 +00:00
; Override the executable launched for this game, for example to bypass a launcher (e.g. Borderlands)
override_exe = relative/path/to/file.exe
2021-10-02 05:41:21 +00:00
; Disable selective downloading for this title
disable_sdl = true
2020-04-14 12:47:46 +00:00
````