Dev Diary - New Launcher and Open Beta - A Guide

iwCSA26.png

Developer Diary - New Launcher and Open Beta

For some time it has been our ambition as a team to be able to be more open with the whole community with in progress development and testing. Those of you who view and follow the Development Roadmap will have not only been able to see the first glimpses of that philosophy but also what is coming down the pipeline to aid that. The cornerstone of all this is the Launcher - so today I am glad to announce the Open Beta of the new launcher ... which will enable Open Betas for MBII!

Where we've come from

Today's launcher has been end of life for some time. Work was started on it more than 11 years ago and the landscape of computing has changed immensely in that period. The approach to a cross platform application that can be rapidly developed, maintained and with the full power of the platform on which it runs available is no longer possible. The Mono framework appears to have become less compatible across platforms to the point where without making any changes at all to the application, the framework would no longer run it cross platform. Additionally the person who did most of the original work on the current Launcher did it in such a way that expanding the UI to expose new features - like an Open Beta feature was not possible. The only workable part of the current Launcher is the Patcher which was rewritten a few years ago in a modern cross platform technology.

A New Hope Launcher

We have totally re-written Launcher from the ground up with an eye on the future. This means we are looking to keep this as piece of the mod which can be updated quickly and easily and not be a drag on peoples time. The new Launcher - which is still unfinished beta software - will when complete have total feature parity with the existing launcher - with the exception of cross platform support via the mono framework. Unfortunately this reflects the reality of the world today where the existing Launcher does not reliably work for many people on Linux and Mac. Linux and Mac users should switch to the cross platform command line updater which uses the same code as the Windows patcher but runs natively via the open source dotnet Core framework. Dropping cross platform support entirely means we have been able to switch to platform standard Windows Installer technology that every windows user is already familiar with. For us this means that we no longer have to maintain two patchers and can offload the physical patching of the launcher to well proven technology provided by the platform.

Getting Started

Installing the new launcher is as simple as downloading the Installer Package and running through the Wizard. Please note the requirement to be installed in the GameData directory is gone - but feel free to install it there if you wish.

setup.png

You all know what to do with this

Once the installer is finished, a Short Cut will be placed on your desktop and in your Start Menu as you would expect. Hopefully this will cut down on the amount of players needing support because they cant find Launcher or try and run it directly from the Zip.

Shortcut.png

StartMenu.png

So you fire up new launcher and first things first - you need to scroll down and accept the EULA. The accept button is well hidden at the moment and is something that will be improved before the new Launcher leaves Open Beta.
EULA.png

Having Accepted the EULA the Launcher will - just like the old one - look for your Jedi Academy installation. If you chose to point the installation to your GameData folder you will likely not see this step unless your Jedi Academy installation does not meet the minimum criteria to be valid. The search will follow the same priority as the current launcher does which can basically by summerised as the most recent of Retail Disc, GoG, Any other digital platform other than steam - followed by Steam. If the auto detect picks up the wrong directory you can reject the location picked by Launcher and chose your own or pick again at any time from the settings menu.

Once you have found your installation you can go straight ahead and hit the Install button (And ignore where it says 'Initialising Patcher'...). Launcher will then check that your system has all the pre-requisites for MBII Installed - at the moment this is just the Visual C++ runtime and then move onto validating your Moviebattles installation. If your MBII installation is up to date this should take no longer than starting the old launcher would have. If on the other hand you've just sat down to write a Dev Diary - Enjoy the new install animation.

Install.png

Here's one i didn't prepare earlier.

Once patching is complete you will want to head over to the settings menu. You should set everything to as it is in the current Launcher - this should ensure everything stays working. And of course, to opt into the Open Beta CTF also happening tonight (1st of August 2021), you will want to hit the Enable Open Beta checkbox.

Settings.png

If an Open Beta is currently running you will then be able to select the Open Beta build on the left hand side of the screen. Upon selecting this the Launcher will begin to install the Open Beta files. Any files that are unchanged from the current public build to the open beta build will be copied locally. Any updated files (Or files that have been modified on your local system) will be reacquired from the server. No configurations or Force Config files will be copied from the public game - You will have to set up your keys, binds and builds from scratch.

Copying.png

Once patching is complete, you can simply hit play to load up the beta.

Should you wish to switch back to the public build, you simply need to click on the Release build in the settings menu

Once the Open Beta period ends Launcher will inform you and automatically switch you back to the public build.

Known Issues
  • Steam is a strange animal. We strongly recommend any steam players close down the game, new and old launcher and repair the installation from steam before beginning.
  • Not all minimize key combinations that were accepted by the old Launcher will work with the new Launcher - This is a known bug which we hope to resolve shortly.
  • The help menu doesn't work - This is coming shortly.
  • There are issues sorting columns in the server list.
  • For OpenJK Users when switching between release and Open Beta the engine will get forgotten but the UI will be incorrect. To fix this switch the engine to JAMP, then enable Steam Integration (Even for non-steam users), and then switch back to Open JK - This is a known bug which will be fixed shortly. - Fixed 4.0.6.0

You can download the Open Beta Launcher Installer Here
 
Last edited:

Defiant

Project Leader
Movie Battles II Team
Code Leader
Posts
863
Likes
1,259
In reality, Linux and Mac support is spotty at best as is. Atleast its out in the open this way. The vast majority of people are catered for, everyone has access to the command line updater which is code identical. If Mac wasnt so developer hostile and if Linux wasnt so user unfriendly it might be worth doing a UI wrapper round it, but this is the world we live in.
 
Posts
3
Likes
1
In reality, Linux and Mac support is spotty at best as is. Atleast its out in the open this way. The vast majority of people are catered for, everyone has access to the command line updater which is code identical. If Mac wasnt so developer hostile and if Linux wasnt so user unfriendly it might be worth doing a UI wrapper round it, but this is the world we live in.
Why not open-source the launcher? maybe other people specific to Linux/Mac can look into it and port it or something.
 

Defiant

Project Leader
Movie Battles II Team
Code Leader
Posts
863
Likes
1,259
The cross platform updater already has everything anyone would need as far as i know. It is entirely scriptable, so anyone could whack a UI ontop of it. There are no advantages to be had by open sourcing it - the amount of required to wrap a UI around it would be the same.
 
Posts
3
Likes
1
The cross platform updater already has everything anyone would need as far as i know. It is entirely scriptable, so anyone could whack a UI ontop of it. There are no advantages to be had by open sourcing it - the amount of required to wrap a UI around it would be the same.
You certainly could put a UI ontop of the cross platform updater, but can you get feature parity with the Windows launcher? Like for example the part of "Latest news" and such. Is that a proprietary API or does it use RSS for getting the news? By not open-sourcing it, it is harder to guess the actual implementation.
 

Defiant

Project Leader
Movie Battles II Team
Code Leader
Posts
863
Likes
1,259
Proprietary is such a loaded and often misleading term. It is not proprietary - it is http and json. It is private as it is tied to our infrastructure and we don't want to have any sort of responsibility to not break it. Forums have some RSS capability if it could do what we do right now with our custom json - no idea.

Feature parity is not possible anyway. A couple of reasons off the top of my head - You don't get a choice of engines on Linux.
- It isn't reasonably possible to install any mb2 prerequisites on Linux due to the platform suffering such major fragmentation.

The bottom line is its not worth giving up the flexibility to change launcher as and when we need to, just to satisfy some curiosity. There is a public api for the patcher (just call it with - - help) everything else is publicly available.
 

Spaghetti

the grinch
R2D2
Movie Battles II Team
Posts
1,438
Likes
1,434
You certainly could put a UI ontop of the cross platform updater, but can you get feature parity with the Windows launcher? Like for example the part of "Latest news" and such. Is that a proprietary API or does it use RSS for getting the news? By not open-sourcing it, it is harder to guess the actual implementation.
The server list API is public, though it has no promises of stability if I ever get around to modifying it later. The news handling is pretty trivial to figure out for anyone who has any kind of experience with HTTP requests. As Defiant said, there's absolutely nothing stopping someone making their own UI on any platforms the CLI updater works with. Well, other than a lack of will/desire to go through the trouble.

We've never had exact numbers but based on prior instances of things being broken on a platform temporarily I'd guess there are less than 100 active Mac/Linux players, which is probably a generous guess, so it's not exactly a compelling use of our limited time to give first class support. Whatever is left of the Mac player base will continue to dwindle anyway as people migrate to newer Mac versions and lose 32-bit support.
 
Top