Commit Graph

345 Commits (master)

Author SHA1 Message Date
Daniel Scalzi 2743585b12
Dependency upgrade, fix status (#138). 2021-02-01 18:05:45 -05:00
Daniel Scalzi 8723a192b4
Minecraft.net status works again, dependency upgrade. 2020-12-09 20:06:10 -05:00
Daniel Scalzi 3ea41b42e5
Point to https mojang endpoint. 2020-09-16 13:49:10 -04:00
Daniel Scalzi c0776dcf61
Set broken mojang services to green until their API is fixed. 2020-09-13 13:35:49 -04:00
Daniel Scalzi 25e7e5aa55
Tweaks to Java discovery.
Add AdoptOpenJDK directory to the file scan.
Remove TLS reject unauthorized flag.
Use async/await for the fs scan function. Code was originally wrote
using fs and not fs-extra.
2020-09-13 03:05:08 -04:00
Daniel Scalzi 17e36fa5a2
Return after rejection. 2020-09-13 02:22:24 -04:00
Daniel Scalzi 9a2c1fd9b9
Use corretto on macOS since they use an older version of Xcode. (#70)
Vendor name is now displayed above the selected Java version on the settings page. This is to allow for easier differentiation between versions (ex. Amazon Corretto vs AdoptOpenJDK).
2020-09-08 23:19:07 -04:00
Daniel Scalzi cc86f2a257
Use --fml.modLists instead of --fml.mods to avoid potential cli length limit issues. 2020-09-05 22:43:09 -04:00
Daniel Scalzi bd19b16530
Include user's displayName in server joined regex. 2020-08-25 17:11:40 -04:00
Daniel Scalzi 46853157ec
Dependency upgrade. 2020-08-10 17:41:57 -04:00
Daniel Scalzi 0203295e7c
Dependency upgrade. 2020-07-15 20:15:28 -04:00
Daniel Scalzi 6b755fef15
MD5 comparisons should be case insensitive. 2020-07-07 22:47:22 -04:00
Daniel Scalzi eeaa2e98d0
Update RPC game joined regex. (closes #80) 2020-06-29 11:28:55 -04:00
Daniel Scalzi bec1385c55
Fix bug in autoconnect check. 2020-06-29 10:31:05 -04:00
Daniel Scalzi f795b28d23
Fix launching on 1.8.9 and 1.9.4 (resolves #79). 2020-06-23 15:03:17 -04:00
Daniel Scalzi ef8f36b519
Move sample distribution to docs folder to avoid confusion. 2020-06-17 16:23:35 -04:00
Daniel Scalzi b09cd2ef28
Re-enable --server and --port on patched 1.15.2 builds. (#74) 2020-06-12 19:56:57 -04:00
Daniel Scalzi 1bdb413ab5
Fix autoconnect for 1.13, 1.14. Disabled on 1.15+.
Autoconnect is causing a OpenGL stack overflow exception on 1.15+ for some reason. Disabled it for now.
Finally changed .westeroscraft to .helioslauncher.
2020-06-09 13:10:06 -04:00
Daniel Scalzi 71b25d3e5c
Minor fixes and improvements.
Fixed issue with passing fullscreen argment to 1.13+, although it doesnt seem to be working well clientside.
Improved the forge version check logic.
Fixed launch area toggling and added a min linger time so that the transition doesnt look abrupt.
Upgraded dependencies.
2020-06-08 14:00:07 -04:00
Daniel Scalzi 7f821f36d7
Add support for 1.12.2 compiled with ForgeGradle 3. (#73)
The latest 1.12.2 builds have been upgraded to ForgeGradle 3. Handling is slighly different, as the version.json
format is different and no longer stored in the universal jar. You have to provide the version.json as a VersionManifest
module, the same as 1.13+. The rest of the launch handling hasn't changed.

Nebula supports the new 1.12.2 format.
2020-06-02 19:30:12 -04:00
Daniel Scalzi 8726638a23
Electron 9, Fixed breaking changes from 7 and 8.
Fixed file selectors not behaving properly due to breaking change in Electron 7 (#67).
Renamed shell.openItem to shell.openPath (Electron 9 breaking change).

Resolves #67.
2020-05-21 21:02:58 -04:00
Daniel Scalzi b1abe07aeb
Update login url. 2020-05-21 14:38:22 -04:00
Daniel Scalzi b3f8ff9595 Fix dmg executable name. 2020-05-19 20:31:35 -04:00
VolanDeVovan 9d1aa497a7
Send across ipc only unique value (#56)
* Send across ipc only unique value

* Fix equality check.

Co-authored-by: Daniel Scalzi <d_scalzi@yahoo.com>
2020-04-11 20:44:20 -04:00
Daniel Scalzi 141a753893
Electron 8. 2020-03-18 19:54:46 -04:00
Daniel Scalzi 1a2e9f3be4
Ensure libs are properly added to classpath as .jar 2020-03-08 21:10:43 -04:00
Daniel Scalzi 96db607912
Fix mod loading for 1.7.10.
The launcher was never intended for use with 1.7.10, however since people
do use it for this version I generated a 1.7.10 distribution with Nebula
and tested it out. Several bugs were identified and fixed.

* Don't prefix modList paths with absolute on 1.7.10.
* Allow library overrides.

Forge 1.7.10 updates mojang's guava version. As such the library
resolver now supports overriding mojang libraries through the
distribution.json.

Fixes #45.
2020-01-18 12:02:00 -05:00
Daniel Scalzi 4f504cd470
Updated dependencies, deprecated methods. 2020-01-01 15:37:07 -05:00
Daniel Scalzi 19ee187f10
Electron v7, dependency upgrade, lint. 2019-11-16 17:17:55 -05:00
Oskar Stawiarski 9761c1d9d0 Older forge versions don't support lenient json. (#40) 2019-11-16 17:02:00 -05:00
Daniel Scalzi d087ca5a60 Add updated 1.13 configuration example. 2019-09-22 19:20:54 -04:00
Daniel Scalzi 28631610ab Update loading spinner images. 2019-09-06 02:18:16 -04:00
Daniel Scalzi cbc8b07467 Rebrand to Helios Launcher. 2019-09-05 16:08:47 -04:00
Daniel Scalzi d94365f535
Use OpenJDK downloads instead of Oracle (no longer possible).
Makes use of https://adoptopenjdk.net/, star them on GitHub, great product.
2019-06-02 18:11:39 -04:00
Daniel Scalzi 555cb0125c
Electron@5 2019-06-02 16:15:57 -04:00
Daniel Scalzi 887bb67ab0
Fix error with loading lang file from packaged app. 2019-04-23 16:53:32 -04:00
Daniel Scalzi c141475404
Initial work on localization. 2019-04-07 23:33:40 -04:00
Daniel Scalzi a0520a9458
Updated dependencies. 2019-03-17 23:11:31 -04:00
Daniel Scalzi 448440a604
VersionJar is not needed. (#26) 2019-03-06 22:47:45 -05:00
Daniel Scalzi 644a32de37
Start removing specific branding. 2019-03-06 00:37:31 -05:00
Daniel Scalzi 5c0a293390
Break up assetguard. 2019-03-05 23:05:01 -05:00
Daniel Scalzi 1fc118ee8c
Updated forge 1.13 configuration, updated dependencies. 2019-02-28 19:40:38 -05:00
Daniel Scalzi e08c3a903a
Add support for mod loading on Forge 1.13. 2019-02-18 18:17:31 -05:00
Daniel Scalzi 81367bc619
1.13 Update Phase 1
Mojang has changed its manifest format for 1.13.
Forge is no longer a universal jar, it requires more hosted files, all of which are generated by the installer.
We can no longer extract the version manifest from forge's jar and have to include it in the distribution.
This commit adds support for launching forge only, mods are currently not supported from the distribution.
Handling of 1.13 launches are subject to change as we move forward.
2019-02-18 06:31:01 -05:00
Daniel Scalzi c834ca971a
Order the launch arguments better.
Classpath -> JVM -> Main Class -> Liteloader -> Minecraft ->
Client Options -> Mod list
2019-02-14 20:22:12 -05:00
Daniel Scalzi 6d1ecd73ee
Show a meaningful message if users try to login without a paid account. 2019-02-05 17:26:00 -05:00
Daniel Scalzi 90651d4fbe
Reset clientToken if all accounts are removed. 2019-01-20 22:29:05 -05:00
Daniel Scalzi 8c0bf8faac
Improve error handling during launch (#21)
If anything happens to the forked process, the main should now pick up on it and alert the user.
Should no longer get 'stuck at 100%' issues when the forked process fails, for whatever reason.
2019-01-20 06:55:13 -05:00
Daniel Scalzi cb12c0786e
Fix element class name for the data directory title. 2019-01-04 14:46:24 -05:00
Daniel Scalzi de15440e6d
Added option to change data folder location. (#17)
Removed commonDirectory.
Removed instanceDirectory.
Added dataDirectory. The common and instance directories are now resolved from this.
The config.json and distribution.json are now stored in Electron's data folder (app.getPath('userData')).
Users can edit the dataDirectory under launcher settings.
2019-01-04 14:25:27 -05:00
Daniel Scalzi d2982ca387
v1.4.1 - Forge 1.12.2 (4/10) + requires absolute: prefix. 2018-12-31 11:27:40 -05:00
Daniel Scalzi d7fe519923
Preliminary Java 9+ Support (#20).
We will still not allow these versions to be used until they have been fully verified on our far-future 1.13 test server.
2018-12-31 10:39:27 -05:00
Daniel Scalzi be533af38b
v1.4.0 - Added Shader Options, Electron v4. 2018-12-21 16:06:34 -05:00
Daniel Scalzi b98a4ec21f
Shaderpack settings nearly finalized.
Added saving function, add pack button, drag and drop functionality to the button, ability to
refresh the list of packs.
Added height limit to the dropdown with scrolling. Cleaned up some styles.
2018-12-21 08:02:24 -05:00
Daniel Scalzi a4d4b69791
Initial work on shader options, electron@4. 2018-12-21 06:51:08 -05:00
Daniel Scalzi f5b1418d18
Reduced size of background 7. Removed some unused images.
7.jpg : 24MB -> 5MB
Updated electron, electron-builder.
2018-12-21 02:29:33 -05:00
Daniel Scalzi 001a2cbe81
v1.2.1 - Fixed issue w/ native lib parsing.
In 1.12.2, some natives do not provide a rules
object and instead just omit the classifier
from the natives object. We now check for that.

Updated electron to v3.0.12.
2018-12-17 00:11:23 -05:00
Daniel Scalzi f5ce7734b8
Ensure mods dir exists on file drop. 2018-12-01 10:06:23 -05:00
Daniel Scalzi d779eacf61
Added drag/drop functionality to the add mods button.
You can now drag one or more files onto the add mods button in order to add them to the mods directory. Only jar, litemod, and zip files will be moved.
Changed eslint to use a single configuration file, with overrides for the UI scripts.
Now using fs-extra, replace usages of rimraf and mkdirp with fs-extra functions.
2018-12-01 08:20:42 -05:00
Daniel Scalzi d9858958c9
Oracle now uses https, update body parser accordingly. 2018-11-25 22:18:59 -05:00
Daniel Scalzi 684e884d9c
Mod config bug fixes, electron upgrade.
If the instance mods directory does not exist when the 'Add Drop-In Mod' button is clicked, it will be created.
The update selected server code has been modified. Previously, the server would be updated before the mod config was saved. This has been fixed so that the mod config is saved before the server is switched.
Updated electron to v3.0.10.
2018-11-20 05:19:59 -05:00
Daniel Scalzi c6051f9942
v1.1.0-pre.2 2018-11-18 22:03:17 -05:00
Daniel Scalzi acd6143d30
Modify AutoUpdater behavior on macOS.
The AutoUpdater requires that macOS builds be code signed. That is currently not possible.
As a workaround, the autoupdater on mac will now alert users that an update is available and give the option to download the file directly from GitHub.
Closes #16.
2018-11-18 21:51:48 -05:00
Daniel Scalzi bcd8082afe
Fix native lib extraction for old MC versions.
#18
2018-11-18 04:33:59 -05:00
Daniel Scalzi 03273232c6
Fix for native lib parsing in old MC versions.
Fixes #18.
2018-11-18 04:19:17 -05:00
Daniel Scalzi affacbf56e
Cleanup 2018-11-11 18:28:58 -05:00
Daniel Scalzi e6b9728fe5
Updated electron-builder, electron-updater. 2018-11-09 01:03:28 -05:00
Daniel Scalzi a9f12ee329
Fixed 'Failed to verify username.'
Send first request without clientToken, store the returned clientToken, use that for subsequent requests. Dont generate random UUID for clientToken, it can sometimes be 'bad'.
Removed dependency 'uuid'.
Updated 'electron-builder'.
2018-11-04 02:03:55 -05:00
Daniel Scalzi ce86840a87
v1.0.4 - Logic cleanup, minor bug fixes.
Removed the old workaround logic for queueing archives for extraction.
Removed the old forge callback (this was replaced a while ago).
Fixed a typo in _parseDistroModules (getType).
Use discordrpc straight from the repository. The author has refused to push the bugfix for nearly a month.
Fix timestamp issue on discord rich presence.
Dependency upgrades.
2018-10-31 01:25:38 -04:00
Daniel Scalzi f089993ea4
Use launchermeta.mojang.com instead of S3 (deprecated). (#12)
The deprecated endpoint will be removed by the end of 2018.
2018-10-25 12:45:32 -04:00
Daniel Scalzi 3acc213544
electron-is-dev is now useless, use our own copy. 2018-09-23 02:19:16 -04:00
Daniel Scalzi b2e9223b10
Updated to Electron v3.0.0, renderer to node v10.
Fixed deprecation of Buffer constructor in node v10.
Set flag to print the stack trace of node warnings in the renderer.
2018-09-22 05:07:18 -04:00
Daniel Scalzi 2a9db6c646
Various fixes to New UI.
Add proper styling for spoiler blocks. (#6)
Fixed minor issue with relative url replacement regex.
Upgraded eslint@5.5.0
2018-09-05 02:30:26 -04:00
Daniel Scalzi 7851fdbefb
v1.0.0 2018-08-31 12:42:18 -04:00
Daniel Scalzi e53b92c38b
Fix styling error when logging out of last account. 2018-08-29 13:44:28 -04:00
Daniel Scalzi cf7e9adb89
v1.0.0-beta.6 - Revert UUID related change, updated deps. 2018-08-29 13:24:48 -04:00
Daniel Scalzi db5653a7b7
Added additional fix for 'Failed to verify username'.
It seemed that login may also randomly fail if the user had a no-dash uuid stored. Corrected this.
2018-08-24 16:26:50 -04:00
Daniel Scalzi 70b83a6397
v1.0.0-beta.5 - Fixed Mojang issue resulting in "Failed to verify username" for specific users.
The Mojang API may randomly return extraneous spaces around the displayName and username fields. Launching the game with these values will result in the aforementioned error. The launcher now trims these values as a precautionary measure.
2018-08-24 15:17:32 -04:00
Daniel Scalzi 0346597afe
Wrap calls to console.log through LoggerUtil (prefixes). 2018-08-22 14:21:49 -04:00
Daniel Scalzi 37606dc8d2
Improvements to overlay keybinds.
Added dynamic keybinder for overlays. If dismissable, the Escape key will dismiss the overlay. If not dismissable, Enter & Escape will trigger the main button.
If the selected account is not valid and you have more than one other account, you may cancel logging in to return to the original error overlay.
Updated electron-builder@20.28.2.
Fixed minor bug where the background of the settings UI was set to transparent. This occurred if the validation error overlay was shown on the settings UI, and you chose the login option.
2018-08-22 10:54:09 -04:00
Daniel Scalzi afe69a21c6
Small changes and cleanup to Java related UI.
The manual installation overlay now links to the Java Management wiki article.
The Available Options for Java 8 href now links to the os-specific page (/windows for windows, /unix for macOS and Linux).
The default config now uses the same value as max ram for min ram.
2018-08-20 04:02:27 -04:00
Daniel Scalzi 58a8215b05
v1.0.0-beta.3 - Added error handling for LaunchWrapper failure.
Fixes #5.
2018-08-19 03:16:08 -04:00
Daniel Scalzi 845721a830
Encode game stderr stream in utf-8. Updated deps.
semver@5.5.1
esline@5.4.0
2018-08-19 00:42:52 -04:00
Daniel Scalzi 50317c3fc2
v1.0.0-beta.2
Fixed bug which prevented mods with declared extensions in their identifiers from being loaded.
Synced distribution.json with remote.
Updated electron-builder.
Updated readme to include information on beta testing.
2018-08-15 09:17:59 -04:00
Daniel Scalzi f1d89c0e6b
Fixed game status monitoring.
Switched to version-safe regex for monitoring game launch progress.
Game output is now encoded in utf-8 to avoid multiple conversions from Uint8Array to String.
Note that game output has line breaks. Trim any content before testing it against regular expressions.
2018-08-13 08:25:25 -04:00
Daniel Scalzi 4f416220c2
Added failsafe to configuration loading.
If file is malformed or corrupt, generate a fresh configuration file.
2018-08-13 06:31:46 -04:00
Daniel Scalzi 1566ff4e4c
Updated the auto-update UI.
Added a settings tab to manage updates.
On this tab you can:
* Init auto update check.
* View update information (version, prerelease vs release, etc).
* View update changelog.
* Install updates (when downloaded).
The green glow on the landing page now takes users to the settings tab. Updates can be installed from there.
This UI can be changed in the future if needed.
2018-08-13 06:13:13 -04:00
Daniel Scalzi b46ac97493
General cleanup for mods tab code. 2018-08-07 04:41:26 -04:00
Daniel Scalzi 556199aa55
Added support for drop-in mods on the UI. 2018-08-07 04:16:15 -04:00
Daniel Scalzi ff3f2bfb8d
Added server status bar to the top of the mods tab.
The user is also given the option to switch servers from this status bar.
2018-08-07 00:58:32 -04:00
Daniel Scalzi 0c98cc2447
Added support for optional submods of required mods. 2018-07-29 16:32:41 +02:00
Daniel Scalzi 60ba7b4f8a
Add functionality to mods tab.
Mod configurations can now be changed and saved.
Still pending optimization to allow required mods to
properly declare optional mods.
Show main UI on interactive event. We shouldn't wait for
remote images to load first.
2018-07-29 14:42:11 +02:00
Daniel Scalzi 34b806c3a8 Updated mercurius updater to 1.12.2 on distro. 2018-07-26 04:44:36 +02:00
Daniel Scalzi 40506c4283 Cleaned up distribution.json for mod toggle UI.
Removed the version from the module's name. The version can be retrieved
from the identifier and placed wherever desired.
Reorganized the modules to have the more popular/important mods listed
first. The order in which modules are declared is the order they appear
on the UI.
Updated the docs to make it clear that maven identifiers are required for
all modules not of type File.
2018-07-26 04:44:36 +02:00
Daniel Scalzi e583133c8b Initial work on mod toggle UI.
This still needs a lot of work.
2018-07-26 04:44:36 +02:00
Daniel Scalzi 6e71cd6b46
v0.0.1-alpha.16 - Fixed download errors.
Fixed error 'self signed certificate in certificate chain'.
Disabled reject unauthorized in assetexec process.
Fixed error messages from assetexec to renderer.
Updated elctron-builder to v20.25.0.
2018-07-26 04:30:47 +02:00
Daniel Scalzi 04cf2ee718
Fixed styling issue with a.commit-links.
Text outside the tt element did not behave properly on hover. This has been corrected.
2018-07-22 23:33:48 -04:00
Daniel Scalzi 810e81521c
Added eslint. To lint, npm run lint.
Linted the entire project. Using different rules for the script files
as there are a lot of undefined variables just because of the way the
DOM's global scope works.

Mostly just code cleanup, however the linter did catch a minor bug with
a settings regex. That has been corrected.
2018-07-22 13:31:15 -04:00
Daniel Scalzi 7dcce68455
Updated Distribution Index spec and impl.
Added distromanager.js to represent distro elements.
Moved all distro refresh code to distromanager.js.
Overhauled assetexec.js.
Overhauled handling of assetexec.js output in landing.js.
Overhauled events emitted by assetguard.js.
Improved doenload processing in assetguard.
Updated discord-rpc to v3.0.0.
Replaced westeroscraft.json with distribution.json.
Use npm in travis for windows + linux.
Remove file extension from imports.
Added liteloader + macromod + shaders to distribution.json.
2018-07-22 11:40:15 -04:00
Daniel Scalzi 6759b143c4
Show installing progress bar during extractions. 2018-07-02 02:24:13 -04:00