Author Topic: [Cross-platform] FS2 GOG/Mod installer  (Read 38354 times)

0 Members and 1 Guest are viewing this topic.

Offline Hellzed

  • 28
[Cross-platform] FS2 GOG/Mod installer
A python cross platform port is now in developement, by ngld : http://www.hard-light.net/forums/index.php?topic=86364.msg1769614#msg1769614
Grab the code from git : https://github.com/ngld/fs2mod-py/

Hi !
I've worked a while on this little thing, and it's starting to look good enough for a first alpha ! Don't expect a nice GUI, it's only a bash script !

Sorry, the first upload v0.0.3 was broken (some Media VP stuff still hardcoded in the unpacking part). Version 0.0.4 is not OK either, it has download path issues.
Current version is 0.0.29. Supports GOG installer, a few mods.NO BINARIES INSTALL YET ! Add them yourself. And of course this is compatible with pre-existing FS2 installs. Just don't use "clean" option on a mod if you have modified tables and models.


innoextract must be installed !

So, this is my FreeSpace 2 bash installer :
Code: [Select]
[b][v0.0.4+][/b]
- it can set up a FreeSpace 2 install from a GOG installer
- it can manage mods (install/uninstall/put archives in a cache/remember mods for reinstalling later)
- it can retrieve a mod from a SINGLE file !
- it stores its cache and config files in a separate folder so it only works with mod files in the FS2 folder
- it may support gracefully file paths with spaces (i think it's covered, not sure)

[b][v0.0.6+][/b]
- when you change the FS2 root folder, the installer now compares your mod list and the folders in the new root folder and identifies what may be installed or not. This means you can now manage multiple FS2 installs on the same computer.

[b][v0.0.10+][/b]
- handle dependecies. BUT I'M HOSTING ON "UBUNTU ONE" SO LINKS KEEP BREAKING FOR ONLINE UPDATES.

[b][v0.0.12+][/b]
- deps install is now cleaner
- downloads fail with an error message (instead of hanging) when connection is lost

[b][v0.0.14+][/b]
- mod descriptor files can now auto-update when you install or check & update (they need to include an "update" file in "root")
- better offline behaviour (if we already have a mod descriptor and the online update fails, keep going anyway)
- [no difference in the code] Switched to dropbox ! Links do not break anymore when I update mod packages in the repository !

[b][v0.0.16+][/b]
- added a way to clean cache without uninstalling/removing/checking installed files
- added a "clean mod folder option" : remove everything that's not in the zip/7z files from a mod folder (tables, models... typically any user side modification)

[b][v0.0.21+][/b]
- cleaner mod updates, deleting outdated files is now supported. *Without touching user added tables models...* If they manually add stuff to a mod and this mod is broken after update, it is advised to manually run the cleaning tool included in the script : it will remove all unsupported content.
- a lot of small fixes, including texts and menu ordering

[b][v0.0.22+][/b]
- fixed cleaning after update throwing errors if running offline.

[b][v0.0.23+][/b]
- added innoextract detection. If it's not installed, and if we are on Ubuntu, we install it ! I'll add support for other distros soon.

[b][v0.0.24+][/b]
- better/moved innoextract detection (we don't need innoextract if the original game is already installed
- GOG installer search can now be interrupted.

[b][v0.0.25+][/b]
- 7z now updates corrupt files instead of hanging the script

[b][v0.0.27+][/b]
- added RAR archives compatibility
- added subfolders compatibility
- fixed : JADXA install process

[b][v0.0.28+][/b]
- if continued download are corrupt, retry from scratch.

[b][v0.0.29+][/b]
- tweak : delete empty folders on 3 levels inside the mod folder each time we install, update, uninstall, clean user files.

[b][v0.0.30+][/b]
- fixed : download verification error if the archive has spaces in its name (escaped some strings)
- tweak : silenced harmless cleaning errors


Not released yet :
- next version will manage binaries (launchers/engine/nightly builds...)
- an "advanced mode" will be added to force cache downloads or override old files even if their checksums are ok.



You will only need to get innoextract to get it running.

Have fun, and please report bugs ! (i think there is no more accidental wipes of FS2 mods, but you may not use it on a FreeSpace 2 that you want to keep safe)
About the code : it's globally uncommented, i have the comments in the few parts of code i used to build this thing. I'll re add them later.
Some parts are duplicated, and some code paths in the download logic are not used (because i found a better implementation mid-way). I'll remove them if it doesn't break anything.

Links :

The installer : https://www.dropbox.com/s/8p7t7yci099ohzd/fs2gogextract.sh?dl=1

Mod files (load them in the installer) :
(Oh, and don't worry about installing mediavps before derelict or blueplanet : the installer will do it for you !)

Media VP 3612 : https://www.dropbox.com/s/os2ihzqx8b1c4o9/mediavps_3612.fs2mod?dl=1

[NEW !] Media VP 2014 : https://www.dropbox.com/s/vbcxbblkeedmhdr/mediavps_2014.fs2mod?dl=1

Derelict : https://www.dropbox.com/s/whzbx5uav1s9gvf/Derelict.fs2mod?dl=1

Blue Planet: Age of Aquarius : https://www.dropbox.com/s/blch7bqqq11iywx/blueplanet.fs2mod?dl=1

Blue Planet: War in Heaven : https://www.dropbox.com/s/gjcl7r57x6q5jfj/blueplanet2.fs2mod?dl=1

FreeSpace Port : https://www.dropbox.com/s/qx7ww8a0dddyq52/fsport.fs2mod?dl=1

FS Port Media VPs : https://www.dropbox.com/s/yzcll3dicpwewcl/fsport-mediavps.fs2mod?dl=1

Silent Threat: Reborn : https://www.dropbox.com/s/ofg3ib5nz5iql48/fsport-str.fs2mod?dl=1

[NEW !] Just Another Day Xtreme Arcade (JADXA) : https://www.dropbox.com/s/f4pusp3hrcc05eu/JADXA.fs2mod?dl=1

[NEW !] Vassago's Dirge : https://www.dropbox.com/s/b23gkitwj66pqtb/vassago.fs2mod?dl=1

[NEW !] Transcend : https://www.dropbox.com/s/be2c6xf24gvoeie/Transcend.fs2mod?dl=1

[NEW !] Sync : https://www.dropbox.com/s/g6u5xqznfh0o2oo/sync.fs2mod?dl=1

(any contructive critcism on the usability is welcome, i'm going to make other mod installers... please report broken links too...)




Making your own mod files is an easy task ! (mini HOWTO)

You will need to have the .zip and/or .7z archives of your mod in a folder.

Code: [Select]
cd YOUR_MOD_ARCHIVES_FOLDER
md5sum *

The output should look like this example:
Code: [Select]
c019c57629f352ff68b00c0a5478dca5  MediaVPs_3612.zip
37d110c741e55141f8d71c64f989f850  MV_Advanced_3612.zip

Copy and paste the full output to you favourite text editor.
Then, for each line, replace the 2 spaces (between the MD5 sums and the name of the archives) by semicolons ";" :
Code: [Select]
c019c57629f352ff68b00c0a5478dca5;MediaVPs_3612.zip
37d110c741e55141f8d71c64f989f850;MV_Advanced_3612.zip

Now, for each line, add your archives download urls, using semicolon ";" separators :
Code: [Select]
c019c57629f352ff68b00c0a5478dca5;MediaVPs_3612.zip;http://mvp.fsmods.net/3612/MediaVPs_3612.zip
37d110c741e55141f8d71c64f989f850;MV_Advanced_3612.zip;http://mvp.fsmods.net/3612/MV_Advanced_3612.zip

Make sure there is no new line at the end of this file.


Save it under the name : download


Now you will need to have the .vp and other .ini, .bmp ... files of your mod in a new folder. Extract archives to this folder.

Code: [Select]
cd YOUR_MOD_FILES_FOLDER
md5sum *

The output should look like this example:
Code: [Select]
a22db283154c07e5cfb5951c410e3600  FSU-MVP.bmp
ef9c1864ee8d90bd661ebfdc624dc76a  mod.ini

Copy and paste the full output to you favourite text editor.
Then, for each line, replace the 2 spaces (between the MD5 sums and the name of the archives) by semicolons ";" :
Code: [Select]
a22db283154c07e5cfb5951c410e3600;FSU-MVP.bmp
ef9c1864ee8d90bd661ebfdc624dc76a;mod.ini

Now, for each line, add the name of the archive the file has been extracted from, using semicolon ";" separators :
Code: [Select]
a22db283154c07e5cfb5951c410e3600;FSU-MVP.bmp;MediaVPs_3612.zip
ef9c1864ee8d90bd661ebfdc624dc76a;mod.ini;MediaVPs_3612.zip

Make sure there is no new line at the end of this file.

Save it under the name : vp


Create a new text file.
It has only one line, with the full name of your mod as it will be read by human beings
Code: [Select]
Media VPs 3612
Save it under the name : title


Create a new text file.
This is where the script will get auto updates for the mod. If you leave it blank or write anything that's not a valid address, the script will only complain about failing to auto-update the mod. The file should only have one line.
Code: [Select]
https://www.dropbox.com/s/os2ihzqx8b1c4o9/mediavps_3612.fs2mod?dl=1
If you are using droppbox, you may need to skip this step, and add this to the archive later, after dropbox gives you the sharing link.
Obviously, many free hosting services won't let you update an already uploaded file, or will change the address each time you update this file. This makes these hosting services incompatible with mod auto-updates. Sorry.

Save it under the name : update


Now if your mod is depending on other mods (no need to create it if your mod has no dependencies):

Create a new text file.
On each line, write the file name of a mod it's depending on without its extension (fsport-mediavps.fs2mod -> fsport-mediavps). Then add the url of this mod file, separated by a semicolon :
Code: [Select]
fsport-mediavps;https://www.dropbox.com/s/yzcll3dicpwewcl/fsport-mediavps.fs2mod?dl=1
mediavps_3612;https://www.dropbox.com/s/os2ihzqx8b1c4o9/mediavps_3612.fs2mod?dl=1

Make sure there is no new line at the end of this file.


Save it under the name : dep


Create a .zip archive containing files : title update vp download (and maybe dep ), all in a folder called root
The first part of the name of the archive will be your mod folder name. The second part is the .fs2mod extension.
For example : mediavps_3612.fs2mod


This file should now be accepted by the script.





« Last Edit: November 20, 2014, 11:21:37 pm by Hellzed »

 

Offline headdie

  • i don't use punctuation lol
  • 212
  • Lawful Neutral with a Chaotic outook
    • Minecraft
    • Skype
    • Twitter
    • Headdie on Deviant Art
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
Hmm, interesting stuff.  Windows and fairly advanced user myself so probably wont use it (and cant test it atm) but what you are describing would certainly make for a useful filler until goober finishes his efforts.  so yes definitely a place for this in the community.
Minister of Interstellar Affairs Sol Union - Retired
quote General Battuta - "FRED is canon!"
Contact me at [email protected]
My Release Thread, Old Release Thread, Celestial Objects Thread, My rubbish attempts at art

 

Offline Hellzed

  • 28
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
How is goober's installer managing mods ? Does it come with a list of mods ? Some kind of repository ?

 

Offline Hellzed

  • 28
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
Up !
I changed a lot of things in the last few hours.
The script is still not able to manage binaries, but mods and GOG installer parts are in a usable state.

Anyone to try it ?

 

Offline headdie

  • i don't use punctuation lol
  • 212
  • Lawful Neutral with a Chaotic outook
    • Minecraft
    • Skype
    • Twitter
    • Headdie on Deviant Art
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
How is goober's installer managing mods ? Does it come with a list of mods ? Some kind of repository ?

a repository I believe is how goober is going
Minister of Interstellar Affairs Sol Union - Retired
quote General Battuta - "FRED is canon!"
Contact me at [email protected]
My Release Thread, Old Release Thread, Celestial Objects Thread, My rubbish attempts at art

 

Offline Hellzed

  • 28
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
For now, my script has 3 (-2 now !) big issues :

-it only handles files, not folders, inside mod archives. As long as there is no clear standard for zip and 7z mod files structure, i take all the files in the archive, drop the folder structure, identify what's usable by fs2_open, and put that in a mod folder with the right name.
That may be fixed if my script could identify specific folder names inside the zip, as /data/ /tables/ ... Not sure that the compatibility would be 100%...
Any thoughts ?
=>I could add a "path" field in the mod files.
FIXED (as of version 0.0.27) ! Added install path in mod descriptors, indeed.

- FIXED - updates : if files are added by an update, that's ok. If files are updated, that's ok too. If files are removed, it's getting tricky.
I could fix that by either performing a "clean" on the mod folder, but that would drop any user added stuff, like mjn's packs of ogg cutscenes for media VPs or fsport, OR comparing the list of old mod files with the new mod files, and drop what's not there anymore (more work for me, a few changes in the update logic). Some kind of "cleaner cleaning" that would spare user added stuff, but would not ensure that the mod is in a working state (what if user's old stuff breaks the new stuff in the mod ?)
Maybe default to soft clean process, and ask the users if they want to clean everything at the end of the install process...
What would be the best solution ?  => I went for saving the old files list, comparing with the new, and deleting what's in the old list but not in the new one. This way, user added tables and models are safe. The script output now recommends to do a complete cleanup if experiencing any trouble after update, though.
(i could get rid of some duplicated code too, or maybe not, depending on the probability to break something...)=> Didn't do that yet. But I think If I set an a better mod operations order like : ADD MOD > INSTALL > UNINSTALL > CLEAR CACHE > CLEAN (only auto files) > CLEAN (everything) > REMOVE MOD (including mod folder if empty) ; then if I make a better use of variables between steps ; and finally use generic wording (not dependent from previous step) at each step ; I could compltely remove duplicated code.

- My whole descriptor file structure IS NOT made to support optional files inside mod folders... For example : Blue Planet and BP Compat / Media VPs and MV Advanced. I cannot keep track of optional files, because that would mean I would would have store these options somewhere, and keep these options for the update or cleaning process... In terms of complexity, the only solutions I see are madness (change mod descriptors structure to show what's optional, and prompt the user during install process, store settings somewhere...)
Maybe i could find a workaround, by considering they are in fact "different mods" that go in the same folder. But that would lead us to both previous bullet point (how do i identify stuff that sould be here if the user decides to perform a "cleaning" ?) !
Not sur i'm willing to fix that. I mean, this was supposed to be a simple bash script...
=> I'm starting to see some kind of fix for that : when i'll add the "expert" mode, with the user will have the ability to skip download and install for some files. So people may skip the files they don't want. OR I could do "light" mod descriptor files, which would include only the bare minimum for running a mod. I'll have to find a way to make "light" and "complete" mod descriptors coexist (they would share the same mod folder but obviously the light mod install would break the "complete" mod install... FINALLY i'll go for the expert mode, i don't feel like supporting conditional dependencies.
Maybe it will even feel better for now users to have a choice between "Media VPs Complete" and "Media VPs light (old hardware)". Less confusing.



Among other things :
- Where shall I grab the builds (fs2_open and wxlauncher) ? Maybe I should make both 32 and 64 linux builds myself (including debug stuff), and host them ? How would I ensure best compatibility ? I know how to cross compile with LXC, so I may give it a try, but my goal was not to maintain a repository by myself.
Anyway : i may process the builds a bit like the mods (but this part is much more simple !), having a zip file with a list of available builds, and giving the user the possibility to install the ones he wants.

- deps issues : not sure of a good way to identify a mod that cannot be removed at some point because other mods are depending on it. I guess if a mod doesn't run, the user will do a "check and update". And the script will reinstall the missing mod ^^

- i'll add some destribution specific code (debian, ubuntu, fedora, arch, what else ?) to check if innoextract is installed. If it's not, use the distribution's package manager to get innoextract.

- maybe a CD data extraction module would be welcome. (I just found my old FS2 CDs in an old drawer)

Last thing : with BP_Compat, I ran into a small issue. BP_Compat archive has 2 files : one fore blueplanet, the other for blueplanet 2. Once my script has downloaded both mods, you have 2 copies of the same file, one in both mod's cache folders... That's ok because this is a really small file. But what if that happened with a bigger file ? That would not be ideal for disk space.
Actually, this issue would be solved if the cache folder was common to all mods... But that would break the cache checking/download logic when you have 2 versions of the same mod in the same FreeSpace 2 install, like Media VPs and Media VPs beta (IIRC some ZIP and VP file names are shared, that would make sense)...

That's all, folks ! If somebody in this community has a few answers and ideas i could use, I would be happy. This post will also be a useful personal reminder about the work left to do. Also, I'll need a better bash script editor, because I'm tired of scrolling in gedit. I'd like an editor that could match loops and conditional blocks, before starting to re-organise som parts of the code.
« Last Edit: January 05, 2014, 07:13:14 am by Hellzed »

 

Offline niffiwan

  • 211
  • Eluder Class
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
I gave this a go to download the mediavps_2014 - in short, very nice :) :yes:  Download the mod spec file, give its location to the installer and just wait.

I've got a bit of feedback:

1) could you add an option to specify the location to the GOG installer, it takes quite a while to run that find command :)

2) can you check for the presence of innoextract prior to searching for the GOG installer and exit that screen gracefully if it can't be found in the PATH (I don't have innoextract available in the Mint 13 repo's, and I couldn't be bothered building it since I've got a working install already)

And on the question of providing binaries, I think the best way to deal with this would be to have statically linked binaries that will run on the majority of current distros. In theory native distro packages is better, but it takes a whole lot of effort to provide these for every distro around.  The OpenSuse build service helps somewhat, but it falls slightly short due to the... odd... support it has for DEB packages, and other minor quirks (like not being able to find libopenal1 in most ubuntu multiverse repos).

Anyway - this is a great effort, I'd thoroughly recommend other Linux users trying it out :)
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 Hellzed

  • 28
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
1) I'm moving this step, right now (users will now have the choice to do a search or not) -> Better solution : search can now be interrupted, but keeps partial results
2) Reading "/etc/lsb-release" looks good enough to detect most distros. Now I have to find which distros have innoextract in their repos (the innoextract official install guide has some useful information, but some parts are missing IIRC).

I tried to compile fs2_open with "-static" argument passed to g++. It fails at openal1 detection. I really don't understand... Without this argument, everything is ok !

(oh, and thanks for testing !)

EDIT : updated to v. 0.0.24
« Last Edit: January 04, 2014, 03:58:49 am by Hellzed »

 

Offline niffiwan

  • 211
  • Eluder Class
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
yeah - we (i.e the SCP) need to do some work with autotools or cmake before we can properly build statically linked FSO execs.
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 Hellzed

  • 28
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
About openal, I think the issue may be on the Ubuntu packaging side, since it doesn't ship libopenal.a (or any *.a file...).

EDIT : I'm taking requests too (next mod to make a spec file for ?)
« Last Edit: January 04, 2014, 07:52:32 am by Hellzed »

 
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
Hi, i'm new around here so i expect i'm doing right , i found a difference between th md5sum of this file MV_Root.7z of MediaVP_2014  (96BF9C147C7E371ABDE42A10064D9714) and the sum you have inside the "mod file" for your script  mediavps_2014.fs2mod ( C6BF9C147C7E371ABDE42A10064D9714)  and is always marking it like corrupt download .  I'm using the script in Debian to install the mods and apart from that it looks like is working , if i find anything else i'll tell you. Nice work.

 

Offline Hellzed

  • 28
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
They must have silently updated MV_Root.7z. Wait 5 min from now, and retry the install process.

EDIT : they changed the readme... :D
It should work now !

EDIT 2 : there is also a bug in my download/checksum logic, because I had to wipe the cache for Media VP 2014, or even the right download will be identified as broken... I guess it has to do with how wget handles resuming downloads. I'm looking into this right now.

EDIT 3 : I think mjn's server has some trouble handling its current load, so resuming downloads fail once in a while.
I also discovered that the 7z command line utility does not update files by default. It just stops doing nothing (actually it asks a question, but the user of my script doesn't see directly 7z's output). This behaviour is now fixed.
New version 0.0.25 now online ! You may want to update the script.
« Last Edit: January 04, 2014, 11:59:46 am by Hellzed »

 

Offline niffiwan

  • 211
  • Eluder Class
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
EDIT : I'm taking requests too (next mod to make a spec file for ?)

JAD:XA! :D
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 Hellzed

  • 28
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
That will take a bit longer than I thought, because JADXA is not entirely stored in the form of VP files (it has a "data" subfolder). I'll have to make a few changes in the script to handle that, hopefully without breaking all the installers I made previously.

 

Offline Hellzed

  • 28
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
@niffiwan :

Here's JADXA : https://www.dropbox.com/s/f4pusp3hrcc05eu/JADXA.fs2mod

This new version of the script should work with any previous mod file. JADXA mod file is not to be used with fs2gogextract prior to version 0.0.27 (it could only forget to install files from "data" subfolder, or it could wreck your fs2 install... haven't tried myself.)

Oh, and I hate rar archives. I have to know a file's path inside the archive to extract it, so the extraction logic will break much more easily with terribly packaged mods.

EDIT : Uninstalling is now fixed.
Cleaning user added files is still not fixed.

EDIT 2 : Cleaning is now fixed. Bumped version to 0.0.27.

@ghostdancer :
I finally found out why my script is identifying downloaded files as corrupt even after redownloading them.
Under some circumstances, "wget --continue" resumes the download process in the wrong place, hence corrupting the file. the download then ends normally, without an error message, so my script continues and runs the md5 checksum.
I could disable the "--continue" flag. But FreeSpace 2 mods are usually big, and this bug doesn't happen really often...
I think I'd rather odifiy my script to try to resume a failed download. If the checksum is wrong, then drop the corrupt file and retry to download from scratch.

EDIT : this case is supposed to be fixed in 0.0.28 (try to resume download, if it's still corrupt, we retry to download from scratch)
« Last Edit: January 05, 2014, 08:38:28 am by Hellzed »

 
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
After the first fix began to work, it was a simple md5 difference , and yes i agree that the fs2 mod files are too big not to use continue, your idea of first try and resume and the if there's another error download from scratch is really good.  I always though that the best option for sharing those big files should be something like torrent where the files are verified in chunks and not all file so you just need to download the damaged part and not all the file.  I'll give it a try to the new version. Good work

P.D.: i also hate rar files,  ;)

 

Offline Hellzed

  • 28
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
I would have preferred to use rsync as a backend, but it only takes advantage of a specific sync server. As most modders at HLP host their mods as HTTP downloads, it would be useless, and I never intended to create my own repository.

I just made a few tweaks in version 0.0.29 (mostly cleaning empty subdirectories). That's great to finally have testers ! I can see a lot of issues I would never have found out without some help ! :)

EDIT : JADXA has been updated, the mod file too ! It should auto update next time you run "check & update" on JADXA.

EDIT 2 : Still taking requests ! ^^
« Last Edit: January 05, 2014, 12:02:40 pm by Hellzed »

 
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
Maybe you could have a repository for the fs2mod files, that when the user runs the program it updates the fs2mod files and looks what's new and if there's been an update in any of the installed ones .

 

Offline LordMelvin

  • emacs ftw
  • 28
  • VI OR DEATH! DOWN WITH EMACS!
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
This will shortly be relevant to my interests, and I am posting here to say, "Good on you, keep it up, I'll try it soon."

Good on you, keep it up, I'll try it soon.
Error: ls.rnd.sig.txt not found

 

Offline Hellzed

  • 28
Re: [Linux (& Mac ?)] FS2 GOG/Mod installer, first alpha !
@ghostdancer :
I may not add an "update everything" option to the installer, but I think I will soon add something to show if an update is available ("Update available" next to the mod in the list, and maybe "x updates available" next to the mod management option in the main menu)

I'm thinking about taking all the technical bits of this installer, make them into functions, and create a command line utility with an "apt-get" like syntax.
Something like :
Code: [Select]
$ fs2tool --add path/to/your_mod.fs2mod
$ fs2tool --install your_mod
$ fs2tool --update your_mod
...
Then, with a bit more code, I could make something like APT links. You click on a mod link with your usual browser, it downloads the mod descriptor, starts the script and installs the mod for you. Next step is a nicely presented mod database (nothing technical on pages, just nice screenshots, an introduction to the backstory, mod size... I was thinking about something like this : http://themefuse.com/demo/wp/photoartist/ )

I wonder if an HTML5/bash or python launcher for FS2 would even be possible. Hooks in bash or in python, and an Install/Update/Remove button on each mod page (think Firefox extensions, Gnome extensions...)...

Interesting reading here : http://ubuntuforums.org/archive/index.php/t-433548.html
It's easy to create a small protocol linked to bash scripts.
I will work on a "proof of concept" to adapt this to freespace 2 ASAP !

@LordMelvin :
Now that the mod management part seems to be working fine, I'm looking into fs2 binaries installation.
« Last Edit: January 05, 2014, 04:46:48 pm by Hellzed »