☀ Custom launcher for modded minecraft written in Electron and Node.js
Go to file
2017-09-12 16:52:20 -04:00
app Added all icons, working on implementing them into UI 2017-09-12 16:52:20 -04:00
docs Fix code formatting for gitlab. 2017-08-29 02:23:56 -04:00
.gitignore Updated dependencies (delete node_modules, npm install), included windows page script, changed to ejs (for now), initial work on the new design. 2017-08-27 01:13:48 -04:00
index.js Updated dependencies (delete node_modules, npm install), included windows page script, changed to ejs (for now), initial work on the new design. 2017-08-27 01:13:48 -04:00
package.bat Updated dependencies (delete node_modules, npm install), included windows page script, changed to ejs (for now), initial work on the new design. 2017-08-27 01:13:48 -04:00
package.json Updated dependencies (delete node_modules, npm install), included windows page script, changed to ejs (for now), initial work on the new design. 2017-08-27 01:13:48 -04:00
README.md Added handlers to the frame buttons. 2017-08-27 02:24:04 -04:00

Getting Started

System Requirements:

This repository is dedicated to the development of the new custom launcher for the WesterosCraft server. This project is developed primarily with Node.js and the Electron framework. For further reference you may view the repository of the new launcher written in JavaFX/Java which was discontinued. You may also view the repository of the current launcher, a modified fork of MCUpdater.

For authentication with Mojang, we are currently planning on using node-mojang. This will automatically be downloaded if you follow the simple installation instructions below.

The recommended IDE for this project is VS Code, an open source code editor by Microsoft. This editor is available on nearly every major platform (Windows, macOS, Linux). If you choose to use another editor, such as Atom, please gitignore the IDE specific settings directory, if it hasn't been already.

Installation

To begin working on this project clone the repository and open run the following command on the command line. This will download all of the required dependencies.

npm install

Launching

Command Line

There are several different ways to launch this project. One way is simply to run the following command on the command line.

npm start

Visual Studio Code

If you use VS Code, you can run this directly from the IDE. Copy the following code into your launch.json file. This will require you to also install Debugger for Chrome.

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Debug Main Process",
      "type": "node",
      "request": "launch",
      "cwd": "${workspaceRoot}",
      "runtimeExecutable": "${workspaceRoot}\\node_modules\\.bin\\electron",
      "windows": {
        "runtimeExecutable": "${workspaceRoot}\\node_modules\\.bin\\electron.cmd"
      },
      "program": "${workspaceRoot}\\index.js",
      "console": "integratedTerminal",
      "protocol": "inspector"
    },
    {
      "name": "Debug Renderer Process",
      "type": "chrome",
      "request": "launch",
      "runtimeExecutable": "${workspaceRoot}\\node_modules\\.bin\\electron",
      "windows": {
        "runtimeExecutable": "${workspaceRoot}\\node_modules\\.bin\\electron.cmd"
      },
      "runtimeArgs": [
        "${workspaceRoot}\\index.js",
        "--remote-debugging-port=9222"
      ],
      "webRoot": "${workspaceRoot}"
    }
  ]
}

This will create two launch configurations from which you can debug the launcher. The first configuration, Debug Main Process, will allow you to debug the main Electron process. The second configuration, Debug Renderer Process, will allow you to debug the rendering of web pages (ie the UI).

You can find more information here.

Notes on DevTools Window

Once you run the program, you can open the DevTools window by typing the following keys in sequence on the main window.

wcdev

Please note that if you are debugging the application with VS Code and have launched the program using the Debug Renderer Process configuration you cannot open the DevTools window. If you attempt to do so, the program will crash. Remote debugging cannot be done with multiple DevTools clients.

Issues / Further Support

If you run into any issue which cannot be resolved via a quick google search, create an issue using the tab above.

Much of the discussion regarding this launcher is done on Discord, feel free to join us there Discord