Author Topic: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)  (Read 44105 times)

0 Members and 1 Guest are viewing this topic.

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
Sorry for the long delay; I was busy writing exams...

@niffiwan: I just pushed a new commit which should fix the bug on Ubuntu.
@mjn: You're right, that's impossible with CSS only but it should be easy to do in JS.
@pim: Thanks for the report! I think I already know the cause for this: Knossos overrides the LD_LIBRARY_PATH. Should be a simple fix...


 

Offline niffiwan

  • 211
  • Eluder Class
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
Sorry for the long delay; I was busy writing exams...

@niffiwan: I just pushed a new commit which should fix the bug on Ubuntu.

No worries, from current experience I know how real life can get in the way!

And I saw new commits in the repo & tested them even before seeing your post; it's working as expected now, thanks!!!!
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...

 
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
Avast says Knossos.exe is a virus. Is this a false flag?

 

Offline The E

  • He's Ebeneezer Goode
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
Yes.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Minecraft
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
It is probably heuristics detecting an unsigned app that will request elevated permissions to make changes to your hard drive (installing files to Program Files, etc).  It should give you an idea on _why_ it raised the virus if you click around the warning to get the details, can't give you the exact steps as I don't use Avast.
Fate of the Galaxy - Now Hiring!  Apply within | Diaspora | SCP Home | Collada Importer for PCS2
Karajorma's 'How to report bugs' | Mantis
#freespace | #scp-swc | #diaspora | #SCP | #hard-light on EsperNet

"You may not sell or otherwise commercially exploit the source or things you created based on the source." -- Excerpt from FSO license, for reference

Nuclear1:  Jesus Christ zack you're a little too hamyurger for HLP right now...
iamzack:  i dont have hamynerge i just want ptatoc hips D:
redsniper:  Platonic hips?!
iamzack:  lays

 

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
So... I've finally implemented most of the mockups and the new directory scheme.  :)

The current state is still a bit rough. The settings page and the development tab are missing and you can't actually launch FSO because the code for the -mod flag is still missing. The new images are also missing because fsnebula.org doesn't allow the upload of any images beside the logo. I'll get to that once Knossos itself is closer to the next beta.
That said, you can install, uninstall and check your mods. Dependency handling still works.


^ Here you can see Knossos install BtA.

If there's interest, I'll provide a preview build despite its rough state.

@Mjn: You've designed most of the new UI. Could you please create a mockup for the settings screen?
Here's the current list of options:
  • Data path: This is the directory the user selects on first run and where Knossos stores all the downloaded mods.
  • Concurrent downloads: This limits how many files Knossos downloads at the same time (default: 3)
  • Anonymous error reports: Knossos automatically sends error reports if this is enabled (enabled by default at least during development)
  • FSO settings: Pretty much what wxLauncher does (resolution, joystick, flags, ...). I think most of these fields are already covered by the development tab but we need a place to set the global default.
  • Path to SDL2 and OpenAL: Allows the user to specify the OpenAL and SDL2 libraries (DLLs on Windows) (these are normally autodetected and should only be changed when troubleshooting)
  • Language
  • Repositories (maybe): Here users could add additional mod repositories besides fsnebula.org.

I need some suggestions for the installation status. Currently, the user can only see a small progress bar on the mod box. I'd like to add more details to that (i.e. whether it's currently downloading or extracting archives). In a previous post someone asked for an ETA. I can't do that because I can't figure out a way to calculate a (reasonable) ETA for parallel (and serial) downloads.

Finally, I've completely replaced the previous build system which should allow me to make new releases much faster (it took up to 2 hours in the past because I had to manually launch VMs, copy files and test on each platform).
The new system should be able to automatically build packages for Windows, Ubuntu (through the PPA), ArchLinux (AUR).
I won't provide new macOS builds because I can't run it on Vagrant (which the system is based on). However, building these should be straightforward if you have access to a Mac and Homebrew. I'll provide a guide if neccessary.

@chief1983: I got Knossos to build on FreeBSD with the new system. If you can tell me how to package it, I'll add it to the list.

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Minecraft
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
How are we packaging for Linux?
Fate of the Galaxy - Now Hiring!  Apply within | Diaspora | SCP Home | Collada Importer for PCS2
Karajorma's 'How to report bugs' | Mantis
#freespace | #scp-swc | #diaspora | #SCP | #hard-light on EsperNet

"You may not sell or otherwise commercially exploit the source or things you created based on the source." -- Excerpt from FSO license, for reference

Nuclear1:  Jesus Christ zack you're a little too hamyurger for HLP right now...
iamzack:  i dont have hamynerge i just want ptatoc hips D:
redsniper:  Platonic hips?!
iamzack:  lays

  

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
On Arch Linux Knossos is installed as a normal python module (in /usr/lib/python3.4/site-packages/knossos), a shell script with 'exec python -mknossos "$@"' is placed in /usr/bin/knossos and /usr/share/applications/knossos.desktop is created which associates it with fso:// links and adds it to the program menu.

Here are the files: https://aur.archlinux.org/cgit/aur.git/tree/?h=fs2-knossos

The Ubuntu package places the program files in /usr/share/knossos instead due to their packaging guidelines. Otherwise it's the same.

Arch has the AUR for user submitted packages and Ubuntu has PPAs. Is there an equivalent for FreeBSD? Maybe Ports?
« Last Edit: May 26, 2017, 06:28:29 pm by ngld »

 

Offline mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
Quote
@Mjn: You've designed most of the new UI. Could you please create a mockup for the settings screen?
Here's the current list of options:
Data path: This is the directory the user selects on first run and where Knossos stores all the downloaded mods.
Concurrent downloads: This limits how many files Knossos downloads at the same time (default: 3)
Anonymous error reports: Knossos automatically sends error reports if this is enabled (enabled by default at least during development)
FSO settings: Pretty much what wxLauncher does (resolution, joystick, flags, ...). I think most of these fields are already covered by the development tab but we need a place to set the global default.
Path to SDL2 and OpenAL: Allows the user to specify the OpenAL and SDL2 libraries (DLLs on Windows) (these are normally autodetected and should only be changed when troubleshooting)
Language
Repositories (maybe): Here users could add additional mod repositories besides fsnebula.org.

Sure.

This is in addition to the Explore page, Development page, and Mod Details page? Those are designed but not implemented. (Looks like VUE.js basically still uses CSS/HTML? Point me the right direction and I can continue to contribute as soon as I setup a dev environment for Knossos.)

This is what comes up when the user clicks the gear in the top right of Knossos (currently missing from your build)?

Quote
I need some suggestions for the installation status. Currently, the user can only see a small progress bar on the mod box. I'd like to add more details to that (i.e. whether it's currently downloading or extracting archives).

Could you add more info on mouseover? Alternatively, the design for the mod details page has a button/area for Updating.. clicking that could lead to more info in a pop (mod specific) or a general install status for all current mods.. this option would be a global entry in the UI as well on the home page, too, though. Hmm. Lemme think while I make the settings mockup.
« Last Edit: May 26, 2017, 10:07:12 pm by mjn.mixael »
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 mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
OK, first up.. the settings mock-up.

Settings pages, by their very nature, are terrible from a UI perspective. So many options, so many words. So the solution is to group options together and only display a few at a time. There are many ways to do this, but I went with more of a one-page design because we don't really have all that many options and most of these should be filled in by Knossos automatically.  Click anywhere on the title, HR, or arrow to rollout/rollup groups.




I'm wary on Flag Defaults because in order for user simplicity, these should come from the mod on a per-mod basis (especially since mods will be able to list an FSO build as a dependency). But having Flag defaults for mods that don't list flags is good. This could also be changed to more of a "Flags Addendum" for the user to specify flags they ALWAYS want appended to the commandline for every mod. But then Knossos needs to be able to check those flags against the launched mod's FSO Build and take appropriate actions.

Additionally, the Details page has a Settings button.. that was intended to display popup window where a user can change mod-specific settings and flags for that mod. I never mocked up that smaller window, but I would use a similar layout to this one, but showing only Flags and maybe Exec. Unsure if end-users really need that. I'm currently of the opinion that Video/Audio/Joystick are global enough that they don't need to be mod specific settings really ever (outside of the Development tab).



Now for the installation details.

So, everywhere in the UI I designed, there is an Action button and a Sub-Action button. This includes the Home tab, Explore tab, Development tab, and Details page. There are a few exceptions which I'll get to in a moment.

The Action button can be Play, Install, Error, or Updating depending on context. Install, for example, is only ever visible on the Explore tab and it's in the place of the Play button that's on the Home/Development/Details tabs. If a mod has an error it switches from Play to Error (and Development tab needs to, in this case, remove the FRED button as well). Clicking on Error gives you a small pop up describing the error.



If a mod is updating the Play button switches to Updating...

Continuing on the contextual design of the UI then I'm thinking that you can click the Updating button (no matter what tab you're in) and it displays a pop up similar to the error one. Except here it shows the progress of each download pack in a simple list.

Quote
PACK 1 ----------------50% Downloaded
PACK 2 -----------------------------------75% Downloaded
PACK 3 ---------------------------------------Installing
PACK 4 ---------------------------------------Installing
PACK 5 ------------------------------------------Complete

We could also display this same list in a separate view (like Steam) with the install progress of each mod sublisting each download pack. This view would be accessible by a contextually visible button top right next to the Filter button "Installation Status" or something. If nothing's currently installing, this button is not visible.

Quote
MOD 1 LOGO/MOD1 NAME
  • PACK 1 ----------------50% Downloaded
  • PACK 2 -----------------------------------75% Downloaded
  • PACK 3 ---------------------------------------Installing
  • PACK 4 ---------------------------------------Installing
  • PACK 5 ------------------------------------------Complete
MOD 2 LOGO/MOD 2 NAME
  • PACK 1 ----------------50% Downloaded
  • PACK 2 -----------------------------------75% Downloaded
  • PACK 3 ---------------------------------------Installing
  • PACK 4 ---------------------------------------Installing
  • PACK 5 ------------------------------------------Complete
MOD 3 LOGO/MOD 3 NAME
  • PACK 1 ----------------50% Downloaded
  • PACK 2 -----------------------------------75% Downloaded
  • PACK 3 ---------------------------------------Installing
  • PACK 4 ---------------------------------------Installing
  • PACK 5 ------------------------------------------Complete

The Sub Action button is usually Details, but on Details page it changes to Settings for that particular mod. The one exception to the Action/Sub-Action rule is if a mod has an update available.
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 ngld

  • Administrator
  • 29
  • Knossos dev
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
This is in addition to the Explore page, Development page, and Mod Details page? Those are designed but not implemented. (Looks like VUE.js basically still uses CSS/HTML? Point me the right direction and I can continue to contribute as soon as I setup a dev environment for Knossos.)

Vue.js is basically a template engine for HTML/JS. Here's an introduction.
The Explore page and the Details pages are implemented however the Details page isn't finished, yet.

This is what comes up when the user clicks the gear in the top right of Knossos (currently missing from your build)?
Yes.

The mockups look great! I agree that the default flags should only apply if the mod author didn't provide their own flags.
I could also allow the user to force specific flags (which would then apply for every mod) however that sound like it could cause too much trouble.

I'll skip mod-specific settings for now (at least until I've finished the Development tab). Maybe advanced users could use the Development tab instead to tweak mod-specific settings... Though that might complicate updates.

For simplicity's sake, Knossos will only install one mod (and its dependencies) at a time. Due to this a new tab wouldn't make much sense, instead the download progress should be displayed on the mod's detail page.


 

Offline mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
What do you think of displaying the progress in the pop up when a user clicks "Updating" regardless of where in the UI?

EDIT: Updating would say "Installing" for first time installs, but clicking it would do the same thing.
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 ngld

  • Administrator
  • 29
  • Knossos dev
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
Sounds good to me. It's better than displaying it on the details page directly.

 

Offline mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
I'm thinking something like this.


It also occurred to me that if Knossos only does one install at a time, it should at least be able to queue up sequential installs. (I'm sure it does this already, or is at least planned). So graphically, the user needs to be shown that. I think it's as simple as..

On the Home/Details/Development pages, "Updating..." or "Installing..." simple says "Queued..."

On the Explore page, when an install begins, just switch "Install" to "Installing..." or "Queued" as appropriate.
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 mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
I got it up and running. A few thoughts...

Excellent thinking with "Uninstall".. I completely forgot about that. However, I'm wondering what you (and others) think about putting Uninstall in the dropdown menu under "Upload Debug Log"? The idea here is to keep "Play" being the most central option. Uninstall shouldn't happen so often as to need front-and-center placement.


Additionally, we need to add that dropdown menu to the Details page, probably bottom right of the image or something.


On the details page, Return and Details in the header should be centered, I think. It helps differentiate visually (subconsciously) that we're in a sub-view/menu. This is probably something I can fix and learn Vue.js at the same time. (I'm also learning git so I can actually contribute in a meaningful way. The idea is to lighten your workload!)

Last thing for now, I think the default window size looks better being wide enough for 6 mods listed horizontally.



EDIT: Some UI bugs.

The debug dropdown needs to close on mouse out or mouse click off.
The debug dropdown for mods on the very right of the window needs to dropdown left instead of right to avoid a horizontal scroll bar.
« Last Edit: May 28, 2017, 02:47:30 pm by mjn.mixael »
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 ngld

  • Administrator
  • 29
  • Knossos dev
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
Excellent thinking with "Uninstall".. I completely forgot about that. However, I'm wondering what you (and others) think about putting Uninstall in the dropdown menu under "Upload Debug Log"? The idea here is to keep "Play" being the most central option. Uninstall shouldn't happen so often as to need front-and-center placement.
Makes sense, I didn't think of that menu when I added the button.

Additionally, we need to add that dropdown menu to the Details page, probably bottom right of the image or something.
Placing just the dropdown icon there seems a bit awkward. Maybe we can add a button labeled "Advanced" or "Options" there? The button would still have the dropdown icon.

(I'm also learning git so I can actually contribute in a meaningful way. The idea is to lighten your workload!)
Thanks a lot! Your mockups have already contributed so much. Without them Knossos might still look like this:  :)


On the details page, Return and Details in the header should be centered, I think. It helps differentiate visually (subconsciously) that we're in a sub-view/menu. This is probably something I can fix and learn Vue.js at the same time.
This probably won't involve Vue.js since it doesn't change anything related to the control flow / logic. I guess you will only need the change the CSS. I'm not sure if you're familiar with the Chrome DevTools but you can use them with Knossos: If Knossos is running in Debug mode (the default if you use windows_run.bat), you can open Chrome and point it to http://localhost:4006/ which should then display the DevTools. I've found this to be very helpful.

Last thing for now, I think the default window size looks better being wide enough for 6 mods listed horizontally.
You're right, I think the current window size is more or less a left over from the previous UI.

The debug dropdown needs to close on mouse out or mouse click off.
The debug dropdown for mods on the very right of the window needs to dropdown left instead of right to avoid a horizontal scroll bar.
Those bugs are limitations of the current implementation (I was trying to implement them using only CSS). I'll redo them using JS which should fix these issues.

I've implemented the new progress display. It works fine but there are a few issues left: The percentage text on the blue button is misplaced for some reason. I haven't yet figured how to fix it.
The list doesn't list packages but files instead because a package can have several files (i.e. CB Anis from MediaVPs 2014) and it was easier to display the progress status per file. The alternating background colors will be added during the next round of polishing.

« Last Edit: May 28, 2017, 06:23:29 pm by ngld »

 

Offline Spoon

  • 212
  • ヾ(´︶`♡)ノ
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
I'm glad you guys are still being productive on this  :yes:
Urutorahappī!!

[02:42] <@Axem> spoon somethings wrong
[02:42] <@Axem> critically wrong
[02:42] <@Axem> im happy with these missions now
[02:44] <@Axem> well
[02:44] <@Axem> with 2 of them

 

Offline AndrewofDoom

  • In A.D. 2366 war was beginning
  • 29
  • Permanent yuri goggles.
    • Skype
    • Steam
    • Twitter
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
Yeah, me too! I thought this project had died and I was worried.
My Efforts:
SF Knight

20:08:19   AndrewofDoom: Though I find it mildly disturbing that a loli is giggling to mass destruction.
20:10:01   Spoon: I find it mildly arrousing
20:10:07   AndrewofDoom: Woah
20:10:15   Spoon: sound like my kind of loli
20:10:21   Spoon: and im not even a lolicon

 

Offline mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
Quote
Placing just the dropdown icon there seems a bit awkward. Maybe we can add a button labeled "Advanced" or "Options" there? The button would still have the dropdown icon.
Works for me. Or we have those buttons on the left 'Play', 'Settings', and then add 'Options' there as a grey button like Settings?


Quote
This probably won't involve Vue.js since it doesn't change anything related to the control flow / logic. I guess you will only need the change the CSS. I'm not sure if you're familiar with the Chrome DevTools but you can use them with Knossos: If Knossos is running in Debug mode (the default if you use windows_run.bat), you can open Chrome and point it to http://localhost:4006/ which should then display the DevTools. I've found this to be very helpful.
Oh, awesome! On the same subject, I was trying to modify some CSS (in html/css and html/index.html) and poke around with things for testing, but the changes never were reflected when I ran Knossos with windows_run.bat. What's the process for making those changes affect Knossos?

Quote
You're right, I think the current window size is more or less a left over from the previous UI.
I figured. Your latest commit increases it, but it needs to be just a hair bigger at 1129px on my machine. This is probably because of the scrollbar. I would do 1133px for various OCD design reasons.. but that's just me. :p

Quote
Those bugs are limitations of the current implementation (I was trying to implement them using only CSS). I'll redo them using JS which should fix these issues.
:yes: Would it be more helpful to submit these sorts of things as issues on GitHub instead of the thread?

Quote
I've implemented the new progress display. It works fine but there are a few issues left: The percentage text on the blue button is misplaced for some reason. I haven't yet figured how to fix it.
The list doesn't list packages but files instead because a package can have several files (i.e. CB Anis from MediaVPs 2014) and it was easier to display the progress status per file. The alternating background colors will be added during the next round of polishing.
Tried taking a look, but couldn't see an "Updating" or "Installing" button when I tried. But listing files instead of packages is fine, really. Just so long as the user gets a sense of "something is happening". I did notice that the "Install a mod" dialog needs to be skinned. I'll work up something.

I'm glad to help with such a worthy project.
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 ngld

  • Administrator
  • 29
  • Knossos dev
Re: PUBLIC BETA: Knossos 0.4.4 (launcher / mod installer)
Works for me. Or we have those buttons on the left 'Play', 'Settings', and then add 'Options' there as a grey button like Settings?
That sounds even better.

On the same subject, I was trying to modify some CSS (in html/css and html/index.html) and poke around with things for testing, but the changes never were reflected when I ran Knossos with windows_run.bat. What's the process for making those changes affect Knossos?
As it turns out there were a few bugs with the debug mode on Windows. I've fixed them, once you update your files it should work. If you only change the files in the html folder, you don't have to restart Knossos, you can just right-click on the web page and select "Reload".

I figured. Your latest commit increases it, but it needs to be just a hair bigger at 1129px on my machine. This is probably because of the scrollbar. I would do 1133px for various OCD design reasons.. but that's just me. :p

:yes: Would it be more helpful to submit these sorts of things as issues on GitHub instead of the thread?
I'm not sure. Issues give a better overview but a post in this thread will be read by more people.

Tried taking a look, but couldn't see an "Updating" or "Installing" button when I tried. But listing files instead of packages is fine, really.
After you click "OK" in the install dialog, Knossos should switch to the Home tab. If you then hover over the mod, it should display the "Installing..." button. Here's a screenshot:



Yeah, me too! I thought this project had died and I was worried.
Eh, this project has been going for over 3 years at this point (first commit was January 2014). I had to take a few breaks but I think we are finally getting close to a stable release and I'll keep working on this as long as I can.