HeliosLauncher/README.md

248 lines
9.6 KiB
Markdown
Raw Normal View History

2019-03-05 21:37:31 -08:00
<p align="center"><img src="./app/assets/images/SealCircle.png" width="150px" height="150px" alt="aventium softworks"></p>
2017-05-16 23:26:46 -07:00
2019-09-05 13:08:47 -07:00
<h1 align="center">Helios Launcher</h1>
2017-05-16 23:26:46 -07:00
2019-09-05 13:08:47 -07:00
<em><h5 align="center">(formerly Electron Launcher)</h5></em>
2022-12-16 12:22:45 -08:00
[<p align="center"><img src="https://img.shields.io/github/actions/workflow/status/dscalzi/HeliosLauncher/build.yml?branch=master&style=for-the-badge" alt="gh actions">](https://github.com/dscalzi/HeliosLauncher/actions) [<img src="https://img.shields.io/github/downloads/dscalzi/HeliosLauncher/total.svg?style=for-the-badge" alt="downloads">](https://github.com/dscalzi/HeliosLauncher/releases) <img src="https://forthebadge.com/images/badges/winter-is-coming.svg" height="28px" alt="winter-is-coming"></p>
2017-05-16 23:26:46 -07:00
2019-03-05 21:37:31 -08:00
<p align="center">Join modded servers without worrying about installing Java, Forge, or other mods. We'll handle that for you.</p>
2017-05-16 23:26:46 -07:00
2019-09-05 13:08:47 -07:00
![Screenshot 1](https://i.imgur.com/6o7SmH6.png)
![Screenshot 2](https://i.imgur.com/x3B34n1.png)
2017-05-16 23:26:46 -07:00
2018-07-22 14:54:35 -07:00
## Features
2017-05-16 23:26:46 -07:00
2018-07-22 14:54:35 -07:00
* 🔒 Full account management.
* Add multiple accounts and easily switch between them.
2022-02-11 16:51:28 -08:00
* Microsoft (OAuth 2.0) + Mojang (Yggdrasil) authentication fully supported.
2018-07-22 14:54:35 -07:00
* Credentials are never stored and transmitted directly to Mojang.
* 📂 Efficient asset management.
* Receive client updates as soon as we release them.
* Files are validated before launch. Corrupt or incorrect files will be redownloaded.
***Automatic Java validation.**
* If you have an incompatible version of Java installed, we'll install the right one *for you*.
* You do not need to have Java installed to run the launcher.
* 📰 News feed natively built into the launcher.
* ⚙️ Intuitive settings management, including a Java control panel.
* Supports all of our servers.
* Switch between server configurations with ease.
* View the player count of the selected server.
* Automatic updates. That's right, the launcher updates itself.
* View the status of Mojang's services.
2017-05-16 23:26:46 -07:00
2018-07-22 14:54:35 -07:00
This is not an exhaustive list. Download and install the launcher to gauge all it can do!
2017-05-16 23:26:46 -07:00
2018-08-31 09:42:18 -07:00
#### Need Help? [Check the wiki.][wiki]
2018-07-22 14:54:35 -07:00
#### Like the project? Leave a ⭐ star on the repository!
2018-07-22 14:54:35 -07:00
## Downloads
2019-09-05 13:08:47 -07:00
You can download from [GitHub Releases](https://github.com/dscalzi/HeliosLauncher/releases)
2018-07-22 14:54:35 -07:00
2018-08-31 09:42:18 -07:00
#### Latest Release
2018-08-08 19:37:37 -07:00
2019-09-05 13:08:47 -07:00
[![](https://img.shields.io/github/release/dscalzi/HeliosLauncher.svg?style=flat-square)](https://github.com/dscalzi/HeliosLauncher/releases/latest)
2018-07-22 14:54:35 -07:00
2018-08-31 09:42:18 -07:00
#### Latest Pre-Release
2019-09-05 13:08:47 -07:00
[![](https://img.shields.io/github/release/dscalzi/HeliosLauncher/all.svg?style=flat-square)](https://github.com/dscalzi/HeliosLauncher/releases)
2018-07-22 14:54:35 -07:00
2018-08-08 19:37:37 -07:00
**Supported Platforms**
2019-09-05 13:08:47 -07:00
If you download from the [Releases](https://github.com/dscalzi/HeliosLauncher/releases) tab, select the installer for your system.
2018-07-22 14:54:35 -07:00
| Platform | File |
| -------- | ---- |
2021-01-20 08:03:20 -08:00
| Windows x64 | `Helios-Launcher-setup-VERSION.exe` |
2022-02-15 14:45:47 -08:00
| macOS x64 | `Helios-Launcher-setup-VERSION-x64.dmg` |
| macOS arm64 | `Helios-Launcher-setup-VERSION-arm64.dmg` |
2021-01-20 08:03:20 -08:00
| Linux x64 | `Helios-Launcher-setup-VERSION.AppImage` |
2018-07-22 14:54:35 -07:00
## Console
To open the console, use the following keybind.
```console
ctrl + shift + i
```
Ensure that you have the console tab selected. Do not paste anything into the console unless you are 100% sure of what it will do. Pasting the wrong thing can expose sensitive information.
#### Export Output to a File
If you want to export the console output, simply right click anywhere on the console and click **Save as..**
2019-09-05 13:08:47 -07:00
![console example](https://i.imgur.com/T5e73jP.png)
2018-07-22 14:54:35 -07:00
## Development
2021-02-01 15:04:52 -08:00
This section details the setup of a basic developmentment environment.
2018-07-22 14:54:35 -07:00
### Getting Started
**System Requirements**
2024-02-22 08:42:13 -08:00
* [Node.js][nodejs] v20
2018-07-22 14:54:35 -07:00
---
**Clone and Install Dependencies**
```console
2019-09-05 13:08:47 -07:00
> git clone https://github.com/dscalzi/HeliosLauncher.git
> cd HeliosLauncher
2018-07-22 14:54:35 -07:00
> npm install
```
---
**Launch Application**
```console
> npm start
2017-05-16 23:26:46 -07:00
```
2018-07-22 14:54:35 -07:00
---
2017-05-16 23:26:46 -07:00
2018-07-22 14:54:35 -07:00
**Build Installers**
2017-05-16 23:26:46 -07:00
2018-07-22 14:54:35 -07:00
To build for your current platform.
2017-05-16 23:26:46 -07:00
2018-07-22 14:54:35 -07:00
```console
> npm run dist
2017-05-16 23:26:46 -07:00
```
2018-07-22 14:54:35 -07:00
Build for a specific platform.
| Platform | Command |
| ----------- | -------------------- |
| Windows x64 | `npm run dist:win` |
| macOS | `npm run dist:mac` |
| Linux x64 | `npm run dist:linux` |
Builds for macOS may not work on Windows/Linux and vice-versa.
---
### Athena's Shield
The Extra File Verification System
Athenas Shield prevents the use of unapproved mods in HeliosLauncher by verifying the integrity of each mod from the distribution, blocking unauthorized changes, and ensuring a secure, reliable gaming experience.
**How to active this ?**
```console
> npm run athshield
```
```
Would you like to activate Athena's Shield? (yes/no): yes
Would you like to activate debug mode? (yes/no): yes
Would you like to hide or block the menu? (hide/block): block
Athena's Shield activated. Menu blocked.
```
You can choose whether Athena's Shield hides the mod category or blocks interaction with the drop-in mod.
```console
▄▄▄ ▄▄▄█████▓ ██░ ██ ▓█████ ███▄ █ ▄▄▄ ██████ ██████ ██░ ██ ██▓▓█████ ██▓ ▓█████▄
▒████▄ ▓ ██▒ ▓▒▓██░ ██▒▓█ ▀ ██ ▀█ █ ▒████▄ ▒██ ▒ ▒██ ▒ ▓██░ ██▒▓██▒▓█ ▀ ▓██▒ ▒██▀ ██▌
▒██ ▀█▄ ▒ ▓██░ ▒░▒██▀▀██░▒███ ▓██ ▀█ ██▒▒██ ▀█▄ ░ ▓██▄ ░ ▓██▄ ▒██▀▀██░▒██▒▒███ ▒██░ ░██ █▌
░██▄▄▄▄██░ ▓██▓ ░ ░▓█ ░██ ▒▓█ ▄ ▓██▒ ▐▌██▒░██▄▄▄▄██ ▒ ██▒ ▒ ██▒░▓█ ░██ ░██░▒▓█ ▄ ▒██░ ░▓█▄ ▌
▓█ ▓██▒ ▒██▒ ░ ░▓█▒░██▓░▒████▒▒██░ ▓██░ ▓█ ▓██▒▒██████▒▒ ▒██████▒▒░▓█▒░██▓░██░░▒████▒░██████▒░▒████▓
▒▒ ▓▒█░ ▒ ░░ ▒ ░░▒░▒░░ ▒░ ░░ ▒░ ▒ ▒ ▒▒ ▓▒█░▒ ▒▓▒ ▒ ░ ▒ ▒▓▒ ▒ ░ ▒ ░░▒░▒░▓ ░░ ▒░ ░░ ▒░▓ ░ ▒▒▓ ▒
▒ ▒▒ ░ ░ ▒ ░▒░ ░ ░ ░ ░░ ░░ ░ ▒░ ▒ ▒▒ ░░ ░▒ ░ ░ ░ ░▒ ░ ░ ▒ ░▒░ ░ ▒ ░ ░ ░ ░░ ░ ▒ ░ ░ ▒ ▒
░ ▒ ░ ░ ░░ ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░░ ░ ▒ ░ ░ ░ ░ ░ ░ ░
░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
```
---
2018-07-22 14:54:35 -07:00
### Visual Studio Code
2017-05-16 23:26:46 -07:00
2018-07-22 14:54:35 -07:00
All development of the launcher should be done using [Visual Studio Code][vscode].
2017-05-16 23:26:46 -07:00
2018-07-22 14:54:35 -07:00
Paste the following into `.vscode/launch.json`
```JSON
2017-05-16 23:26:46 -07:00
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug Main Process",
"type": "node",
"request": "launch",
2020-08-10 14:41:57 -07:00
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/node_modules/electron/cli.js",
"args" : ["."],
"outputCapture": "std"
2017-05-16 23:26:46 -07:00
},
{
"name": "Debug Renderer Process",
"type": "chrome",
"request": "launch",
2020-08-10 14:41:57 -07:00
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron",
2017-05-16 23:26:46 -07:00
"windows": {
2020-08-10 14:41:57 -07:00
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron.cmd"
2017-05-16 23:26:46 -07:00
},
"runtimeArgs": [
2020-08-10 14:41:57 -07:00
"${workspaceFolder}/.",
2017-05-16 23:26:46 -07:00
"--remote-debugging-port=9222"
],
2020-08-10 14:41:57 -07:00
"webRoot": "${workspaceFolder}"
2017-05-16 23:26:46 -07:00
}
]
}
```
2018-07-22 14:54:35 -07:00
This adds two debug configurations.
2017-05-16 23:26:46 -07:00
2018-07-22 14:54:35 -07:00
#### Debug Main Process
2017-05-16 23:26:46 -07:00
2018-07-22 14:54:35 -07:00
This allows you to debug Electron's [main process][mainprocess]. You can debug scripts in the [renderer process][rendererprocess] by opening the DevTools Window.
2017-05-16 23:26:46 -07:00
2018-07-22 14:54:35 -07:00
#### Debug Renderer Process
2017-05-16 23:26:46 -07:00
2018-07-22 14:54:35 -07:00
This allows you to debug Electron's [renderer process][rendererprocess]. This requires you to install the [Debugger for Chrome][chromedebugger] extension.
2017-05-16 23:26:46 -07:00
2018-07-22 14:54:35 -07:00
Note that you **cannot** open the DevTools window while using this debug configuration. Chromium only allows one debugger, opening another will crash the program.
2017-11-27 13:56:26 -08:00
---
### Note on Third-Party Usage
2021-07-18 21:52:57 -07:00
Please give credit to the original author and provide a link to the original source. This is free software, please do at least this much.
2022-02-12 07:58:19 -08:00
For instructions on setting up Microsoft Authentication, see https://github.com/dscalzi/HeliosLauncher/blob/master/docs/MicrosoftAuth.md.
2022-02-11 16:51:28 -08:00
2018-07-22 14:54:35 -07:00
---
2017-11-27 13:56:26 -08:00
2018-07-22 14:54:35 -07:00
## Resources
2018-08-31 09:42:18 -07:00
* [Wiki][wiki]
* [Nebula (Create Distribution.json)][nebula]
2022-02-11 16:51:28 -08:00
* [v2 Rewrite Branch (Inactive)][v2branch]
2018-07-22 14:54:35 -07:00
The best way to contact the developers is on Discord.
2017-11-27 13:56:26 -08:00
2019-03-05 21:37:31 -08:00
[![discord](https://discordapp.com/api/guilds/211524927831015424/embed.png?style=banner3)][discord]
2017-11-27 13:56:26 -08:00
2018-07-22 14:54:35 -07:00
---
2017-05-16 23:26:46 -07:00
2019-03-05 21:40:23 -08:00
### See you ingame.
2017-05-16 23:26:46 -07:00
2018-07-22 14:54:35 -07:00
[nodejs]: https://nodejs.org/en/ 'Node.js'
[vscode]: https://code.visualstudio.com/ 'Visual Studio Code'
[mainprocess]: https://electronjs.org/docs/tutorial/application-architecture#main-and-renderer-processes 'Main Process'
[rendererprocess]: https://electronjs.org/docs/tutorial/application-architecture#main-and-renderer-processes 'Renderer Process'
[chromedebugger]: https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome 'Debugger for Chrome'
2019-03-05 21:37:31 -08:00
[discord]: https://discord.gg/zNWUXdt 'Discord'
2019-09-05 13:08:47 -07:00
[wiki]: https://github.com/dscalzi/HeliosLauncher/wiki 'wiki'
[nebula]: https://github.com/dscalzi/Nebula 'dscalzi/Nebula'
[v2branch]: https://github.com/dscalzi/HeliosLauncher/tree/ts-refactor 'v2 branch'