mirror of
https://github.com/dscalzi/HeliosLauncher.git
synced 2024-12-22 19:52:14 -08:00
a8a00e46ba
Introduced instructions on activating Athena's Shield in HeliosLauncher. This includes steps for running the verification system and choosing various options to ensure mod integrity and a secure gaming experience.
248 lines
9.6 KiB
Markdown
248 lines
9.6 KiB
Markdown
<p align="center"><img src="./app/assets/images/SealCircle.png" width="150px" height="150px" alt="aventium softworks"></p>
|
||
|
||
<h1 align="center">Helios Launcher</h1>
|
||
|
||
<em><h5 align="center">(formerly Electron Launcher)</h5></em>
|
||
|
||
[<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>
|
||
|
||
<p align="center">Join modded servers without worrying about installing Java, Forge, or other mods. We'll handle that for you.</p>
|
||
|
||
![Screenshot 1](https://i.imgur.com/6o7SmH6.png)
|
||
![Screenshot 2](https://i.imgur.com/x3B34n1.png)
|
||
|
||
## Features
|
||
|
||
* 🔒 Full account management.
|
||
* Add multiple accounts and easily switch between them.
|
||
* Microsoft (OAuth 2.0) + Mojang (Yggdrasil) authentication fully supported.
|
||
* 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.
|
||
|
||
This is not an exhaustive list. Download and install the launcher to gauge all it can do!
|
||
|
||
#### Need Help? [Check the wiki.][wiki]
|
||
|
||
#### Like the project? Leave a ⭐ star on the repository!
|
||
|
||
## Downloads
|
||
|
||
You can download from [GitHub Releases](https://github.com/dscalzi/HeliosLauncher/releases)
|
||
|
||
#### Latest Release
|
||
|
||
[![](https://img.shields.io/github/release/dscalzi/HeliosLauncher.svg?style=flat-square)](https://github.com/dscalzi/HeliosLauncher/releases/latest)
|
||
|
||
#### Latest Pre-Release
|
||
[![](https://img.shields.io/github/release/dscalzi/HeliosLauncher/all.svg?style=flat-square)](https://github.com/dscalzi/HeliosLauncher/releases)
|
||
|
||
**Supported Platforms**
|
||
|
||
If you download from the [Releases](https://github.com/dscalzi/HeliosLauncher/releases) tab, select the installer for your system.
|
||
|
||
| Platform | File |
|
||
| -------- | ---- |
|
||
| Windows x64 | `Helios-Launcher-setup-VERSION.exe` |
|
||
| macOS x64 | `Helios-Launcher-setup-VERSION-x64.dmg` |
|
||
| macOS arm64 | `Helios-Launcher-setup-VERSION-arm64.dmg` |
|
||
| Linux x64 | `Helios-Launcher-setup-VERSION.AppImage` |
|
||
|
||
## 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..**
|
||
|
||
![console example](https://i.imgur.com/T5e73jP.png)
|
||
|
||
|
||
## Development
|
||
|
||
This section details the setup of a basic developmentment environment.
|
||
|
||
### Getting Started
|
||
|
||
**System Requirements**
|
||
|
||
* [Node.js][nodejs] v20
|
||
|
||
---
|
||
|
||
**Clone and Install Dependencies**
|
||
|
||
```console
|
||
> git clone https://github.com/dscalzi/HeliosLauncher.git
|
||
> cd HeliosLauncher
|
||
> npm install
|
||
```
|
||
|
||
---
|
||
|
||
**Launch Application**
|
||
|
||
```console
|
||
> npm start
|
||
```
|
||
|
||
---
|
||
|
||
**Build Installers**
|
||
|
||
To build for your current platform.
|
||
|
||
```console
|
||
> npm run dist
|
||
```
|
||
|
||
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
|
||
|
||
Athena’s 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
|
||
▄▄▄ ▄▄▄█████▓ ██░ ██ ▓█████ ███▄ █ ▄▄▄ ██████ ██████ ██░ ██ ██▓▓█████ ██▓ ▓█████▄
|
||
▒████▄ ▓ ██▒ ▓▒▓██░ ██▒▓█ ▀ ██ ▀█ █ ▒████▄ ▒██ ▒ ▒██ ▒ ▓██░ ██▒▓██▒▓█ ▀ ▓██▒ ▒██▀ ██▌
|
||
▒██ ▀█▄ ▒ ▓██░ ▒░▒██▀▀██░▒███ ▓██ ▀█ ██▒▒██ ▀█▄ ░ ▓██▄ ░ ▓██▄ ▒██▀▀██░▒██▒▒███ ▒██░ ░██ █▌
|
||
░██▄▄▄▄██░ ▓██▓ ░ ░▓█ ░██ ▒▓█ ▄ ▓██▒ ▐▌██▒░██▄▄▄▄██ ▒ ██▒ ▒ ██▒░▓█ ░██ ░██░▒▓█ ▄ ▒██░ ░▓█▄ ▌
|
||
▓█ ▓██▒ ▒██▒ ░ ░▓█▒░██▓░▒████▒▒██░ ▓██░ ▓█ ▓██▒▒██████▒▒ ▒██████▒▒░▓█▒░██▓░██░░▒████▒░██████▒░▒████▓
|
||
▒▒ ▓▒█░ ▒ ░░ ▒ ░░▒░▒░░ ▒░ ░░ ▒░ ▒ ▒ ▒▒ ▓▒█░▒ ▒▓▒ ▒ ░ ▒ ▒▓▒ ▒ ░ ▒ ░░▒░▒░▓ ░░ ▒░ ░░ ▒░▓ ░ ▒▒▓ ▒
|
||
▒ ▒▒ ░ ░ ▒ ░▒░ ░ ░ ░ ░░ ░░ ░ ▒░ ▒ ▒▒ ░░ ░▒ ░ ░ ░ ░▒ ░ ░ ▒ ░▒░ ░ ▒ ░ ░ ░ ░░ ░ ▒ ░ ░ ▒ ▒
|
||
░ ▒ ░ ░ ░░ ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░░ ░ ▒ ░ ░ ░ ░ ░ ░ ░
|
||
░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
|
||
```
|
||
|
||
---
|
||
|
||
### Visual Studio Code
|
||
|
||
All development of the launcher should be done using [Visual Studio Code][vscode].
|
||
|
||
Paste the following into `.vscode/launch.json`
|
||
|
||
```JSON
|
||
{
|
||
"version": "0.2.0",
|
||
"configurations": [
|
||
{
|
||
"name": "Debug Main Process",
|
||
"type": "node",
|
||
"request": "launch",
|
||
"cwd": "${workspaceFolder}",
|
||
"program": "${workspaceFolder}/node_modules/electron/cli.js",
|
||
"args" : ["."],
|
||
"outputCapture": "std"
|
||
},
|
||
{
|
||
"name": "Debug Renderer Process",
|
||
"type": "chrome",
|
||
"request": "launch",
|
||
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron",
|
||
"windows": {
|
||
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron.cmd"
|
||
},
|
||
"runtimeArgs": [
|
||
"${workspaceFolder}/.",
|
||
"--remote-debugging-port=9222"
|
||
],
|
||
"webRoot": "${workspaceFolder}"
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
This adds two debug configurations.
|
||
|
||
#### Debug Main Process
|
||
|
||
This allows you to debug Electron's [main process][mainprocess]. You can debug scripts in the [renderer process][rendererprocess] by opening the DevTools Window.
|
||
|
||
#### Debug Renderer Process
|
||
|
||
This allows you to debug Electron's [renderer process][rendererprocess]. This requires you to install the [Debugger for Chrome][chromedebugger] extension.
|
||
|
||
Note that you **cannot** open the DevTools window while using this debug configuration. Chromium only allows one debugger, opening another will crash the program.
|
||
|
||
---
|
||
|
||
### Note on Third-Party Usage
|
||
|
||
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.
|
||
|
||
For instructions on setting up Microsoft Authentication, see https://github.com/dscalzi/HeliosLauncher/blob/master/docs/MicrosoftAuth.md.
|
||
|
||
---
|
||
|
||
## Resources
|
||
|
||
* [Wiki][wiki]
|
||
* [Nebula (Create Distribution.json)][nebula]
|
||
* [v2 Rewrite Branch (Inactive)][v2branch]
|
||
|
||
The best way to contact the developers is on Discord.
|
||
|
||
[![discord](https://discordapp.com/api/guilds/211524927831015424/embed.png?style=banner3)][discord]
|
||
|
||
---
|
||
|
||
### See you ingame.
|
||
|
||
|
||
[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'
|
||
[discord]: https://discord.gg/zNWUXdt 'Discord'
|
||
[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'
|