Launcher Updates and Fixes

mb2_logo_1.png


A few people have shown some interest in some upcoming enhancements to the launcher. The launcher serves as both as a tool for updates and information and as the first impression new players get to MB2 it is therefore important that the launcher gives a clean and seamless experience. In its current state, the launcher is not fulfilling our needs or the needs of you guys as our player base. So today I am going to show you some of the improvements and bug fixes which will be coming soon, as well as some longer ambitions and new features that we hope will appear in the not too distant future. This is mostly centred around the installation and patching part of the launcher rather than new features. The aim was to first fix the major deficiencies of the launcher to give us a good platform to build on.

Installation

Current

Today, the launcher is downloaded as an executable, the installation instructions aren't great, but there's not a lot to say. The download page does state it should be placed in the "GameData" folder but that's not strictly true, but is the easiest way although it doesn't help new players a lot. For non-Windows users, the extra step of downloading the mono framework and using a terminal window to run the binary through the framework is required. Bugs are not unheard of at this stage.


Problems
  • Poor installation instructions.
  • If you've only just picked Jedi Academy up, how are you expected to know what "GameData" is?
  • If you're a Mac user, the mono framework may well be unfamiliar to you.
  • The infamous "Not enough disk space" bug.


Coming Soon
The new version will query the registry for Jedi Academy's install location on Windows systems in order to automatically offer an installation location for the mod if it is not installed to the correct place. This only helps out Windows users, but that is by far the greatest portion of the player base.

The insufficient disk space bug was likely caused by attempting to install the mod on removable or remote media. The bug itself should be fixed, but since this is an impossible bug to verify as fixed, the prompt will be override-able by the user.


In The Future
Hopefully further down the road, the file will be packaged using a platform-correct installer. For instance, the Windows version could be downloaded as an MSI package and provide a familiar installation (and uninstallation) interface which we can use to make the process smoother for new players.

For non-Windows users we will be investigating the mono framework ability to be able to internalise itself into the application. The result would be that non-Windows players would not be required to go away and get the mono framework, as it would work straight from the first download.


Patching

Current
The way that patching works today in principle isn't bad. There are some limitations but they are for us as a team rather than for you guys as players. The main problem from a player’s perspective has been that it isn't very error redundant. When that clumsy Gungan trips over the power cable to your computer and you're suddenly left looking at a black screen and have to reboot and reload the launcher the update process doesn't pick up on the corrupt file that you didn't finish downloading when power was lost. Before you know it the rest of the files have downloaded and you eagerly hit launch to enjoy the wonderful MB2 goodness, only to be met with weird bugs, or missing textures, or unexplained crashes. In other ways the patching is too complete. If you've saved a new default configuration for any of the classes, launcher will detect the file needs patching and overwrite it. Finally, if we want to update a 2KB JPEG in a 600MB pk3, you'll find yourself downloading all 600MB.

Problems
  • Patching fails if you sneeze in the patchers general direction
  • Files that shouldn’t be overwritten frequently get overwritten
  • Massive file downloads for small asset changes
  • Low player confidence in the patching process

Coming Soon
The patcher has been completely rewritten with the main aim of being very error tolerant. The new patcher will maintain a local cache of the state of all the MB2 assets, each time you load launcher this cache will be compared to a master list on the update server. If the cache differs from what the server says the file should be, then the file will be redownloaded. The cache will only be updated by launcher during patching, and a file will only be written to the cache once it has been entirely written to disk and it has been verified. The file won't then be checked again until the server is updated or a repair is requested. The net result of this is that error redundancy is provided for incomplete and corrupted downloads without requiring a complete scan. Hopefully this will restore confidence in the automatic updates. Additionally, the patcher will act intelligently with MB2 assets. It will know that it shouldn't overwrite any configuration files, but provide the defaults if they don't exist.

In The Future
I would like to add file level patching in the future. Since PK3s are very easily opened and modified we would be able to cut down on download sizes, times and bandwidth contention by patching files rather than whole PK3s.

Bug Fixes

We went through the whole support section and looked at everything that had given someone trouble with the current launcher - no matter how small. We really wanted to make the launcher as smooth as possible. Somethings were inevitably beyond our control, but this is our initial list:
  • Not enough free space bug
  • Launcher occasionally won't allow the engine to be changed
  • Launcher and MBII don't talk to each other properly resulting in kicks due to launcher not being detected as running.
  • Launcher does not work if you are not running as an administrator
  • Launcher occasionally loads into BaseJA for some configurations
  • Version detection does not seem reliable
  • Launcher can hang around with no UI resulting in a need to be killed from task manager

I'm pleased to say that, with the exception of requiring administrator privileges, everything that was identified has been addressed in some way, although they might not be complete fixes in some cases everything should be a lot smoother in the future. Players will be able to ignore the message about not having enough disk space if the error occurs at all now. The engine not being changeable was linked to incorrectly detecting if JKA was the steam version, we've added some code to properly synchronise the engine with launcher which should eliminate anti-cheat false positives, the patcher has been completely rewritten with reliability and redundancy as top priority, and if you minimise launcher, you will now actually be able to restore it.

Looking to the future
There are a few new features that we would like to add to launcher in the not too distant future:
  • The ability to run Open Beta's integrated into launcher
  • A server browser so you can hop straight into the action without loading up the game first or relying on external websites and applications
  • Default binds for new players

There are of course some other features which are often requested that we are keeping in mind, but these are not even at the design stage yet. As ever we would like to hear your feedback on anything we can do to improve the launcher. We know it can be a sticking point and the last thing we want is to scare new players off before they even load up. The feedback we get here is invaluable for that.
 

eezstreet

Movie Battles II Team Retired
Posts
242
Likes
299
This is a good post and I like a lot of the changes in the launcher that are put forth here. Good stuff overall, and it's nice to see that the priorities have shifted a bit onto fixing stuff that was horribly broken.

You don't need administrator privileges if you write the MB2 data to somewhere where Windows doesn't need administrator permissions to write to. One example being My Documents. So in theory you can write the MBII folder to /My Documents/Games/MB2 and then set fs_homepath on start (with +set fs_homepath) to /My Documents/Games/MB2/. As a benefit this means that the OpenJK and jamp clients will both write screenshots to the same place, but this might take some adjusting to get used to. This also makes uninstallation extremely painless since you can wipe the folder and bam, no more MB2 on your hard drive, but JA is still there, unharmed. Of course, the downside is that it'll be a bit confusing for old timers who are reinstalling the game again. But it's a simple adjustment, really.
 

MaceMadunusus

Level Designer
Donator
Movie Battles II Team
Posts
1,913
Likes
2,672
But it's a simple adjustment, really.

Except that RIP limited OS SSD users space. Even a 256gb m.2 ssd isnt enough for me to have MB2 on it with my other stuff (mainly work apps, no video games are on that SSD)
 

Defiant

Nerd
Project Leader
Movie Battles II Team
Code Leader
Posts
1,046
Likes
1,518
Defaulting to my documents is horrible though. High performance PCs tend to use an SSD as the system disk. I don't want to start taking space up. What I might do is have launcher change the permissions when MB2 is installed with user consent.
 

eezstreet

Movie Battles II Team Retired
Posts
242
Likes
299
Just a thought. ;) I know the Nexus Mod Manager does something similar to this.
 

Noob

Just a Guy
Donator
Movie Battles II Team
Posts
1,524
Likes
1,639
Maybe now would be a good time to try and organize the PK3's a little better. It's a nightmare for modders to sort through all those pk3s to look for an individual file. I know this would take a lot of time because of re-pathing everything, but it could also help with patching needs. I can come up with some layouts if interested; and i can go through and repath if no one wants to do it :p
 
Posts
9
Likes
7
I highly recommend you guys try to make the 'Guides' section a little bit larger, as most people will miss it if they are not looking for it. I have asked a veteran player and he had no clue that that section existed in the launcher. You learn a lot from the guides, and having them as tiny links makes them, again, easy to miss.
 

Defiant

Nerd
Project Leader
Movie Battles II Team
Code Leader
Posts
1,046
Likes
1,518
As long as one is still able to manually install the updates its fine by me

Manual installations will still be supported. Launcher will continue to validate the installation is correct however.

Out of interest - what is it that you don't like about the automatic updates?
 
Posts
460
Likes
683
Manual installations will still be supported. Launcher will continue to validate the installation is correct however.

Out of interest - what is it that you don't like about the automatic updates?
  • Too many failures in the past
  • manual installation is super easy
  • never had to reinstall the whole mod after updating manually(which has happened with the launcher)
I just don't like all these launchers nowadays, not only on mb2.
 
Posts
143
Likes
96
I think the resources which are required to make the currently totally unnecessary launcher somewhat useful (not necessary tho) is a pure waste of development time. Its not my place to tell you what to do, but do you really think that the mod needs a new/upgraded platform for those things which worked totally fine on this very forum in the past years? IMO this launcher never served the evolution of the mod, it was always just a simple shiny tool for show, with little to none real benefits for the community. But as usual, people like these kind of changes, so good job I suppose?

Anyway, IMO it'd be more useful to upgrade this forum, so informations from the developers, changelogs and up to date Wiki informations could be more easily accessible from here. That'd serve old and new players much more than having a tool which may or may not able to do the version updates on its own.
 

Defiant

Nerd
Project Leader
Movie Battles II Team
Code Leader
Posts
1,046
Likes
1,518
I think the resources which are required to make the currently totally unnecessary launcher somewhat useful (not necessary tho) is a pure waste of development time. Its not my place to tell you what to do, but do you really think that the mod needs a new/upgraded platform for those things which worked totally fine on this very forum in the past years? IMO this launcher never served the evolution of the mod, it was always just a simple shiny tool for show, with little to none real benefits for the community. But as usual, people like these kind of changes, so good job I suppose?

I can see why you would think that, but there are real benefits. In the old days many people would struggle to do a manual installation. If you're technically savvy then it is straight forward but alot of people arnt. They want no fuss and into game as quickly as possible. So there are two improvements from that. Firstly less need to support people who struggle with manual installations, and secondly not intimidating people away who think they can't do it so don't try.

The second thing is your claim that it works fine. Have a look at all the people puppytine helps with the launcher. In terms of benefits to the mods future a more robust platform mean more and faster updates with less overhead. If asset level patching gets added in the future then that will save us costs in terms of orders of magnitude bandwidth savings from updates. Is it necessary strictly for the mod? No. Do the benefits outweigh a few weeks of development effort? I really think they massively do.
 
Last edited:

eezstreet

Movie Battles II Team Retired
Posts
242
Likes
299
I can see why you would think that, but there are real benefits. In the old days many people would struggle to do a manual installation. If you're technically savvy then it is straight forward but alot of people arnt. They want no fuss and into game as quickly as possible. So there are two improvements from that. Firstly less need to support people who struggle with manual installations, and secondly not intimidating people away who think they can't do it so don't try.

The second thing is your claim that it works fine. Have a look at all the people puppytine helps with the launcher. In terms of benefits to the mods future a more robust platform mean more and faster updates with less overhead. If asset level patching gets added in the future then that will save us costs in terms of orders of magnitude bandwidth savings from updates. Is it necessary strictly for the mod? No. Do the benefits outweigh a few weeks of development effort? I really think they massively do.
I do think that the launcher is great for people who aren't tech-savvy, but at the same time I don't think we (players) should be limited to using a technically inferior option. The launcher downloads slowly and unreliably. I'll invoke the Nexus Mod Manager example here again. On the Nexus Mods site you can either choose to download and install a mod with the Nexus Mod Manager, or you can choose to download it manually. (Sometimes you can only download a mod manually, but that's just due to the nature of the mod)

Now granted, I realize that there's an obvious reason that the team wants people to keep the launcher up and running, so it can't be totally gotten rid of. But I wonder if we can streamline the process a bit? Personally I don't like having to click through the launcher to run the game. Maybe it can be done in the background? Like say, you launch the MovieBattles.exe and it launches the jamp.exe with an agent in the background that acts like the launcher is running. Just an idea. This would be great for manual installations too.
 

Defiant

Nerd
Project Leader
Movie Battles II Team
Code Leader
Posts
1,046
Likes
1,518
Now granted, I realize that there's an obvious reason that the team wants people to keep the launcher up and running, so it can't be totally gotten rid of. But I wonder if we can streamline the process a bit? Personally I don't like having to click through the launcher to run the game. Maybe it can be done in the background? Like say, you launch the MovieBattles.exe and it launches the jamp.exe with an agent in the background that acts like the launcher is running. Just an idea. This would be great for manual installations too.

What may be possible in the future is a quick launch mode which could skip showing the UI on a few conditions, such as there are no updates, the game shut down correctly the last time it launched, there are no new news items, possibly some extra conditions. That being said one of the things we'd like to add is a server browser in launcher so you can jump straight from launcher into whatever server you so desire.
 
Posts
94
Likes
116
I highly recommend you guys try to make the 'Guides' section a little bit larger, as most people will miss it if they are not looking for it. I have asked a veteran player and he had no clue that that section existed in the launcher. You learn a lot from the guides, and having them as tiny links makes them, again, easy to miss.
What I think is the issue here is that those buttons are made way too dark and the color is poorly chosen. It is all in the same shades of gray-ish blue - just like the background picture is and it gets lost in it. Also, the background picture adds a lot of noise. The icons for other sites (youtube, facebook, etc.) are far easier to see. Sure, the link gets highlighted in white when you mouse over it, but you have to notice it first, tho.

I think those links should be same like the play button - nice shiny blue, white text, big button.
 

Puppytine

Slayed dreamer
Posts
2,237
Likes
1,493
First of all, I know I'm kinda late for the party, but I'm really busy last months...

I'm pretty excited to see that Launcher will have some updates. LoU did a great job by implementing this excellent tool, but it will be even better if it get some tweaks and bug fixes.

I want to share my ideas about how Launcher could be improved:

  1. Detect outdated Jedi Academy 1.00, and show user a warning.
    I don't know is it implemented yet, since I didn't see anybody in the Support having outdated JA for a long time, but if it isn't, it should be.

  2. During repair, hash all the files from "GameData" and "base" folders, not just MBII files, and write those md5s to a log file.
    I know, I know, downloading assets and/or binaries from Jedi Academy would be a straight piracy, but nothing holds us from simply putting checksums of those files to logs.
    That would help to detect broken JA installations.

  3. During repair, move all third-party .pk3 from "base" in the same way it's done for "MBII" folder.
    Sometimes, third-party addons prevent Movie Battles from starting up. It doesn't really matter where they are placed, they should be handled in the same way: moved to "Repair" directory.

  4. Detect "cgamex86.dll", "jampgamex86.dll", "uix86.dll" in "GameData". Ask user for a permission to delete those files, if any.
    Those dlls from older MBII installations prevent Movie Battles to run correctly when JAMP is used. They shouldn't be in "GameData" anyway, their correct location is either "MBII" or "base". They appear in "GameData" if they were (mistakenly) copied there by a user.

  5. Check if Microsoft Visual C++ 2008 Redistributable Packages are installed.
    MBII is linked to those libs, they are required to play.
    When they aren't installed, game fails to start with "VM_Create on UI Failed" message, which isn't user-friendly.

  6. When user is about to start MBII via MBII Client, check if Visual C++ Redistributable for Visual Studio 2015 are installed.
    MBII Client is linked to those libs, they are required to play via MBII Client.
    When they aren't installed, game fails to start with "The program can't start because MSVCP140.dll is missing from your computer. Try reinstalling the program to fix this problem" message, which isn't user-friendly.

  7. When Launcher is already running, and user tries executing MBIILauncher.exe once again, bring existing Launcher instance to the front instead of displaying "Application is already running" message box.
    Seriously, what's the point of that popup? User just wants to switch to the Launcher, so restore its window and put it foreground. Don't make user search for an icon in tray, don't leave him/her confused. Do the most intuitive thing.
Finally, if we want to update a 2KB JPEG in a 600MB pk3, you'll find yourself downloading all 600MB.
Nah, it seems to be not necessary.
Don't get me wrong, I'm not against this feature, I just think it will be too hard to implement it and benefits aren't very clear. After all, MBII updates aren't very frequent, and usually there are more than just one JPEG per .pk3 to replace.
Patching files inside of packages may take enormous effort to code and debug, I'm not sure that it's worth to implement keeping in mind how many other changes waiting for their turn, and how limited dev team's resources are.
Buuuuut, if you feel you can do it, then go ahead. Surely it will save bandwidth and make installations update faster.
 
Last edited:

eezstreet

Movie Battles II Team Retired
Posts
242
Likes
299
  1. During repair, move all third-party .pk3 from "base" in the same way it's done for "MBII" folder.
    Sometimes, third-party addons prevent Movie Battles from starting up. It doesn't really matter where they are placed, they should be handled in the same way: moved to "Repair" directory.
Agree with all except this point.
Moving around files outside the scope of MB2's directory is akin to a virus to me. I should not have to go hunting around for files because MB2's launcher has deemed them to be "foreign." I think instead it should pop up a dialogue box that says "You have some third party content detected in your base folder, it may interfere with the game. Here's what it is:" and list it so that the user can either ignore the prompt (maybe with a "do not display this message again") or have it repair like you suggested. But I think moving the files should be optional.
 
Top