derrod
4e539c4fd5
[cli] Print manifest install tags in "info" command
2021-10-05 09:47:59 +02:00
derrod
ead2bdc16c
[cli] Add global "-J" option to pretty-print JSON
2021-10-05 08:47:28 +02:00
derrod
56fdfba787
[cli] Add JSON output to "info" command
2021-10-05 08:41:57 +02:00
derrod
8460fdfd2a
[cli/core/lfs] Add support for trying multiple encryption keys
...
Should Epic change the key used for EGL in the future we want to
be backwards-compatible to existing (outdated) EGL installs as well
as new ones without having to push out a new release.
Also forces updating of version data before attempting the import to
get the latest key(s) and adds a log message when auth data is deleted.
2021-10-05 07:34:52 +02:00
derrod
09c52b66ff
[cli] Log app title/name when preparing download
2021-10-02 23:09:59 +02:00
derrod
0b97cdeeef
[cli] Add alias management commands
2021-10-02 22:54:56 +02:00
derrod
0d8b74a9e0
[cli/core/utils/lfs] Add automatic alias generation
2021-10-02 21:10:25 +02:00
derrod
8f6cb9c856
[cli] Add alias feature for app names
2021-10-02 07:41:11 +02:00
derrod
f22c8d0ab6
[cli] Add --skip-sdl and --disable-sdl options
...
--skip-sdl simply skips the prompt and selects the defaults.
--disable-sdl disables selective downloading for the title and
will reset existing SDL settings (if any). Can be re-enabled
with --reset-sdl or by removing the config option manually.
The combination "--reset-sdl --disable-sdl" is allowed and will
reset existing tags while keeping SDL disabled.
2021-09-29 08:05:37 +02:00
derrod
f9dad549c3
[cli] Add manifest size and fix crash with no DLC
2021-09-28 09:43:49 +02:00
derrod
ff29b949cb
[cli] Add "--with-dlcs" flag to automatically install all DLCs
2021-09-28 08:07:28 +02:00
derrod
3a608610f3
[cli] Add "info" command for app metadata
2021-09-28 07:58:50 +02:00
derrod
4706a42cee
[cli] Verify app name to be an Origin title when using --origin
2021-09-28 05:57:39 +02:00
derrod
7509550eb1
[cli/core] Add option to force refresh game metadata
2021-09-28 05:56:19 +02:00
derrod
dbc4131ec2
[cli] Use new launch command method in Origin launch
...
By doing this support for wrappers (e.g. Proton) is now also included.
2021-09-28 05:23:39 +02:00
derrod
156b4716f4
[cli] Add --json to Origin launch as well
2021-09-28 05:20:40 +02:00
derrod
b5d4224664
[cli/core] Only return legendary-defined environment variables
2021-09-28 05:07:06 +02:00
derrod
888d62a96d
[cli/core/models] Refactor launch parameters and add --json option
...
Primarily intended to make it easier for third-party applications
(mainly Heroic) to handle launch options on their own by simply
taking the necessary information from legendary and ignoring
user-defined stuff.
Also useful for debugging.
2021-09-28 04:06:54 +02:00
derrod
ee2432c443
[cli/core/lfs] Allow specifying custom config file
2021-09-28 03:07:15 +02:00
derrod
b319cb505c
[cli/downloader.mp] Explicitly set UTF-8 encoding for resume/repair file
...
Fixes #297
2021-09-28 02:42:17 +02:00
derrod
730225c06b
[cli] Include DLC install size
2021-09-10 20:36:51 +02:00
derrod
fbd0df1ecc
[cli/core] Include DLCs in installed games list
...
This should be replaced later on by including information
about the main game in the InstalledGame metadata.
2021-09-10 20:30:53 +02:00
derrod
cffd9040f7
[cli] Strip whitespace from game titles
...
Yoku's Island Express has a \t for some reason...
2021-09-10 16:09:15 +02:00
derrod
21eac6ecfa
[cli] Enable (very manual) Origin linking on Linux
2021-09-08 10:43:30 +02:00
derrod
e8a3a3ec8d
[cli] Use pyinstaller check rather than OS name only
2021-09-08 10:27:26 +02:00
derrod
b12798e6b0
[cli/core/lfs/utils] Fetch SDL data from API
2021-09-05 09:41:54 +02:00
derrod
ba6ec3ecca
[cli/core] Add option to launch games via Origin (Windows only)
2021-09-03 22:59:47 +02:00
derrod
6876371325
[cli] Disable update notice if JSON/CSV/TSV output are used
2021-09-03 21:11:09 +02:00
derrod
d82870a5d3
[cli] Show notice on non-Windows about update delays
2021-09-03 20:14:00 +02:00
derrod
d21e002272
[cli] Force check for updates when trying to login
2021-09-03 20:12:37 +02:00
derrod
315bdfb4a4
[cli/core/lfs] Enable update check by default, make notice optional
...
This will allow legendary to force checking for updates in critical
situations where it may be required. Also enables updating configuration
data on Linux by default.
2021-09-03 20:10:30 +02:00
derrod
0acfc47b33
[cli] Properly catch exception on import
2021-09-03 20:08:20 +02:00
derrod
c53ac14c64
[cli] Catch exception if EGL path resolution fails
2021-09-03 19:23:25 +02:00
derrod
d6e9c5ef46
[cli] Fix EGL Local AppData resolution with newer WINE versions
...
Closes #332
2021-09-03 19:00:56 +02:00
derrod
a465966954
[api/cli/core/lfs] Add Legendary update check
2021-09-02 19:31:04 +02:00
derrod
4d5539c889
[cli/utils] Automatically create missing config sections
2021-09-02 19:31:04 +02:00
derrod
a80244ed37
[cli/core] Add flag to show non-installable games/DLCs
...
This primarily means titles that have to be activated on external stores
such as Battlefront II which has to be installed via Origin.
Addresses half of #202
2021-09-01 15:28:25 +02:00
derrod
d86039dd9b
[cli/core] Add option to disable HTTPS for downloads
...
The EGS client does not use HTTPS for downloads in order to facilitate
the use of tools such as LanCache that use DNS based CDN redirection.
Legendary should be usable in such an environment as well,
but HTTPS will remain on by default.
See: https://lancache.net/news/2019/06/15/steamcache-is-rebranding-to-lancachenet/
2021-08-09 11:31:03 +02:00
derrod
1760c34703
[cli/core] Add option for preferred CDN host
...
Allows a user to specify a preferred CDN via config or command line.
Also changes selection process to match EGS client
(no random selection anymore).
2021-08-09 11:17:15 +02:00
derrod
a4cbf5892a
[cli/utils] Save manually specified install tags to config
...
Requires some testing, may cause issues with supported SDL titles.
2021-06-17 15:21:46 +02:00
derrod
dd3c0429fe
[cli] Filter files by install tag before verifying
2021-06-17 15:08:31 +02:00
derrod
a2280edea8
[cli/core] Add option to override launch executable
2021-01-10 14:24:06 +01:00
derrod
ee3b3fb9fe
Fix various typos and some style complaints
...
Closes #175
2021-01-02 06:53:21 +01:00
derrod
58edb22fce
[cli] egl-sync: Error out if asset information missing
2021-01-02 06:31:47 +01:00
derrod
ba867f1ce6
[cli] Sort game names case-insensitively
2020-12-23 18:04:53 +01:00
derrod
f42d63767c
[cli] Fix crash when not installing
2020-12-17 16:31:38 +01:00
derrod
1226cd1b08
[cli] Remove untagged files when install tags changed
2020-12-17 15:25:01 +01:00
derrod
51c8b67f91
[cli] Add flag to reset SDL selection
2020-12-17 15:24:59 +01:00
derrod
efad90d951
[cli] Do not run SDL for DLC
2020-12-17 15:23:06 +01:00
derrod
dca216d053
[cli] Fix repair-and-update not working correctly
2020-12-17 15:23:06 +01:00
Simão Gomes Viana
34677cc02e
[cli/README] Fix typo in CLI help (manfiests -> manifests) ( #157 )
2020-12-16 20:21:20 +01:00
derrod
1430e321e6
[core/utils] Miscellaneous whitespace, comment, text fixes
2020-12-16 12:37:12 +01:00
derrod
7609553b12
[core/utils] More generic/robust selective dl, add support for Fortnite
...
Existing installations should ask for the install tags that should be used
on first update. It will now be easier to add more games as well.
2020-12-16 12:35:31 +01:00
derrod
80153d07b5
[cli/utils] Add Cyberpunk 2077 language pack hack
2020-12-08 06:43:43 +01:00
derrod
22b7db7a29
[cli] Allow -y/--yes to be specified as part of the subcommand arguments
2020-11-21 14:30:30 +01:00
derrod
8206283755
[core/cli] Warn/Fail if game requires Uplay
...
Addresses #69 but does not fix it.
2020-11-02 19:08:06 +01:00
derrod
80841f89bb
[cli] Add "--keep-files" to uninstall without deleting
2020-11-02 15:55:36 +01:00
derrod
477827033e
[cli/lfs] Add "cleanup" command to remove unused files
2020-11-02 15:53:11 +01:00
derrod
f03a0a46fd
[cli] Add --delta-manifest override
2020-09-09 10:29:57 +02:00
derrod
515705c061
[cli] list-files: Error out of invalid AppName specified
...
Closes #94
2020-09-09 09:53:05 +02:00
derrod
b8b8a5d953
[cli] Add --version and --debug aliases for -V/-v
2020-09-08 18:10:05 +02:00
derrod
b7fd2031f9
[cli] Fix status command when not logged in yet
2020-09-08 17:50:36 +02:00
derrod
6f53964b49
[cli] Add --json output format for some commands
2020-09-08 05:12:14 +02:00
derrod
acb7476a22
[cli] Add basic "status" command
2020-09-08 04:50:14 +02:00
derrod
5b855b0d3e
[cli] Add note about potentially missing games when importing
2020-09-08 04:38:29 +02:00
derrod
7575b8f3a7
[cli/core] Prevent crash when game asset metadata is missing
2020-09-08 04:25:34 +02:00
derrod
e9e40a3782
[cli] Add install size and path to CSV/TSV output
...
Fixes #91 and closes #68
2020-09-05 05:25:13 +02:00
derrod
ade9080152
[cli] Convert import path to absolute
...
Fixes #61
2020-09-05 05:21:36 +02:00
derrod
6711897750
[cli] Add flags for new installer options
...
'--repair-and-update' for updating when repairing (duh)
'--ignore-free-space' to make the free space error a warning instead
'--disable-delta-manifests' to disable the use of delta manifests
Also closes #70
2020-09-05 05:20:27 +02:00
derrod
0a5b53ab6f
[cli/core/utils] Only remove files in manifest during uninstall
...
Some games are using the installation directory to store savegames.
To avoid deleting those, only remove files that are actually in the
manifest and only delete the directory if it is empty.
2020-06-10 18:21:47 +02:00
derrod
4720b59d99
[core/cli] Fix typos in function names
2020-06-05 15:01:02 +02:00
derrod
0e2a61aca5
[cli] list-installed: Show warning if game dir is missing
2020-06-02 12:12:42 +02:00
derrod
1ec6ef1899
[cli] launch: error out if game directory is missing
2020-06-02 12:12:03 +02:00
derrod
2b2e91f372
[cli] Add --show-dirs option to print install directory
2020-06-02 07:54:51 +02:00
derrod
818ac59872
[cli] Add --disable-sync for egl-sync
2020-06-01 12:58:47 +02:00
derrod
de5a1095e0
[cli] Add flag to save/reset launch parameters in config
2020-06-01 08:40:00 +02:00
derrod
a0329a73a9
[cli] Fix -y/--yes for egl-sync auto
2020-06-01 08:18:13 +02:00
derrod
50d6eb02fa
[cli] Check and save path specified with --egl-manifest-path
2020-06-01 08:16:36 +02:00
derrod
92c6fd8601
[cli] Fix --egl-wine-prefix not setting programdata path
2020-06-01 08:13:47 +02:00
derrod
6051edc636
[cli] Show warning for incorrect -y/--yes usage
2020-06-01 08:12:24 +02:00
derrod
5eecabfb4a
[cli/egl] Make EGL auth import work on Linux
2020-05-31 03:16:03 +02:00
derrod
3063f02db3
[cli/core] Implement newer Epic authentication scheme
...
Fixes #52
2020-05-31 02:01:50 +02:00
derrod
1531177d8d
[cli/README] Various changes to help texts
2020-05-30 22:56:20 +02:00
derrod
d03701b3f7
[cli] Run sync even if users selects to not setup auto sync
2020-05-30 02:56:05 +02:00
derrod
0b257e16dd
[cli] Make sure -y works for egl-sync
2020-05-30 01:10:11 +02:00
derrod
918841a743
[cli] Add --yes alias for -y
2020-05-30 01:09:53 +02:00
derrod
028c2ca4e0
[cli] Add --egl-wine-prefix parameter for egl-sync setup
2020-05-30 01:07:45 +02:00
derrod
9231df9d44
[cli] Improve Lutris EGS detection and ask user before using it
2020-05-30 00:16:25 +02:00
derrod
5dac4d51f8
[cli] Add --unlink parameter for egs-sync to remove syncing
2020-05-30 00:11:21 +02:00
derrod
b027bade1c
[cli] Create EGL Manifest directory if parent exists.
2020-05-29 23:43:04 +02:00
derrod
df566bb28f
[cli] Use prompt helper for all y/n prompts
2020-05-29 23:09:21 +02:00
derrod
82f5adfaa4
[cli] Add egl-sync command
2020-05-29 23:09:02 +02:00
derrod
1d7d0eaa38
[core/cli] Import games installed via EGL w/o verification
2020-05-29 00:20:31 +02:00
derrod
2e2bb3ad41
[cli/core/models] Add install size to installed games
2020-05-28 23:05:36 +02:00
derrod
547ea4a2d4
[cli] Make list output more copy-paste friendly
2020-05-28 22:42:36 +02:00
derrod
9867c5f492
[cli] Check for game exe on import and add check override
2020-05-28 02:40:12 +02:00
derrod
f3f86836c8
[cli] Do not set type for --no-wine argument
...
Fixes #46
2020-05-27 21:18:02 +02:00
derrod
3d03d1a15d
[cli] Apply strtobool to NO_WINE env var
2020-05-23 19:01:30 +02:00
derrod
c52cd09eb7
[cli/core] Add env var for wrapper and fix priority
...
Priority should always be command line > env var > config
2020-05-23 18:33:11 +02:00
derrod
6c9e3a1d62
[cli/core] Add flag to disable WINE
2020-05-23 18:29:43 +02:00
derrod
76a0ef6be7
[cli] Treat misc. verification failures as missing
2020-05-23 16:57:06 +02:00
derrod
c7d3846118
[cli] Do not print help for repair alias
2020-05-22 14:39:01 +02:00
derrod
de0b53710a
[cli] Do not include timestamp in threaded logger
2020-05-22 14:31:59 +02:00
derrod
d62b45f899
[cli] Add message notifying users about the resumability of the downloads
2020-05-22 09:54:12 +02:00
derrod
38f5bbd934
[cli/core/models] Add support for importing already installed games
...
Fixes #10 though will need further improvement.
2020-05-20 14:06:55 +02:00
derrod
0d6bcf5950
[cli/core] Add support for launching games with a wrapper
2020-05-20 12:49:51 +02:00
derrod
c904bbfa19
[cli/core] Add repair command/flag
...
Fixes #27
2020-05-20 12:44:45 +02:00
derrod
5b2ebada78
[cli/utils/models] Add "verify-game" command to check game install
2020-05-19 18:29:16 +02:00
derrod
6278a21c77
[cli] sync-saves: Fix crash if metadata is missing
2020-05-19 16:14:20 +02:00
derrod
39f0d4c831
[cli/core/api] Allow setting locale/language
...
Fixes #35 as far as I can tell
2020-05-18 10:58:23 +02:00
derrod
812590db7c
[cli] Fix crash if metadata does not have customAttributes
2020-05-17 15:36:34 +02:00
derrod
7d919c1f2a
[cli] Fix launch command on Windows
2020-05-16 13:57:57 +02:00
derrod
730eaebec9
[cli/core/models] Fix a whole bunch of cloud save issues
...
- Games that didn't already have cloud saves weren't synced
- Games that didn't have local saves didn't behave correctly
- Games that only had local saves also didn't work correctly
2020-05-16 12:50:28 +02:00
derrod
8f656c5a25
[cli] Add flag to disable save game filtering
2020-05-16 12:19:44 +02:00
derrod
b55600f3e3
[cli] Allow specifying save path at install time
...
Also some minor cleanup
2020-05-14 16:40:27 +02:00
derrod
0f01e404a4
[cli/core/downloader] Support multiple filter arguments
...
Fixes #20
2020-05-14 16:32:08 +02:00
derrod
d648d29810
[cli] Automatic DLC installation and cloud save notice
2020-05-14 16:04:03 +02:00
derrod
98df2a0a38
[cli/core/models/utils] Add basic cloud save syncing support
2020-05-14 14:52:33 +02:00
derrod
0df80773c0
[cli] Add --code and --delete options to auth command
...
--code allows specifying an exchange code directly, e.g.
when the web authentication is handled by an external
application.
--delete simply deletes the current authentication data.
2020-05-12 20:01:25 +02:00
derrod
2945c6c91f
[cli/core] Add flags/env vars to override WINE binary/prefix
2020-05-12 02:31:01 +02:00
derrod
f9d56b8d0d
[cli] Sort savegames by manifest and app name
2020-05-12 02:22:10 +02:00
derrod
31530692ef
[api/cli/core] Add extremely basic support for cloud saves
...
Currently only supports downloading all saves to a folder,
in the future it should support automatically extracting save
files to the proper directory (at least on Windows).
2020-05-06 15:40:04 +02:00
derrod
fefd414b8b
[cli] Add --no-install alias for --download-only
2020-05-05 16:03:24 +02:00
derrod
3a08d526d5
[cli] Update CLI descriptions
2020-05-04 14:25:00 +02:00
derrod
4d0ac96bdc
[cli/utils] Add aliases to download command
...
Eventually the "download" command will be changed to
set the --no-install flag by default and "update" will
become --update-only. For now remain backwards compatible
to give people a chance to adjust their scripts and habits.
Fixes #18
2020-05-04 14:21:25 +02:00
derrod
df55f18a78
[cli/core/downloader] Increase timeout and make it configurable
...
Fixes #16
2020-05-04 14:08:26 +02:00
derrod
69383c4788
[cli/core/downloader/utils] Add download reordering optimization
...
This is an optimization that aims to fix issues with some titles
such as World War Z that have lots of duplicated files resulting
in a very high runtime cache requirement.
The basic idea is to group files that share lots of chunks together
so the data can be removed from the cache sooner.
For most games this has little to no effect. For some titles with heavy
duplication it can reduce the RAM usage significantly however. For
instance the RAM requirements for World War Z are reduced from 5.3 GiB
to 499 MiB.
Partially fixes #17
2020-05-04 14:06:25 +02:00
derrod
261d0c636f
[cli/core] Add some more logging
2020-05-01 19:57:42 +02:00
derrod
e976d44fb9
[cli] Fix help metavar for install tags
2020-05-01 15:08:48 +02:00
derrod
5557dc63ae
[cli] only print install tags if present
...
Most games don't seem to use them anyway.
2020-05-01 14:36:50 +02:00
derrod
9b5620ca30
[cli/core/downloader] Support filtering by install tags
...
Also adds tsv option for list-files and fixes
no_install not being set with --exclude.
Install tags are only present in some titles, I'm not
entirely sure how EGL uses them. Perhaps to allow one
manifest to be used on different platforms? Or to only
download extra assets when the user wants to?
Either way, it's another filtering feature that may be
useful, though for now it's mostly another toy to explore
EPIC's distribution system with.
2020-05-01 14:34:34 +02:00
derrod
531af3f586
[cli/core/downloader] Add --exclude option to ignore files when downloading
...
Useful to exclude unnecessary files such as redistributables.
Can be used together with --prefix to exclude files that would
still match the specified --prefix.
2020-05-01 10:43:55 +02:00
derrod
c287649e07
[cli] Make app name optional for "list-files"
...
If reading from a file/url the app name is not necessary.
2020-04-30 12:31:23 +02:00
derrod
dc68617212
[cli] Change --prefix-filter to --prefix
2020-04-30 12:23:23 +02:00
derrod
39bfb47d75
[cli] Add csv/tsv option to list commands
...
Closes #6 and #13
2020-04-30 12:03:23 +02:00
derrod
31bf74b33d
[cli] Set no_install flag when using --prefix options
2020-04-30 11:49:33 +02:00
derrod
7dacd7ba35
[cli/core] Fix manifest saving/loading
...
The refactoring didn't take into account that the raw
manifest data still needs to be accessible. Since I did
not want to modify the manifest model to hold the raw
data (waste of RAM), just make the methods return the
raw data again (at least for now)
2020-04-30 11:42:09 +02:00
derrod
8b63c482c1
[cli] Add new "list-files" command to list files in a manifest
...
Useful for use with the new --prefix option to search for which
prefix to use for the files you want to download.
Also supports creating a file usable with sha1sum/hashcheck to
verify a local installation manually as well as outputting the
list in csv format for other uses.
2020-04-30 11:14:18 +02:00
derrod
ef0ea26372
[cli/core/downloader] Add support for filtering downloaded files by prefix
2020-04-29 22:08:28 +02:00
derrod
63ff306fbf
[cli] Fix offline flag
2020-04-29 14:05:30 +02:00
derrod
ba7133d7d6
[cli] clean up imports
2020-04-29 10:56:47 +02:00
derrod
8251db22d2
[cli/core] Allow overriding platform and UE filter in list-games
2020-04-28 15:32:38 +02:00
derrod
e0b4769af2
[cli/core] Add option to override platform when downloading
...
This can be used to download Mac or 32-bit builds if desired.
For example: legendary download Corydalis --platform Mac
Will download the Slime Rancher macOS build.
Closes #12
2020-04-28 15:12:17 +02:00
derrod
2be1d367df
[cli] Add version and release codename to help
2020-04-28 06:14:17 +02:00
derrod
1b3ef31963
[cli/core] Fix config offline and environment overrides
2020-04-26 14:58:09 +02:00
derrod
b9b459d527
[cli] Fix missing space breaking URL in log message
2020-04-26 13:37:35 +02:00
derrod
50bd35683f
[cli] Minor adjustments to parser setup and readability
2020-04-26 13:20:11 +02:00
derrod
0485a728e3
[cli/downloader] Migrate to Queue based logging for subprocesses
2020-04-26 13:19:28 +02:00
derrod
c20619d6e7
[cli] Rework CLI
...
- Class instead of giant main() function
- Uses subparsers for commands (cleaner)
- Will make future enhancements easier
2020-04-25 12:20:14 +02:00
derrod
0e81b87fac
[cli] Simplify "is game installed" check
2020-04-24 06:38:11 +02:00
derrod
d8b629a66d
[cli] Simplify manual login procedure
2020-04-24 06:37:40 +02:00
derrod
c388c0d516
[cli/core] Add overrides for old manifest and install dir
2020-04-21 19:59:58 +02:00
derrod
0b2917d1eb
[cli] Ask for verification before installing/uninstalling
2020-04-20 01:27:16 +02:00
derrod
662f6e7bd0
[cli/core/models] Add basic support for DLCs
2020-04-20 01:27:06 +02:00
derrod
5eb51dfd11
[api/core/models] Add support for "Ownership Token"
...
Ownership verification tokens appear to be part of EPIC's DRM scheme,
they're basically just a JSON file with a token in it that's downloaded
from their API before launching.
This fixes launching games such as Just Cause 4.
2020-04-20 01:26:44 +02:00
derrod
e00e534f2c
First public test version of legendary
...
Unfortunately the history from before this commit is lost to time. And
that's probably for the best.
2020-04-14 15:40:41 +02:00