legendary

Legendary - A free and open-source replacement for the Epic Games Launcher

GPL-3.0 License

Downloads
1.5K
Stars
4.6K
Committers
10

Bot releases are hidden (Show)

legendary - 0.20.34 - Direct Intervention Latest Release

Published by derrod 10 months ago

Another set of long-overdue fixes, alongside a critical hotfix for the Webview login being broken.

As always you can support Legendary development via Ko-Fi

Note: Due to some compatibility issues no DEB package is provided for this release.

CLI Changes

  • launch command
    • DLC with executable can now be launched (e.g. Unreal Engine Editor for Fortnite)
  • download/install command
    • Added --bind parameter to bind to one or more IPs (e.g. to use multiple network interfaces simultaneously)

Changes

  • Added support for overriding config directory via LEGENDARY_CONFIG_PATH environment variable

Bug fixes

  • Fixed info command crashing if game has no custom attributes set
  • Fixed a deadlock when deleting expired user information
  • Correctly check for SDL tags and write tags to config after successful verification (#584/#608)
  • Fixed importing EGL auth on Linux (#589)
  • Fixed opening URLs on Wine, e.g. EA App/Origin game launches (#595)
  • Avoid unnecessary buffer copies in download worker (#621)
  • Fixed list-files not working with empty install tag ""
  • Fixed disable_sdl config option
  • Added python3 shebang
  • Fixed auth --token not working
  • Ignore private apps in user library (metadata cannot be fetched for those)
  • Fixed webview login not working as it now requires a user-agent containing EpicGamesLauncher for some reason
legendary - 0.20.33 - Undue Alarm

Published by derrod over 1 year ago

How does this work again...?

This releases ships some long-overdue bug fixes and a few smaller features including support for uninstallers that some games (pretty much just Fortnite) now have, improved handling of installing additional SDL tags after the fact, and safeguards to prevent two legendary instances running at once from corrupting the database.

As always you can support Legendary development via Ko-Fi or by purchasing CrossOver through my affiliate link

CLI Changes

  • install command
    • --reset-sdl will now work correctly to add or remove SDL content
  • info command
    • Will now show uninstaller information
  • uninstall command
    • (Windows only) Will now run uninstaller for games that specify them
    • Added --skip-uninstaller flag to skip running the uninstaller on Windows

Changes

  • Commands modifying the installed game data will now abort if another instance of Legendary is running a command that modifies it
  • Authentication data is now protected by a file lock to prevent two simultaneously running instances from invalidating OAuth tokens (based on #566 by @CommandMC)
  • non-TTY output is now forced to be UTF-8 to solve some issues with Windows's stupid encodings, mainly affecting Heroic
  • Game executables are now searched case-insensitively when importing to fix them not being found in some cases #542 by @CommandMC
  • Added a warning if a game ships with the Epic Online Services Installer as it may require manual setup for the game to work properly (e.g. Fall Guys)
  • The downloader will now check if files exist locally to automatically redownload missing files when updating or changing install tags/SDL, rather than simply trusting the currently installed manifest

Bug fixes

  • Fixed a crash in list-saves if a game no longer has metadata (e.g. was removed from account)
  • Fixed info command not displaying install information if DLC is available
  • Fixed a potential crash during metadata refresh if data for multiple platforms is cached locally
  • Fixed save sync always requesting all save games even if an app name is specified
  • Fixed cloud save file pattern matching not behaving the same as the Epic Games Launcher itself
  • When running update the installed version for an app is now updated even if no files changed, e.g. with Civilization VI DLC that had its version increased along the base game even though no changes were made to the files
legendary - 0.20.32 - Dark Energy (hotfix #6)

Published by derrod almost 2 years ago

This release improves handling of login errors due to Epic requiring account actions and fixes installing some games (cough KSP) that have specified invalid installation directories.

As always you can support Legendary development via Ko-Fi or by purchasing CrossOver through my affiliate link

Changes

  • Handle "corrective actions" errors from Epic
  • Strip whitespace from install folder
  • Add timeout to manifest downloads

Note: Due to my Mac no longer having a universal python build the attached binary is x86/Intel and will run through Rosetta. This shouldn't really be an issue, but is annoying.

legendary - 0.20.31 - Dark Energy (hotfix #5)

Published by derrod almost 2 years ago

This release fixes a bug that could lead to game or save data being deleted when downloading a cloud save.

At what point do hotfixes stop being "hot"?

As always you can support Legendary development via Ko-Fi or by purchasing CrossOver through my affiliate link

Note: This version requires python3.9 or higher.

Changes

  • Fixed cloud save sync not respecting include/exclude filters (#497)
  • .deb files are now Ubuntu 22.04 or higher
  • Switch GraphQL API host for Uplay Activation so that user-agent workaround is hopefully no longer required
  • Added --accept-path flag to sync-saves to accept resolved path instead of skipping when -y is set

Note: Due to my Mac no longer having a universal python build the attached binary is x86/Intel and will run through Rosetta. This shouldn't really be an issue, but is annoying.

legendary - 0.20.30 - Dark Energy (hotfix #4)

Published by derrod almost 2 years ago

This is another hotfix release for Legendary mainly fixing logging in via WebView2 on Windows.

As always you can support Legendary development via Ko-Fi or by purchasing CrossOver through my affiliate link

Note: This version requires python3.9 or higher.

Changes

  • Fix WebView login being broken on Windows due to Epic web changes (#491)
  • Fixed incompatible DLCs being shown as installable (e.g. Windows-only DLCs on macOS)
  • Added support for manifest feature level 21
    • Not currently used, but will finally add uninstall commands once rolled out (Finally you'll be able to uninstall EAC on Windows :P)
  • Some behind-the-scenes cleanup in preparation for larger reworking of Legendary internals to prepare for new features (Steam sync, downloader rewrite, etc.)

Note: Due to my Mac no longer having a universal python build the attached binary is x86/Intel and will run through Rosetta. This shouldn't really be an issue, but is annoying.

legendary - 0.20.29 - Dark Energy (hotfix #3)

Published by derrod about 2 years ago

This is another hotfix release for Legendary, that fixes downloading of manifests not working sometimes due to Epic breaking their CDN for some reason, as well as some other minor fixes that have been made since the last release.

As always you can support Legendary development via Ko-Fi or by purchasing CrossOver through my affiliate link

Changes

  • Try all manifest URLs until one works (#477, thanks @CommandMC)
  • Workaround GraphQL not working with newer EGL user agent (#474)
  • Fix some potential zero division error in file verification by using high-precision timers (thanks @loathingKernel for the suggestion)
  • Added separate .deb file built for Ubuntu 22.04 and later that includes webview login (untested)
legendary - 0.20.28 - Dark Energy (hotfix #2)

Published by derrod about 2 years ago

This is a major(?) hotfix release for Legendary, that fixes the Epic login not working and includes some other minor fixes that have been made since the last release.

As always you can support Legendary development via Ko-Fi or by purchasing CrossOver through my affiliate link

Changes

  • Uses authorization code instead of SID for login (#468, thanks @nutterthanos for the tip)
    • Note: legendary auth has been changed so that --code is now used for such authorization codes, and --token for exchange tokens
  • Fixes the EOS Overlay not being correctly deleted on Linux (#441)
  • Fall back to wine/proton prefix or bottle set in env vars for save-path resolution (#461)
  • Fixed locale fallback (#457)
  • Fixed connection errors on login not being handled (#447)
legendary - 0.20.27 - Dark Energy (hotfix #1)

Published by derrod over 2 years ago

This is a minor hotfix release for Legendary, that addresses a few issues reported or fixed since 0.20.26, but brings no major new features or changes.

As always you can support Legendary development via Ko-Fi or by purchasing CrossOver through my affiliate link

EOS Overlay on Linux

With the latest DXVK and Wine updates the EOS overlay is now functional on Linux. This means that it can be used to invite friends, see your achievements, etc.

Legendary supports installing and enabling the overlay via the eos-overlay commands, which have been updated to make life a little easier.

To set up the overlay for a prefix you can run legendary eos-overlay install followed by one of:

  • legendary eos-overlay enable --prefix /path/to/prefix
  • legendary eos-overlay enable --app <app name> - if a prefix for that app is set in the Legendary config
  • legendary eos-overlay enable --bottle <bottle name> (macOS only)

This step must be repeated for any prefix the overlay is supposed to be enabled in.
Note that at the time of writing this has not been tested on macOS.

Changes

  • If the local manifest is missing for some reason the user will now be instructed on how to recover from this issue by running legendary repair --repair-and-update <app name>
  • eos-overlay no longer requires a prefix to be set for install/update, remove, and info subcommands
  • On Windows double-clicking the executable will now show a CMD window with instructions on how to use Legendary properly (#436)
  • Added check to notify user if no Origin games are available (#408)
legendary - 0.20.26 - Dark Energy

Published by derrod over 2 years ago

It's been a long time, how have you been?

This is a minor bugfix release for Legendary, that addresses a few issues reported or fixed since 0.20.25, but brings no major new features or changes.

As always you can support Legendary development via Ko-Fi or by purchasing CrossOver through my affiliate link

Changes

  • Legendary will now automatically override the launch executable for several games using incompatible launchers
    • 2K Launcher: Bioshock 1/2/Infinite, XCOM 2, and CIV VI
    • Borderlands Launcher: Borderlands 2, Pre-Sequel, and Tiny Tina's One-Shot Adventure
  • install will show a warning for all other games using the 2K Launcher, and suggest executables that could be used via override_exe to launch the game directly
    • If you encounter such a game and figure out which executable should be used, please let us know on Discord or in this Github Discussion so we can add it to the list of automatic overrides!
  • install now shows available wiki entries before and after installing
  • Disk space error will now use GiB instead of MiB to be a bit more useful

Fixes

  • -y/--yes will now correctly work with sync-saves and skip unconfigured games
  • Fix parsing the WINE registry files in case there are duplicate keys (#407)
  • Fix zero division error when verifying (#412)
  • Fix CX_BOTTLE being checked even when CrossOver is not in use (#414)
  • Fix command in moving failed error message (#416)
  • Add additional checks for the existence of EGL folders (#421)
  • Fix pywebview deprecation issue (#423)
  • Fix store API hostname (this broke Ubisoft activation) (#434)
  • Fix in-use manifests being erroneously deleted when running the cleanup command
  • Fix apps being installed into ~/Applications on macOS when not all files are in an app bundle
legendary - 0.20.25 - Our Benefactors

Published by derrod over 2 years ago

This is a minor feature and bugfix release to solve some issues related to EGL sync and game compatibility.

CLI Changes

  • egl-sync
    • --migrate flag added to migrate game installations from the Epic Games Launcher to Legendary
      • This will remove games from EGL and only manage them via Legendary
      • This can be useful if you wish to uninstall EGL completely, which otherwise would also uninstall all your games
  • launch
    • Additional command-line parameters are now added before the EOS ones to work around certain games' command line parsing being bad (e.g. Elite: Dangerous)

Fixes and Improvements

  • The installation directory is now checked for write access before starting the install (#395)
  • Uplay activation errors are now logged to aid debugging
  • Manifest file hashes are now verified against the API
  • Added new -epicsandboxid EOS launch parameter (may fix #367, not sure yet)
  • Fixed unhandled exception when no overlay installs are found
  • Fixed unhandled exception when trying to uninstall a synced game after the Epic Games Launcher has been uninstalled
  • Fixed disable_https not applying to manifest downloads
  • Fixed Windows build missing pywebview for webview-based login

As always you can support Legendary development via Ko-Fi or by purchasing CrossOver through my affiliate link

legendary - 0.20.24 - "Follow Freeman!" (Hotfix #1)

Published by derrod almost 3 years ago

0.20.24 Hotfix Notes

  • Fixed aliases for old command names not actually working (whoops)

Original 0.20.23 Release

This is the biggest release in quite a while, intended to make using Legendary on Macs easier than ever before, and bringing some previously missing overlay features to Windows. Of course, there are improvements and bug fixes for Linux users as well.

CrossOver integration (macOS)

legendary_0 20 23_mac_demo

This release adds integration with CrossOver to make running Windows games on your Mac as easy and seamless as possible.
After a brief one-time setup, games can be run immediately after installing with zero additional configuration required.
Thanks to CodeWeaver's work on CrossOver and DXVK-on-Metal many titles will "just work".

If you wish to purchase a copy of CrossOver you can support Legendary development (♥) and save a bit by purchasing it through my affiliate link and using the promo code LEGENDARY15 on https://www.codeweavers.com/store.

Of course it is still possible to configure which bottles to use, which CrossOver version to run, etc. Either via new config and command line parameters or the new crossover command or --crossover launch option which will provide an interactive setup allowing you to select a version and bottle to use on a per-game basis or as the default.

In addition to the semi-automatic setup Legendary also offers an experimental fully automatic setup (just requires CrossOver to be installed). The new crossover --download option makes it possible to download and set-up preconfigured Bottles and get started in no time. Currently this offers a clean default bottle as well as one set-up for Rocket League, but this may be expanded upon in the future.
This feature is experimental and not supported by CodeWeavers, please only report issues on the Legendary Discord or this repo.

As part of this effort a few workarounds for games have already been added to the Wiki, and this will be expanded upon more in the future as people try games and discover compatibility issues and work out how to fix them.

Also see full setup guide on the Wiki: https://github.com/derrod/legendary/wiki/CrossOver-Setup-(macOS)

Currently I have no plans on expanding this to Linux, as the community-driven support for Wine and sorrunding toolset is very good there compared to macOS, but if there's demand for supporting CrossOver on Linux I may look into expanding it to that in the future.

Finally, I'd like to thank the folks over at CodeWeavers for answering a whole bunch of my questions that helped make this possible, and also for providing me with the promo code mentioned above!

EOS Overlay Management (mainly Windows)

With this release it becomes possible to install and manage the Epic In-Game Overlay on your machine to use social features and view achievments without having to install the Epic Games Launcher. It's also possible to disable or enable the overlay at will without having to uninstall it.

Currently the overlay only works on Windows, but installation into Wine prefixes or Bottles is possible in case it starts working with a new overlay and/or Wine version. Or if there's a game that for some reason requires it to be running, even if it's not functional on Linux/Mac.

Default Installation Directory Changes

The default installation directory has been changed to ~/Games for Windows titles, and ~/Applications for Mac-native applications. This does not affect existing installations and can be changed with the install_dir and mac_install_dir config variables.

Additionally, this release provides the new move command to make it easier to move currently installed games to a new location (see commands section below for details).

Pre-Launch Commands

Commands can now be run before the game is launched via the pre_launch_command configuration option. This can be set globally or per-game and allows running any application or script before or as the game is being launched (depending on the pre_launch_wait setting).

The use cases for this include things like changing power-saving mode when launching a game, automatically starting a recording, etc. I'm sure people will find good uses for it.

CLI Changes

As part of this release several things were cleaned up and changed in the Command Line Interface, this includes re-ordering commands to be in alphabetical order, renaming a few of them to remove unnecessary parts, and also not showing the wall of text that is the full help unless -H/--full-help is specified. Also some whitespace was added around important messages that would otherwise be somewhat drowned out by the rest of the output.

One of the changes in this update is a new message shown when finalsing a game install that notifies the user about known workarounds or fixes for the selected title on their current operating system.
This largely draws upon the work of @CommandMC and his EpicLinux Wiki, with some additional entries pulled from the Legendary Wiki itself (mainly for macOS).
This feature is something I do want to build upon in the future to provide more info about game compatibility directly within Legendary.

General

  • Added -A/--api-timeout parameter to change the HTTP request timeout for the Epic API (default: 10 seconds)
  • Added -H/--full-help flag to show full help (all commands) rather than just the list of commands
  • Deprecated and hid -c/--config-file option, which will be removed in the future as it has caused more issues than it solves

Commands

  • crossover [new]
    • Usage: legendary crossover [App Name]
      • This will run an interactive setup to select the CrossOver version (if more than one) and Bottle to use for an app or as the default (if no app name specified)
    • --crossover-bottle and --crossover-app can be used to skip the respective interactive selection
    • --reset can be used to remove the current selection from the config
    • --download (experimental)
      • With this option a selection of preconfigured bottles that are available for download will be shown instead, including recommendations depending on the specified app name
      • If a bottle is selected it will be downloaded and set up automatically, it can be reconfigured using CrossOver later, but is generally intended to work out of the box
      • When --ignore-version is specified all Bottles will be shown, regardless of the versions they're marked as compatible with
  • eos-overlay [new]
    • Usage: legendary eos-overlay <subcommand>
    • Subcommands:
      • install/update/remove - download and install or uninstall the overlay (default: ~/Games/.overlay)
      • enable/disable - add/remove the registry entries used by the EOS SDK to find the overlay installation to load
      • info - prints some information about the current registry configuration and overlay install (if any)
    • --path can be used to override the installation location or overlay install to "enable"
    • --prefix/--bottle to specify wine prefix/bottle to enable overlay in, if set in the config --app <app name> can be used instead
  • install
    • Will now fall back to "Windows" by default if the specified platform is not available (this can be disabled in the config)
    • Will now show a notice on game workarounds after finishing the installation
  • launch
    • --crossover flag to go through interactive setup (like crossover command), but immediately launch the game after
    • --crossover-app and --crossover-bottle parameters to specify or override the used version and bottle
  • move [new]
    • Usage: legendary move <app name> <new location>
      • For example: legendary move sugar ~/Games will move the RocketLeague game folder from its previous location into ~/Games
    • --skip-move flag to only update the Legendary database, without actually moving the game files
      • Moving currently only works on the same drive, so this allows to easily and safely update the installed games database after a manual move
  • verify
    • Now shows average read speed during the verification process
    • Also shows verification process on a per-file basis for "large" files (>= 512 MiB)

Renamed commands:

  • import-game => import
  • list-games => list
  • verify-game => verify

The old command names will still work as aliases, but those may be removed in the future.

Config Changes

Per-app settings:

[App Name]
; A command to run before launching the gmae
pre_launch_command = /path/to/script.sh
; Whether or not to wait for command to exit before starting the game
pre_launch_wait = false

macOS specific

Legendary settings:

[Legendary]
; Fallback to "Windows" platform if native version unavailable
install_platform_fallback = true
; Disable automatic CrossOver use
disable_auto_crossover = false
; Default directory for native Mac applications (.app packages)
mac_install_dir = /User/legendary/Applications

Per-app settings:

[App Name]
crossover_app = /Applications/CrossOver.app
crossover_bottle = Legendary

Miscellaneous changes and improvements

  • Add support for legacy Wine appdata paths in save game path resolver
  • Fixed importing games with EGL sync enabled (#391)
  • Fixed reading EGL metadata on non-English Windows installs (#383)
  • Fix case-insensitive path resolver on Linux
  • Fix required disk size calculation during install, again, but once and for all
  • Fix installing prerequisites that require admin priviledges on Windows
  • Fixed user-agent not being set correctly (#388)
  • Fixed deprecation warnings on Python 3.10+
  • Laid some groundwork for supporting future Epic APIs that are currently unused

Note about Windows exe: Now built using Python 3.9, which will no longer run on Windows 7 or older (which wasn't supported anyway)
Note about macOS binary: Built as universal binary using pre-release version of PyInstaller 4.8, please let me know if there are any issues on Intel Macs

legendary - 0.20.23 - "Follow Freeman!"

Published by derrod almost 3 years ago

This release had an issue, please use 0.20.24 instead: https://github.com/derrod/legendary/releases/tag/0.20.24

(Binaries retained for archive purposes)

legendary - 0.20.22 - Anticitizen One (hotfix #3)

Published by derrod almost 3 years ago

Another smaller hotfix to address some outstanding issues before my Christmas break:

  • Re-enabled selective downloading (SDL) on macOS and added definintion files for macOS to the API
  • Fixed repair when the installed manifest is unavailable for some reason (#380)
  • Fixed cleanup command which was broken after adding macOS support
  • Disabled semi-automatic Origin activation on Linux (for now) and show instructions for manual process instead
  • Added external_activation to info command output to note if a game requires activation via Origin or Uplay

Also check out the previous 0.20.19 release and 0.20.20/21 hotfixes:

legendary - 0.20.21 - Anticitizen One (hotfix #2)

Published by derrod almost 3 years ago

Small hotfix release to address some issues that have cropped up recently.

  • import-game Command
    • Fixed check for game executable not working
    • Will now always abort if no game files are found
    • Will now suggest adding the default game installation directory if it's not already present in the user-supplied path
  • activate Command
    • Uplay DLC is now also checked for outstanding activations

Also check out the previous 0.20.19 release and 0.20.20 hotfix:

legendary - 0.20.20 - Anticitizen One (hotfix)

Published by derrod almost 3 years ago

This is a small hotfix release to resolve some issues with 0.20.19 as well as some small (backwards-compatible) change to the CLI.

  • list-games
    • Now also shows a notice about activation for Ubisoft titles
    • --include-non-installable has been renamed to -T/--third-party. The old name may be removed in a future release
  • activate
    • Added -U shortcut and --ubisoft alias to --uplay option
    • Added -O/--origin option to activate origin games
      • This is a slower and more manual process compared to Uplay and requires user-interaction for each title
  • SDL (selective downloading) is now disabled when using macOS versions as there are no Mac SDL definition files available at the moment
  • Fixed metadata not being updated when 5 or fewer titles were updated

Also check out the full 0.20.19 changelog: https://github.com/derrod/legendary/releases/tag/0.20.19

legendary - 0.20.19 - Anticitizen One

Published by derrod almost 3 years ago

legendary_multiplatform_version

Two major features, a whole bunch of bugfixes, please don't break it too quickly!

macOS support

Legendary now supports macOS out of the box, both native and Windows titles (through WINE) can be installed and launched.
Cloud saves are also supported, as well as most other features. Syncing installed games with the Mac version of the Epic Games Launcher is unsupported however (no ETA).

When using legendary on macOS it will now prefer native titles by default, to list/download Windows titles use --platform Windows or change the default_platform configuration variable.

Note that due to a bug in PyInstaller the provided binary is x86 only. This will change once PyInstaller releases a fixed version.

Uplay / Ubisoft game activation

Rejoice a long-standing problem (issue #69, nice) is finally solved! The new activate command allows for activating Uplay titles purchased/claimed on the Epic Games Store to be activated on your Ubisoft account. They can then be installed directly via Uplay, no third-party launcher needed.

To activate your titles simply run legendary activate --uplay, if you do not have a Ubisoft account linked yet simply follow the instructions provided.

CLI Changes

  • activate [New]
    • Currently only supports Uplay via --uplay parameter
    • After acivating your games they will be available for install in Uplay, installation via Legendary is not required
  • import-game
    • Added --platform parameter, defaults Windows on Linux/Windows and Mac on macOS
  • info
    • Will now show macOS version/cloud save information if available
    • Added --platform parameter, defaults Windows on Linux/Windows and Mac on ma
  • install
    • --platform no longer disables installing, defaults Windows on Linux/Windows and Mac on macOS
    • Improved the visibility of pre-install warnings to make it more clear when games have potential issues (e.g. using anti-cheat, or requriing Uplay)
  • list-files/list-games
    • --platform parameter now defaults to Windows on Linux/Windows and Mac on macOS
  • list-installed
    • Now displays platform for each installed gamecOS
  • status
    • Includes current OS and version for issue submissions
  • sync-saves
    • Now supports native macOS titles

Miscellaneous fixes and improvements

  • Improved speed of metadata updates by using multithreaded requests
  • Addeddefault_platform config value to override OS-detection based selection (Mac on macOS, Windows everywhere else)
  • The update notification now includes the download URL for the new release for direct wget'ing (or curl'ing if that's more your thing)
  • Improved manifest parser to be forwards-compatible but warn users about potential issues
  • Fixed a crash if metadata for DLCs is missing for some reason (still investigating how that happens)
  • Various backend improvements to allow for mixing installed platforms
    • If you have debug logging enabled you may see some warnings about files not being found or being invalid, those can be ignored as they simply trigger the rebuild of the affected files into the new format/naming convention
  • Fixed required disk space calculation (again, for like the fifth time)
  • Added feature to downloader to make files executable (for macOS)

As a sidenote, the repo now includes a Kaitai Struct definition file for Epic's binary manifest format: doc/ue_manifest.ksy

legendary - 0.20.18 - Entanglement (EGL Sync Hotfix)

Published by derrod almost 3 years ago

This is a quick hotfix to fix syncing with EGL version 13.0.6 or newer. Currently it will work but show a warning, a future version will fix this properly.

Bug fixes and improvements

  • Skip over unknown data in file manifest list
  • Allow specifying base-url when no saved base urls present

Original 0.20.17 Changelog

CLI Changes

  • clean-saves [new]
    • Deletes old cloud saves that no longer have their corresponding chunk files present (this can happen if EGL is used as it removes duplicate save data)
    • --delete-incomplete to also delete a cloud saves if it's only partially missing
  • download-saves/sync-saves
    • If a save's data is no longer present, legendary will now suggest to run clean-saves and try again
  • info
    • Will now show an error if no information is available
    • Ensure empty items in JSON output are null instead of an empty object
  • install
    • If a game managed by a third party store (e.g. Origin) is selected the installation will now abort

Fixes and Improvements

  • Several fixes to save game path resolution
    • The {AppData} variable will now correctly resolve to %LOCALAPPDATA% rather than %APPDATA%
    • On Linux save paths now attempt to resolve case-insensitively to avoid some issues with game metadata specifying all-lowercase paths
  • Prevent app name colliding with itself when generating aliases
  • When uninstalling, only attempt to delete game files that should be installed based on selected install tags
  • Metadata for apps that are no longer available (e.g. refunded, free weekend, after switching accounts) will be deleted from disk
  • --csv/--tsv line endings are now explicitly set to \n to prevent issues when piping the output on Windows
legendary - 0.20.17 - Entanglement

Published by derrod almost 3 years ago

This is yet another release mostly fixing a few issues and providing a new command to clean cloud saves that have become obsolete/corrupt.

CLI Changes

  • clean-saves [new]
    • Deletes old cloud saves that no longer have their corresponding chunk files present (this can happen if EGL is used as it removes duplicate save data)
    • --delete-incomplete to also delete a cloud saves if it's only partially missing
  • download-saves/sync-saves
    • If a save's data is no longer present, legendary will now suggest to run clean-saves and try again
  • info
    • Will now show an error if no information is available
    • Ensure empty items in JSON output are null instead of an empty object
  • install
    • If a game managed by a third party store (e.g. Origin) is selected the installation will now abort

Fixes and Improvements

  • Several fixes to save game path resolution
    • The {AppData} variable will now correctly resolve to %LOCALAPPDATA% rather than %APPDATA%
    • On Linux save paths now attempt to resolve case-insensitively to avoid some issues with game metadata specifying all-lowercase paths
  • Prevent app name colliding with itself when generating aliases
  • When uninstalling, only attempt to delete game files that should be installed based on selected install tags
  • Metadata for apps that are no longer available (e.g. refunded, free weekend, after switching accounts) will be deleted from disk
  • --csv/--tsv line endings are now explicitly set to \n to prevent issues when piping the output on Windows
legendary - 0.20.16 - Nova Prospekt (hotfix #2)

Published by derrod about 3 years ago

0.20.16 Hotfix notes

Yet another hotfix to fix further issues with the webview based login and some other minor issues.

Fixes and improvements

  • Disabled webview login on Windows unless WebView2 is available (should be the case on any reasonably up to date Windows 10/11)
  • Show error when attempting to verify/update a game installation in a directory that no longer exists
  • Corrected Origin launch URL construction to match EGL
  • Fixed launch --dry-run not working for Origin titles
  • DLC can now be uninstalled separately from the main game
  • info Command
    • Now works correctly for apps without assets (e.g. Origin games)
    • Now shows a breakdown of install/download size by install tag
    • No longer prints headers for empty sections

0.20.15 Hotfix notes

This is a hotfix to address two potential crashes, one of which had been reported on AUR.

Bug fixes

  • Catch exception in the aliasing system when a game name (or part thereof) only contains prepositions
  • General catch-all for exceptions raised by the webview module with a note on how to disable it

Original 0.20.14 Changelog

Release Highlights

Starting with this release Legendary offers the option to log into your Epic account via an embedded web view. This greatly simplifies the sign-in process for first-time users or those not all too familiar with the technical language used during the manual login flow.

legendary_gui_login

This feature is already available in the Windows binaries and can be easily installed on most Linux distributions. The prebuilt Linux binaries do not currently support it but may in the future.

Installation notes

  • Windows: use the prebuilt .exe or install legendary via pip install legendary-gl[webview] - no further dependencies required!
  • Linux:
    1. Install legendary 0.20.14+ and pywebview 3.4+ (e.g. using pip install -U legendary-gl[webview])
    2. Install PyGObject
      • On Debian/Ubuntu this can be done via sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0
      • See the PyGObject documentation for instllation instructions for other systems
  • macOS: unsupported

Notes for third-party package maintainers

Legendary requires pywebview of version 3.4 or higher. If your distribution provides recent enough packages for pywebview you can add it and its dependencies for one of its supported web engines to your legendary package. See the pywebview documentation for details.

While pywebview supports both Qt (QtWebKit / QtWebEngine) and GTK (WebKit2) as rendering engines, only GTK has been tested extensively and is the recommended option.

Should you want/need to use Qt as the dependency in your package please make sure all login options work correctly. At least in my testing on my build machine (running an older Ubuntu LTS release) Qt did not function correctly in some cases.

CLI changes

  • alias command
    • alias add <app name> <alias> will now also resolve aliases used in place of the app name
  • auth command
    • --disable-webview flag to force manual authentication flow even if webview is available
    • Pasting the complete JSON response during manual login will also work if user is unsure what they're supposed to copy
  • install command
    • --skip-dlcs flag to skip asking if the user wants to install DLCs
  • import-game command
    • No longer allows for installing DLC without the base game already being installed (#351)
    • Will now ask the user if they want to import DLC like install does.
    • --with-dlcs flag to automatically attempt to import all DLC
    • --skip-dlcs flag to skip asking if the user wants to import DLCs

Bug fixes and improvements

  • Use exponential backoff when downloading a file fails to avoid runaway CPU usage (#347)
  • Legendary does no longer attempt to read ".egstore" folder for DLC when importing
  • No more re-login after client has already logged in once (unless session is about to expire), e.g. when installing DLC
  • Added pywebview as optional dependency in setup.py to make legendary[webview] option available via PyPI
legendary - 0.20.15 - Nova Prospekt (hotfix)

Published by derrod about 3 years ago

0.20.15 Hotfix notes

This is a hotfix to address two potential crashes, one of which had been reported on AUR.

Bug fixes

  • Catch exception in the aliasing system when a game name (or part thereof) only contains prepositions
  • General catch-all for exceptions raised by the webview module with a note on how to disable it

Original 0.20.14 Changelog

Release Highlights

Starting with this release Legendary offers the option to log into your Epic account via an embedded web view. This greatly simplifies the sign-in process for first-time users or those not all too familiar with the technical language used during the manual login flow.

legendary_gui_login

This feature is already available in the Windows binaries and can be easily installed on most Linux distributions. The prebuilt Linux binaries do not currently support it but may in the future.

Installation notes

  • Windows: use the prebuilt .exe or install legendary via pip install legendary-gl[webview] - no further dependencies required!
  • Linux:
    1. Install legendary 0.20.14+ and pywebview 3.4+ (e.g. using pip install -U legendary-gl[webview])
    2. Install PyGObject
      • On Debian/Ubuntu this can be done via sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0
      • See the PyGObject documentation for instllation instructions for other systems
  • macOS: unsupported

Notes for third-party package maintainers

Legendary requires pywebview of version 3.4 or higher. If your distribution provides recent enough packages for pywebview you can add it and its dependencies for one of its supported web engines to your legendary package. See the pywebview documentation for details.

While pywebview supports both Qt (QtWebKit / QtWebEngine) and GTK (WebKit2) as rendering engines, only GTK has been tested extensively and is the recommended option.

Should you want/need to use Qt as the dependency in your package please make sure all login options work correctly. At least in my testing on my build machine (running an older Ubuntu LTS release) Qt did not function correctly in some cases.

CLI changes

  • alias command
    • alias add <app name> <alias> will now also resolve aliases used in place of the app name
  • auth command
    • --disable-webview flag to force manual authentication flow even if webview is available
    • Pasting the complete JSON response during manual login will also work if user is unsure what they're supposed to copy
  • install command
    • --skip-dlcs flag to skip asking if the user wants to install DLCs
  • import-game command
    • No longer allows for installing DLC without the base game already being installed (#351)
    • Will now ask the user if they want to import DLC like install does.
    • --with-dlcs flag to automatically attempt to import all DLC
    • --skip-dlcs flag to skip asking if the user wants to import DLCs

Bug fixes and improvements

  • Use exponential backoff when downloading a file fails to avoid runaway CPU usage (#347)
  • Legendary does no longer attempt to read ".egstore" folder for DLC when importing
  • No more re-login after client has already logged in once (unless session is about to expire), e.g. when installing DLC
  • Added pywebview as optional dependency in setup.py to make legendary[webview] option available via PyPI
Package Rankings
Top 26.29% on Conda-forge.org
Top 4.54% on Pypi.org
Badges
Extracted from project README
Discord Twitter Follow