Go to file
Daniel Scalzi 69f9d297d0 Begining to transition over to electron-builder for building the app. Currently in a testing phase for this, gradually refining the build options. Once electron-builder has been fully implemented, the electron-packager scripts will be removed. Also updated electron to address a security issue. 2018-01-24 01:08:29 -05:00
app Begining to transition over to electron-builder for building the app. Currently in a testing phase for this, gradually refining the build options. Once electron-builder has been fully implemented, the electron-packager scripts will be removed. Also updated electron to address a security issue. 2018-01-24 01:08:29 -05:00
build Begining to transition over to electron-builder for building the app. Currently in a testing phase for this, gradually refining the build options. Once electron-builder has been fully implemented, the electron-packager scripts will be removed. Also updated electron to address a security issue. 2018-01-24 01:08:29 -05:00
docs Further work on discord rich presence. Current implementation is untested. 2017-12-03 02:13:42 -05:00
.gitignore Begining to transition over to electron-builder for building the app. Currently in a testing phase for this, gradually refining the build options. Once electron-builder has been fully implemented, the electron-packager scripts will be removed. Also updated electron to address a security issue. 2018-01-24 01:08:29 -05:00
README.md Added buildscripts to npm package.json 2017-11-27 16:56:26 -05:00
index.js Initial work on login UI. Will continue to experiment with the layout and tweak colors and sizing. 2018-01-22 19:51:14 -05:00
package-lock.json Begining to transition over to electron-builder for building the app. Currently in a testing phase for this, gradually refining the build options. Once electron-builder has been fully implemented, the electron-packager scripts will be removed. Also updated electron to address a security issue. 2018-01-24 01:08:29 -05:00
package.json Begining to transition over to electron-builder for building the app. Currently in a testing phase for this, gradually refining the build options. Once electron-builder has been fully implemented, the electron-packager scripts will be removed. Also updated electron to address a security issue. 2018-01-24 01:08:29 -05:00

README.md

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.

Building

Run either of the build scrips noted below. On some operating systems you may need to run these commands through a terminal with administrator privileges.

Supported Platforms

  • Windows x64 (win32 x64)
    • npm run buildwin
  • MacOS (darwin x64)
    • npm run builddarwin
  • Linux (linux x64)
    • npm run buildlinux

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