Commit Graph

85 Commits

Author SHA1 Message Date
Daniel Scalzi
ea758aee1f
Various optimizations related to library extraction.
Updated PackXZExtract to v1.0.1.
If no files are queued for extraction, the step is skipped.
The UI now shows some indication that the extraction is in progress.
2018-04-28 23:34:23 -04:00
Daniel Scalzi
d08cfbf248
Change library extraction to be queue based to ensure it completes. 2018-04-28 20:52:13 -04:00
Daniel Scalzi
f1cf433ca8
Fixed issue where extraction library could not be run from asar. 2018-04-28 18:07:39 -04:00
Daniel Scalzi
714daace18
Added server status retrieval and implemented it on UI.
The player count on the landing page is now functional. If the server cannot be reached, the label and value will change to SERVER and OFFLINE, respectively. This behavior can be modified.
2018-04-15 22:35:14 -04:00
Daniel Scalzi
28cd147ca0
Fixing some syntax issues.
It was late, I was tired, this was the result.
2018-04-12 22:40:48 -04:00
Daniel Scalzi
12aa9f9c5b
Removing '/Contents/Home' from Java root on darwin to have the code rely on the resolve executable method. 2018-04-12 22:13:26 -04:00
Daniel Scalzi
fc81016dc6
More updates for Java validations on darwin.
Also, now require version 8u52+, as pack200 algo changed after 8u45.
2018-04-12 21:38:27 -04:00
Daniel Scalzi
05ebb80f19
Fixing variable rename typo. 2018-04-12 16:42:26 -04:00
Daniel Scalzi
4eb9d267eb
First attempt at Java validations for darwin (osx). 2018-04-12 16:12:45 -04:00
Daniel Scalzi
0a79634b8a
Implemented Java validations within the UI.
When a user attemps to launch, the configured Java executable will be validated. If it is invalid, we will look for a valid installation. If no valid installation is found, the user will be prompted with an option to install Java. An option to decline needs to be added. If they choose to install, it will download, extract, and update the executable in the config. The game will then be launched.

Also added progress tracking for asset validations, as they can potentially take a bit longer. Showing progress assures the user that the program isn't stuck or broken.
2018-04-07 18:06:49 -04:00
Daniel Scalzi
5c7e0c3c8a
Various additions and fixes to the launch controller.
Fixed an issue with concurrency when there are no downloads queued on launch. Added support for static function execution in AssetExec. Fixed a binding issue in uicore.js caused by delayed div loading. For now the solution is just hard coding in the value, will probably switch these two a css file later on. Included the launcher's x64 runtime directory in Java scans.
2018-04-02 18:40:32 -04:00
Daniel Scalzi
7fb33c6813
Rough completion of JRE downloads from oracle.
Mojang fallback cannot be implemented due to limitations of decompressing large lzma files in node.js. This can probably be worked around by packaging with some command line binary, but it honestly it not worth it.
2018-03-31 20:45:24 -04:00
Daniel Scalzi
13cc555afd
Game now saves to OS-specific data directory. Fixed issue where logs folder did not save to correct location. Fixed issue with authentication code. Continuing work on Java validation code. 2018-03-31 13:05:05 -04:00
Daniel Scalzi
f8131d9322
First phase of moving Java validation code to assetguard.js
Static utility functions have been moved. Functions which handle Java downloads will be moved next. AssetGuard is becoming a lengthy file, to cope with this I've added region comments so that specific sections can be collapsed and expanded when needed.
2018-03-30 08:31:54 -04:00
Daniel Scalzi
4fd202d180
Cleaning up jsdocs to be more aligned with the standard. 2018-03-28 16:42:10 -04:00
Daniel Scalzi
e7785fa603 Updating dependencies. 2018-01-19 00:33:05 -05:00
Daniel Scalzi
d4d7be7c47 Rewrote frontend download download function to make use of forked processes. This means that the download runs in full async (essentially in a separate thread). Updated the discord wrapper to be more dynamic. Updated auth manager to use async/await. 2018-01-18 23:45:50 -05:00
Daniel Scalzi
0dde4bce42 Changes to prevent cyclic dependencies. 2017-12-02 22:41:47 -05:00
Daniel Scalzi
086bfc8593 Added dynamic detection of default server. 2017-12-02 02:59:25 -05:00
Daniel Scalzi
52ab270ce3 Large update to AssetGuard to make the module purely object based. This fixed several issues which were present with the static implementation and seems to have increased performance. Several other bugs related to the front-end scripts have been fixed. 2017-11-30 03:00:06 -05:00
Daniel Scalzi
4c2c46f535 Beginning work on configuration management, updates to UI to prevent unresponsive behavior, bug fixes.. 2017-11-30 01:40:56 -05:00
Daniel Scalzi
dd9e1418c8 Added progress tracking to landing page. Fixed exclusions when extracting native files, fixed minor issue with config manager, optimizations and improvements to assetguard. 2017-11-27 04:31:54 -05:00
Daniel Scalzi
dd7ae6bf56 Massive progress on implementing the new forge modlist format. I have been able to rewrite much of the launch process code to use this new method, and was able to successfully log into the game. Several bugs need to be worked on, however everything is in a good state so far. 2017-11-19 03:48:21 -05:00
Daniel Scalzi
abbfb52c1b Fixed bug with hashless assets, updating distro index. 2017-11-19 00:41:36 -05:00
Daniel Scalzi
455f199457 Updating paths broken by refactoring, added temp debug button, updated production file index. 2017-08-27 03:49:03 -04:00
Daniel Scalzi
6a44694a32 Removing old and deprecated assets in preparation for the new design. 2017-08-26 14:43:24 -04:00
Daniel Scalzi
f8a0805c8c Working on concepts for login UI. 2017-05-23 01:45:20 -04:00
Daniel Scalzi
bb566471b8 Working on launch process code with forge. Pending cleanup and optimizations. 2017-05-21 18:06:48 -04:00
Daniel Scalzi
d00f09aaf0 Added hash validation for distro index, updated hashes. 2017-05-21 16:27:11 -04:00
Daniel Scalzi
daa5abd5bd More progress on forge downloads. Added check for missing resources in the download stream. 2017-05-21 04:56:39 -04:00
Daniel Scalzi
247f63d64d Starting work on forge downloads 2017-05-21 01:06:01 -04:00
Daniel Scalzi
bd503f71c8 Filled in version.json, added utility function. 2017-05-18 13:03:25 -04:00
Daniel Scalzi
a3c9130d7a Added functionality to extract .pack.xz files. The npm modules available to do this were a mess, being either outdated or refusing to build on windows. In order to achieve this, I wrote up a small java library which will extract these files. We simply pass the files we want to extract to the command line using a corresponding argument and it does the rest. This should be no issue as we will always have a JRE present on this launcher, whether that be bundled or already installed. 2017-05-18 01:49:28 -04:00
Daniel Scalzi
c83809b0dc Damage control pass 2 2017-05-17 05:03:09 -04:00
Matan Rak
ab74dd39c5 Matan merge 2017-05-17 09:26:46 +03:00