Skip to content

Commit

Permalink
Rebrand the Launcher (Real Thanks to Daniel Scalzi)
Browse files Browse the repository at this point in the history
  • Loading branch information
Tunakirkoc committed Apr 24, 2024
1 parent d12f6ff commit 35a9a3d
Show file tree
Hide file tree
Showing 37 changed files with 47 additions and 2,675 deletions.
3 changes: 0 additions & 3 deletions .github/FUNDING.yml

This file was deleted.

21 changes: 0 additions & 21 deletions LICENSE.txt

This file was deleted.

212 changes: 1 addition & 211 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,211 +1 @@
<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.

---

### 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'
# Kirkoc Launcher
4 changes: 2 additions & 2 deletions app/app.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@
<div id="loadingContainer">
<div id="loadingContent">
<div id="loadSpinnerContainer">
<img id="loadCenterImage" src="assets/images/LoadingSeal.png">
<img id="loadSpinnerImage" class="rotating" src="assets/images/LoadingText.png">
<!-- <img id="loadCenterImage" src="assets/images/kirkoc.png"> -->
<img id="loadSpinnerImage" class="rotating" src="assets/images/Loading.png">
</div>
</div>
</div>
Expand Down
32 changes: 16 additions & 16 deletions app/assets/css/launcher.css
Original file line number Diff line number Diff line change
Expand Up @@ -272,9 +272,9 @@ body, button {
}
*/

#welcomeImageSeal {
border-radius: 50%;
border: 2px solid #cad7e1;
#welcomeImageKirkoc {
/* border-radius: 50%;
border: 2px solid #cad7e1; */
background: rgba(1, 2, 1, 0.5);
height: 125px;
width: 125px;
Expand Down Expand Up @@ -485,9 +485,9 @@ body, button {
}

/* Logo on login form. */
#loginImageSeal {
border-radius: 50%;
border: 2px solid #cad7e1;
#loginImageKirkoc {
/* border-radius: 50%;
border: 2px solid #cad7e1; */
background: rgba(1, 2, 1, 0.5);
height: 125px;
width: 125px;
Expand Down Expand Up @@ -2854,30 +2854,30 @@ input:checked + .toggleSwitchSlider:before {
* * */

/* Logo image. */
#image_seal {
#image_kirkoc {
height: 70px;
width: auto;
position: relative;
border: 2px solid white;
/* border: 2px solid white; */
box-sizing: border-box;
border-radius: 50%;
/* border-radius: 50%; */
}

/* Logo container styles. */
#image_seal_container {
#image_kirkoc_container {
position: relative;
height: 70px;
width: 70px;
border-radius: 50%;
/* border-radius: 50%; */
margin-top: 50px;
}

/* Logo container styles w/ update. */
#image_seal_container[update]{
#image_kirkoc_container[update]{
cursor: pointer
}
#image_seal_container[update]:before,
#image_seal_container[update]:after {
#image_kirkoc_container[update]:before,
#image_kirkoc_container[update]:after {
cursor: pointer;
position: absolute;
content: '';
Expand All @@ -2890,7 +2890,7 @@ input:checked + .toggleSwitchSlider:before {
animation: glow-grow 4s ease-out infinite;
background: rgba(0, 0, 0, 0.15);
}
#image_seal_container[update]:before {
#image_kirkoc_container[update]:before {
animation-delay: 2s;
}

Expand Down Expand Up @@ -2924,7 +2924,7 @@ input:checked + .toggleSwitchSlider:before {
border-style: solid;
border-color: transparent transparent rgb(0, 0, 0) transparent;
}
#image_seal_container[update]:hover #updateAvailableTooltip {
#image_kirkoc_container[update]:hover #updateAvailableTooltip {
visibility: visible;
opacity: 1;
transition-delay: 0s;
Expand Down
Binary file added app/assets/images/Loading.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed app/assets/images/LoadingSeal.png
Binary file not shown.
Binary file removed app/assets/images/LoadingText.png
Binary file not shown.
Binary file removed app/assets/images/SealCircle.ico
Binary file not shown.
Binary file removed app/assets/images/SealCircle.png
Binary file not shown.
Binary file removed app/assets/images/backgrounds/0.jpg
Binary file not shown.
Binary file added app/assets/images/backgrounds/0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed app/assets/images/backgrounds/1.jpg
Binary file not shown.
Binary file removed app/assets/images/backgrounds/2.jpg
Binary file not shown.
Binary file removed app/assets/images/backgrounds/3.jpg
Binary file not shown.
Binary file removed app/assets/images/backgrounds/4.jpg
Binary file not shown.
Binary file removed app/assets/images/backgrounds/5.jpg
Binary file not shown.
Binary file removed app/assets/images/backgrounds/6.jpg
Binary file not shown.
Binary file removed app/assets/images/backgrounds/7.jpg
Binary file not shown.
Binary file added app/assets/images/kirkoc.ico
Binary file not shown.
Binary file added app/assets/images/kirkoc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions app/assets/js/processbuilder.js
Original file line number Diff line number Diff line change
Expand Up @@ -368,7 +368,7 @@ class ProcessBuilder {

// Java Arguments
if(process.platform === 'darwin'){
args.push('-Xdock:name=HeliosLauncher')
args.push('-Xdock:name=Kirkoc Launcher')
args.push('-Xdock:icon=' + path.join(__dirname, '..', 'images', 'minecraft.icns'))
}
args.push('-Xmx' + ConfigManager.getMaxRAM(this.server.rawServer.id))
Expand Down Expand Up @@ -419,7 +419,7 @@ class ProcessBuilder {

// Java Arguments
if(process.platform === 'darwin'){
args.push('-Xdock:name=HeliosLauncher')
args.push('-Xdock:name=Kirkoc Launcher')
args.push('-Xdock:icon=' + path.join(__dirname, '..', 'images', 'minecraft.icns'))
}
args.push('-Xmx' + ConfigManager.getMaxRAM(this.server.rawServer.id))
Expand Down Expand Up @@ -521,7 +521,7 @@ class ProcessBuilder {
val = args[i].replace(argDiscovery, tempNativePath)
break
case 'launcher_name':
val = args[i].replace(argDiscovery, 'Helios-Launcher')
val = args[i].replace(argDiscovery, 'Kirkoc-Launcher')
break
case 'launcher_version':
val = args[i].replace(argDiscovery, this.launcherVersion)
Expand Down
2 changes: 1 addition & 1 deletion app/assets/js/scripts/uibinder.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ async function showMainUI(data){
refreshServerStatus()
setTimeout(() => {
document.getElementById('frameBar').style.backgroundColor = 'rgba(0, 0, 0, 0.5)'
document.body.style.backgroundImage = `url('assets/images/backgrounds/${document.body.getAttribute('bkid')}.jpg')`
document.body.style.backgroundImage = `url('assets/images/backgrounds/${document.body.getAttribute('bkid')}.png')`
$('#main').show()

const isLoggedIn = Object.keys(ConfigManager.getAuthAccounts()).length > 0
Expand Down
6 changes: 3 additions & 3 deletions app/assets/js/scripts/uicore.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ if(!isDev){
loggerAutoUpdater.info('New update available', info.version)

if(process.platform === 'darwin'){
info.darwindownload = `https://github.com/dscalzi/HeliosLauncher/releases/download/v${info.version}/Helios-Launcher-setup-${info.version}${process.arch === 'arm64' ? '-arm64' : '-x64'}.dmg`
info.darwindownload = `https://github.com/Kirkoc/Launcher/releases/download/v${info.version}/Kirkoc-Launcher-setup-${info.version}${process.arch === 'arm64' ? '-arm64' : '-x64'}.dmg`
showUpdateUI(info)
}

Expand Down Expand Up @@ -107,8 +107,8 @@ function changeAllowPrerelease(val){

function showUpdateUI(info){
//TODO Make this message a bit more informative `${info.version}`
document.getElementById('image_seal_container').setAttribute('update', true)
document.getElementById('image_seal_container').onclick = () => {
document.getElementById('image_kirkoc_container').setAttribute('update', true)
document.getElementById('image_kirkoc_container').onclick = () => {
/*setOverlayContent('Update Available', 'A new update for the launcher is available. Would you like to install now?', 'Install', 'Later')
setOverlayHandler(() => {
if(!isDev){
Expand Down
Loading

0 comments on commit 35a9a3d

Please sign in to comment.