New Launcher Alpha Tests

Discussion in 'Code' started by Dan_Prime, May 9, 2018.

Thread Status:
Not open for further replies.
  1. Dan_Prime

    Dan_Prime Sword of the Morning Coder

    New Launcher Alpha Tests
    Hey guys, after a very long time (sorry lol), the new launcher is finally ready for alpha testing. You may be wondering, what is alpha? Does this just mean the new launcher is ready? In short, no. The new launcher is not ready for public consumption, however it is at a point where I feel that people can use it so long as they are willing to help me fix bugs and finish everything.

    The alpha phase will likely be the longest testing phase. New features and incompatible massive changes are all fair game. We will only move forward to beta when all features are implemented. Beta will be used specifically to eliminate outstanding bugs before our initial release. At that point, the feature set will be locked so that we can just get everything out.

    So, should you use alpha? The answer to that is simple. If you are competent with computers, willing to employ a few workaround methods, and are fine with a lot of client updates, then yes! Keep in mind that if you do decide to use alpha, you need to be willing to report bugs, as that's the only way we can get them fixed.

    Alpha Goals
    During the alpha phase, the launcher will be recieving both feature updates and bug fixes. In addition to this, we will be tuning functionality so that everything is intuitive and clear. There are a few things I would like you guys to pay attention to.

    UI Design
    If anything on the UI is confusing or misleading, let us know. We'll examine it and formulate better ways of displaying the information.

    Java Detection
    The launcher does not require Java to run, however it is still needed to launch Minecraft. To accomidate, the launcher has a series of Java detection functions built in. If a suitable Java installation is found, we use that to launch the game. If not, the latest version of Java 8 is downloaded directly from oracle and placed into the launcher's data folder. In an effort to reduce disk usage, we want the Java resolution functions to be as accurate as possible in identifying potential Java candidates. If any of the following happen, please report them.

    • You know for a fact that you have a valid x64 installation of Java 8 on your computer, however the launcher has not detected it.
      You have several Java installations on your computer, and the launcher has not detected/chosen the latest version among them.
      In this case, I will need to ammend the detection code.

    • The launcher has successfully detected an older version of Java 8 and is using it for launch. The launch fails because our mods require a newer version of Java.
      In this case, I'll bump the minimum version of Java 8.

    The first issue is the most likely to occur, so keep an eye out for it.

    Locations which are currently being scanned:

    • I scan the registry for Java entries:
    \SOFTWARE\JavaSoft\Java Runtime Environment
    \SOFTWARE\JavaSoft\Java Development Kit

    If none are found, I scan C:\Program Files\Java
    • /Library/Internet Plug-Ins/JavaAppletPlugin.plugin.
    • /Library/Java/JavaVirtualMachines

    • /usr/lib/jvm

    If anything feels slow or clunky, please let us know. We'll do our best to to resolve the issues. We want this launcher to have a smooth and seamless feel to it.

    Pitfalls and Usability

    At this point, the launcher is very usable but not everything may have a UI implemented. As a result, you will have to use console commands or similar workarounds to get some things done.


    The console can be opened by using the keybind CTRL + Shift + i. It should open the following window.


    As the text says, the console is dark and full of terrors. Do not paste anything there unless you ABSOLUTELY know what it will do. Pasting the wrong thing there could have very bad consequences.

    The console will be required for a few things during alpha.

    Settings Management

    The settings UI has not yet been implemented. As such, you will need to manually edit the settings. There are quite a few ways to do this, I'll go over a few here.

    Settings management UI completed in alpha 12.

    Account Management

    Account management is a part of settings, and is therefore not implemented on the UI.
    Account management UI implemented in alpha 7.

    If you try to join the server and it says invalid session, try restarting your game, type the following.

    If nothing pops up after a few seconds, you're good to go. If something does pop up, click "Login" and login again.


    Fixed in alpha 6, simply restart the launcher.

    Installation Notes

    As this is alpha, we are not yet signing the application. As such, when you try to run it you may get security warnings. As long as you are 100% sure you have the file from the official download link, there should be nothing to worry about.

    Signing up for Alpha
    I really want Alpha users to be active on discord, as I always have it open and use it a lot for launcher development. As such, the signup for alpha is on discord.

    To sign up, send a message to Dan_Prime#2135 (me) on discord showing itent to sign up for alpha. From there, I'll send you the relevant links. You'll also be added to the Launcher Tester role and given access to post in #launcheralpha.

    Alpha is available. Signup is open.
    Last edited: Jun 17, 2018
    EStoop, Emotione11, Steineke and 4 others like this.
  2. Dan_Prime

    Dan_Prime Sword of the Morning Coder

    The data directories for the new launcher are listed below:
    • Windows AppData/Roaming/.westeroscraft/
    • OSX ~/Library/Application Support/.westeroscraft/
    • Linux /home/.westeroscraft/
    If you're a builder who needs the macro mod with liteloader, I have setup instructions here

    Finally, if you're a Linux user let me know if everything works. I haven't been able to test on linux yet. Tested and works.
    Last edited: Jun 20, 2018
  3. m0_m0ney

    m0_m0ney Nobuild

    I'm sure this isn't the right place for this but I'm trying to use the regular launcher on mac but it says I need Java 7 or 8 and I have 10 currently and I was wondering if all i have to do is just downgrade?
  4. Enah

    Enah Mother Nature and Lord in Bandallon Maester

    yes, you need the ones specified... it should allow you to use both, just have wc launcher pathed to the lower java, if you need further help please check out the support thread.
    Wazgamer likes this.
  5. The client itself requires Java 8 - any other Java version is probably gonna have problems.
    Dan_Prime likes this.
  6. Dan_Prime

    Dan_Prime Sword of the Morning Coder

    Going to release a new alpha build at some point today. It should fix issues with Linux startup as the data directory has been corrected. Java validations have been implemented for Linux. The changes have been tested on Ubuntu v18.04.
    There were also general enhancements to Java validations for MacOS (untested) and Windows (tested).

    Full changeset (so far) can be viewed here.

    If there are any glaring issues which you would like me to address for this build, let me know on here or on Discord.
    EStoop, GrayJedi and Wazgamer like this.
  7. Dan_Prime

    Dan_Prime Sword of the Morning Coder

    Alpha 6 Released. This fixes the issues with mojang validations. They should work properly now. As such, you should no longer need to type in validateSelected() into the console.

    Note that this update effectively invalidates all existing access tokens as it uses the proper client token. You will need to login again as a result. The UI will prompt you of this, and it should be a one time thing.

    Full changelog:
  8. Dan_Prime

    Dan_Prime Sword of the Morning Coder

  9. Dan_Prime

    Dan_Prime Sword of the Morning Coder

    EStoop and Emotione11 like this.
  10. Dan_Prime

    Dan_Prime Sword of the Morning Coder

  11. Dan_Prime

    Dan_Prime Sword of the Morning Coder

    EStoop, geeberry and CashBanks like this.
  12. Dan_Prime

    Dan_Prime Sword of the Morning Coder

    EStoop likes this.
  13. EStoop

    EStoop Peasant of Oldtown Builder

    I understand so little of this, yet these posts make me excited everytime they are posted. Really looking forward to the new launcher.
  14. Dan_Prime

    Dan_Prime Sword of the Morning Coder

  15. Dan_Prime

    Dan_Prime Sword of the Morning Coder

    Alpha Update 14 Released. This update includes a handful of bug fixes and new features. Most notably, optional mods can now be enabled/disabled and liteloader support added.

    A UI for mod toggling is not included in this update. Please see the release notes for information on how to manually toggle mods on and off. The UI will come in a subsequent update.

    Release Notes:
  16. Dan_Prime

    Dan_Prime Sword of the Morning Coder

    Sorry for any delays, it has been a busy month.

    Right now I'm working on major improvements to the launch code. These changes involve updating the distribution specification, so when they land all alpha users will need to update. Alpha builds 14 and earlier will be obsolete.

    The update may take some time to fully implement, you can track progress here
  17. Dan_Prime

    Dan_Prime Sword of the Morning Coder

    EStoop and Emotione11 like this.
  18. Dan_Prime

    Dan_Prime Sword of the Morning Coder

    EStoop likes this.
  19. Dan_Prime

    Dan_Prime Sword of the Morning Coder

    Alpha Update 15 Released. This update includes a massive overhaul of the distribution index specification and its implementation in the launcher. Optimizations and improvements were added to many sections of the code which reference the distribution index. These efforts were especially concentrated on download processing, which should run smoother (no more 107% or going from 90% to 75%). Several other changes and bugfixes are also included.

    Full Release Notes:
  20. Dan_Prime

    Dan_Prime Sword of the Morning Coder

    SseriousBusiness and Andy_Jones like this.
Thread Status:
Not open for further replies.