Author Topic: BETA development of the FreeSpace Open Installer  (Read 44635 times)

0 Members and 1 Guest are viewing this topic.

Offline Goober5000

  • HLP Loremaster
  • 214
    • Goober5000 Productions
BETA development of the FreeSpace Open Installer
Announcing version 2.0 of the long-running FreeSpace Open Installer, written in Java and runnable on any platform!

Download!

Features:
  • Inspired by Turey's Installer, but completely rewritten from the ground up!
  • Can be run on Windows (98SE through 8.1), OSX, and Linux!
  • Brand new user-friendly interface!
  • Downloads files in both .zip and .7z formats!
  • Installs multiple mods in parallel!
  • Automatic hash validation (MD5, SHA-1, or SHA-256) of downloaded files!
  • Performs additional error checking and validation!
  • Can connect through a proxy!

This is the BETA version.  Don't go trumpeting it all over the internet yet; it has barely been stress-tested and I want to make sure all the bugs are hashed out.  In particular, I want to improve some of the error handling for failed downloads; currently the download will not retry if it encounters an error.  Furthermore, I want to figure out a happy medium between the comprehensive information printed to the log file and the "An error occurred!" messages that can appear on the final page.

Please post any and all feedback here, including any bugs you notice.  Known bugs are listed below.

The installer was designed with two additional features in mind.  These aren't ready yet, but the code has foundational support for them, and I intend to code them once the install function has been judged sufficiently ready for prime-time:
  • Wizard-like creation of installer text files.  Instead of writing the files yourself, fire up the wizard and select the files using a GUI.
  • Self-contained installation packages.  Instead of using the installer to download the mod, you will be able to build a giant .jar file that contains both the installer AND all the mod data.  Running the jar file will extract the files to the designated location, no internet connection required.
Finally, note that the Installer depends on configuration files provided by mod authors, which may not be completely up to date.  (For example, the SCP mod configuration file lists 3.6.18, where it should list 3.7.0.)  The mod downloads will only be as good as the configuration files, so go badger your favorite mod author to update his mod!

Known bugs:
  • There is an issue in OpenJDK 6 that will cause dialog windows to appear too tall.  This can be fixed by installing OpenJDK 7.
  • Hashes were not compared case-insensitively [fixed]
  • Previously installed mods won't be re-selected on the mod page, like they were with Turey's installer. [fixed]
  • Some files will appear to download properly, then at the last minute throw an error.  The log file will say something like "[java] java.util.zip.ZipException: invalid entry CRC (expected 0xe1856c7 but got 0xb7264324)".  Searching online seems to implicate a corrupted zip archive, but more testing is needed. [fixed, thanks to m!m]
  • There is an error in the word-wrap algorithm for "More Info"; a trailing period can appear on a line by itself.  (Can be seen in the BtA: Mefistofele entry.)
  • The red and green circles on the stoplight panel are placeholders.  Zacam owes me some prettier graphics. [fixed]
« Last Edit: May 10, 2014, 10:16:38 pm by Goober5000 »

 

Offline Lorric

  • 212
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
Nice. Did you squeeze in a few minutes under midnight where you are? :)

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
All right, that's a technical pass.

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
I like what I'm seeing. I think the detailed view of the items you've chosen to install should be expanded by default, because the contracted view isn't very readable and I don't think most users will figure out how to expand it.

I got failures on most of the files I tried to download - I don't know if this is an error in the installer or if it's simply pointing at invalid assets.

I'd very much like to be able to expand the window to fullscreen.

 

Offline niffiwan

  • 211
  • Eluder Class
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
Quote
2014-01-20, 14:56:21

Looks to me like he released with 4m 39 secs to go :)  (assuming EST == UTC-5)

And of course.... CONGRATULATIONS ON THE RELEASE!!!!  I'll have to go give this a thorough pounding now...
Creating a fs2_open.log | Red Alert Bug = Hex Edit | MediaVPs 2014: Bigger HUD gauges | 32bit libs for 64bit Ubuntu
----
Debian Packages (testing/unstable): Freespace2 | wxLauncher
----
m|m: I think I'm suffering from Stockholm syndrome. Bmpman is starting to make sense and it's actually written reasonably well...

 

Offline Goober5000

  • HLP Loremaster
  • 214
    • Goober5000 Productions
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
Thanks. :)

Don't forget, this code is hosted in the SCP SVN repository, so it's available for anyone to code-review.

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
Hmm, most of the files that did succeed in starting to download seem to have failed mid-stream. I've also got one hung at the 'waiting' stage.

 

Offline Axem

  • 211
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
I managed to download DEM without a hitch. Maybe the download source is flaky?

 

Offline mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
How/where should mod authors learn about config files for this?
Cutscene Upgrade Project - Mainhall Remakes - Between the Ashes
Youtube Channel - P3D Model Box
Between the Ashes is looking for committed testers, PM me for details.
Freespace Upgrade Project See what's happening.

 

Offline Hellzed

  • 28
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
What are the checks for identifying a retail fs2 install ?
I have the retail VPs and movies (on Linux) but it gives me the "missing retail install" error.

 

Offline An4ximandros

  • 210
  • Transabyssal metastatic event
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
WOO!

Excellent news, Goober! Now I need to start working on another medal. =p

 

Offline Goober5000

  • HLP Loremaster
  • 214
    • Goober5000 Productions
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
How/where should mod authors learn about config files for this?

Unfortunately, there isn't any documentation on how the config files are laid out.  (Hence my motivation for working on a "wizard" config file generator next. :))  The best thing I can suggest is to consult another mod's config file; the FSPort config file is pretty comprehensive.  You could also look at the code in SVN, or ask me if you're stuck.


What are the checks for identifying a retail fs2 install ?
I have the retail VPs and movies (on Linux) but it gives me the "missing retail install" error.

At the moment, all it does is check to see if root_fs2.vp is in your destination directory.

 

Offline mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
And how does the installer know where to look for these txt files, an update to the installer itself? (so, say I have a txt file for MediaVPs 2014, how do I get it included?)
Cutscene Upgrade Project - Mainhall Remakes - Between the Ashes
Youtube Channel - P3D Model Box
Between the Ashes is looking for committed testers, PM me for details.
Freespace Upgrade Project See what's happening.

 

Offline Kobrar44

  • On Suspended Sentence
  • 29
  • Let me tilerape it for you!
    • Steam
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
  • Can be run on Windows (98SE through 7), OSX, and Linux!
Out of curiosity, is there some particular reason to give win98 more love than win8?
Congratulations on the release too, btw.
Oh guys, use that [ url ][ img ][ /img ][ /url ] :/

 

Offline Goober5000

  • HLP Loremaster
  • 214
    • Goober5000 Productions
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
And how does the installer know where to look for these txt files, an update to the installer itself? (so, say I have a txt file for MediaVPs 2014, how do I get it included?)

There is another text file on fsoinstaller.com (and mirrored on scp.indiegames.us) that contains a list of config file URLs.  So just upload it somewhere, send me the link, and I'll add your config file to the list.


Out of curiosity, is there some particular reason to give win98 more love than win8?

Just that I've tested it on Windows 98 but not on Windows 8.  If someone verifies that it works on Win8, I'll update the post.

It's compiled with Java 1.5, so you should be able to run it on any platform that supports Java 1.5 or greater.


 

Offline mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
Last question.. I'm guessing the installer doesn't handle 7z and mods should pack things up for the installer in ZIP?
Cutscene Upgrade Project - Mainhall Remakes - Between the Ashes
Youtube Channel - P3D Model Box
Between the Ashes is looking for committed testers, PM me for details.
Freespace Upgrade Project See what's happening.

 

Offline Goober5000

  • HLP Loremaster
  • 214
    • Goober5000 Productions
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
Per the first post, the installer does indeed handle 7z. :nod:

 

Offline mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
Well, i guess I should READ
Cutscene Upgrade Project - Mainhall Remakes - Between the Ashes
Youtube Channel - P3D Model Box
Between the Ashes is looking for committed testers, PM me for details.
Freespace Upgrade Project See what's happening.

 

Offline MatthTheGeek

  • Captain Obvious
  • 212
  • Frenchie McFrenchface
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
1) Where is the log file you mention supposed to appear?

2) Most of everything is also failing to DL on my end. Trying to install basic version, I got
- Launcher
- FS2.bmp
- FRED 3.7.0 debug
- mod.ini for no mod FS2
- multi-mission-pack.vp
- mediavps_3612 folder with only MV_Root.vp and MV_Root.3612.vp

I'd love to give more info, but see 1)


3) As a future possible improvement, would it be possible for the installer to run hardware/OS detection via maybe cpu-z or something (that thing's open source, right) and select automatically the correct FSO version (SSE-2 / no SSE / linux / whatever).
« Last Edit: January 20, 2014, 03:12:04 am by MatthTheGeek »
People are stupid, therefore anything popular is at best suspicious.

Mod management tools     -     Wiki stuff!     -     Help us help you

666maslo666: Releasing a finished product is not a good thing! It is a modern fad.

SpardaSon21: it seems like you exist in a permanent state of half-joking misanthropy

Axem: when you put it like that, i sound like an insane person

bigchunk1: it's not retarded it's american!
bigchunk1: ...

batwota: steele's maneuvering for the coup de gras
MatthTheGeek: you mispelled grĂ¢ce
Awaesaar: grace
batwota: oh right :P
Darius: ah!
Darius: yes, i like that
MatthTheGeek: the way you just spelled it it means fat
Awaesaar: +accent I forgot how to keyboard
MatthTheGeek: or grease
Darius: the killing fat!
Axem: jabba does the coup de gras
MatthTheGeek: XD
Axem: bring me solo and a cookie

 

Offline niffiwan

  • 211
  • Eluder Class
Re: RELEASE: FreeSpace Open Installer, v2.0 BETA
I like what I'm seeing. I think the detailed view of the items you've chosen to install should be expanded by default, because the contracted view isn't very readable and I don't think most users will

Yep - gotta 2nd this. There isn't a tooltip for the arrow icon, and I figured out more or less by accident what it did.  In additon, by defaulting to the expanded view it'll also give better feedback on the current status of the downloads.

I've also got this unusual graphic glitch:


(yes, it's 2-3x too tall for my monitor and I can't resize it, without alt-move I'd be completely stuck :))

FYI - this is my java version, i.e. the default in ubuntu 12.04 / Mint 13:

Code: [Select]
$ java -version
java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.4)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

On the logfile, I ran it from the command line and this was output:

Code: [Select]
$ java -jar ~/install/freespace2/FreeSpaceOpenInstaller.jar
log4j:WARN No appenders could be found for logger (com.fsoinstaller.main.Configuration).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.


I tried downloading Homesick, Sync & Shrouding the Light; only STL downloaded successfully.  Here's the contents of the new dirs after it completed:

Code: [Select]
$ ls Sync/ homesick/ STL/
homesick/:
Homesick.vp

STL/:
BR_STLpack.vp  mod.ini  STL.bmp  STL_Readme.txt

Sync/:

What are the checks for identifying a retail fs2 install ?
I have the retail VPs and movies (on Linux) but it gives me the "missing retail install" error.

At the moment, all it does is check to see if root_fs2.vp is in your destination directory.

I would guess this is related to the case sensitive file system used by Linux.  Hellzed - could you post your retail VP filenames?


Don't forget, this code is hosted in the SCP SVN repository, so it's available for anyone to code-review.

Love to... just need to learn java 1st :D

Overall, good work, I can't wait to see the rough edges buffed off :yes:
Creating a fs2_open.log | Red Alert Bug = Hex Edit | MediaVPs 2014: Bigger HUD gauges | 32bit libs for 64bit Ubuntu
----
Debian Packages (testing/unstable): Freespace2 | wxLauncher
----
m|m: I think I'm suffering from Stockholm syndrome. Bmpman is starting to make sense and it's actually written reasonably well...