Last Tuesday, I posted a rundown of where we were at with the Launcher updater and our plans moving forward. This week, I'm happy to announce results. I've just promoted version 4.224 to Beta, and it includes some key improvements. We don't have byte patching in this new beta launcher, but we do have the next best thing: we've removed the font files from the launcher package and have them download separately to your hard drive during the update process. They're big, but we don't change them, so once you have them, you have them for good. No more 20Mb updates, welcome back to 2Mb launcher updates.
That doesn't mean that the byte patcher isn't coming. But it is a large amount of work, and we determined that this was a change we could make now to get updates out to you guys in the short term. It should solve basically all of your updating woes after the initial update, so we think you're going to appreciate it.
The second major change we're making in this update is we're hooking the launcher up to a new API. We know that performance on the Platform has been rough since the relaunch, especially on the weekend. That stings especially hard because one of the core promises we made about the new launcher was that performance would be better. This past weekend was not great, but we collected a lot of data and made a solid plan that we've been working on around the clock. We've ported the launcher API, which accounts for 75-80% of our site traffic, to NodeJS. According to our experiments, using NodeJS and a service that autoscales our hardware according to trafffic, we can handle several times the launcher traffic for the same amount of money. Moving the launcher API off of our web hardware will also protect the site from buckling under launcher pressure and also protect us from DDOS. It's a big win for everyone, and today's Beta tests out this new API as well as the bindings, so it's extremely important to test, because we want to roll out these changes in time to save the site this weekend.
We also have a variety of bugfixes, translation updates from the community, and plenty of other awesome updates, check out the changelog since the last Stable build (v4.211):
- Removed the fonts from the launcher package. They will now be downloaded to your .technic folder if they are not present, meaning that you can download and update the launcher without dealing with the large file size.
- The font Open Sans Bold has been temporarily removed. This will temporarily reduce the visual quality of author names and the News alert, but will reduce the size of launcher asset downloads by 30%.
- Re-architected the autoupdate system to allow us to add byte patching later.
- Rebound the platform API from www.technicpack.net/api/ to api.technicpack.net. This URL points at some experimental API hardware that will hopefully allow us to fix the platform's performance on weekends.
- The launcher will no longer peg a processor at 100% while Minecraft is running.
- Added Czech language support
- Fixed typos and translation errors in French & German translations.
- Fixed typos and translation errors in Portuguese (Brazil) translation.
- Additional logging was added for Mojang authentication errors.
- The Technic launcher will now follow 300-level redirects across protocol boundaries (HTTP to HTTPS and HTTPS to HTTP) when downloading mods and libraries and communicating with services.
- Packs deleted or disabled on the platform, and solder-enabled packs with an inaccessible solder service will now identify as "Offline" in the launcher, and act appropriately.
- The Launcher startup splash screen is now somewhat less aggressive about its own visibility.
- The launcher will now function in environments where translucent window support is unavailable, but it will look 30% less rad in those environments.
- Offline packs with no installation will give a message box declaring themselves as unavailable, instead of throwing an exception.
- Using unpromoted builds will no longer update to older ones if you are configured to use the beta stream.
- Added a few utilities which will allow us to make the Java version selectable at a later date.
- We will no longer fail to update a pack or install portable mode in situations where the launcher wants to move a file to a place where it already is.
- In cases when the installer dialog is running standalone during the initial installation, clicking the close button at the top right no longer throws an error.
- In cases when the installer dialog is running standalone during the initial installation, closing the dialog from the operating system (for instance, selecting close from the Windows taskbar) will no longer leave the process hanging.
As always, if you'd like to join the Beta stream, you can do so from the Launcher Options dialog in your launcher, and we'd appreciate you sharing your Beta experiences with us in our IRC channel. Thanks for playing, and we'll see you this weekend!