Author Topic: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)  (Read 214924 times)

0 Members and 2 Guests are viewing this topic.

Offline m!m

  • 211
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
EDIT: I roughly remember m!m implementing some kind of VFS in FSO which could be used to avoid duplicate files for cases like this. Not sure, I'll have to look it up again.
Do you mean the support for explicitly telling FSO what roots/VPs to use in what order? It's still in a PR but I never got around to fixing up the cross-platform issues unfortunately...

 

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
It might prevent some future troubleshooting headaches if, wherever there are settings to customize or change things like this, there is also a "reset to default" option (but you might have already set it up so that this capability is either inherent or included).
This is a good idea.

What about being able to set a mod as mod type "Modder's Resource" to indicate the mod isn't intended to be launched directly but instead be used only as a dependency of other mods. This way such mods don't need the full set of dependencies applied as that would be handled by the mod they are a dependency of... which in turn reduces the risk of dependency conflicts and other dependency related issues likely to crop up over time for mods that hardly ever change.
That idea had been brought up before but has been veto-ed because Knossos can't filter mods (tags and filtering by tags have been on my TODO list forever). I'll think about adding that type once the rewrite is done but I'll have to think about how it affects dependencies before I can make a definitive decision on this matter.


And what about being able to set a mod's mod type to "Mod Pack" to indicate that the mod adds nothing in and of itself but instead is simply combining other mods via dependencies.
An empty mod isn't functionally different from a mod with content. :-P I'd rather solve this about more general tags than an additional mod type. Mod types change how Knossos handles them (i.e. TC doesn't require FS2, engine can only contain executables) but that's not the case in your example.
The only special part is that you don't actually need packages. However, adding a single (empty) package isn't too much of an issue IMO.

Also, since your talking about having packages handled as separate `-mod`s anyway... what about package-level dependencies? That way even if i have every FSU MediaVPs package installed when I play a mod that doesn't require the Animglows package the animglows package isn't added to the list of `-mod`s (unless I, as a user, have manually specified otherwise).
This is simple enough and already something Knossos can do... but only if the relevant mods are installed in dev mode (yet another reason to get rid of user mode).

Sorry in advance for shotgunning you with ideas. lol :-P
I think I'll start a workboard on GitHub too keep track of the different suggestions. As long as I don't lose track of the different ideas, everything's fine. I can't guarantee that everything will make it into the final version, though.  :lol:


Do you mean the support for explicitly telling FSO what roots/VPs to use in what order? It's still in a PR but I never got around to fixing up the cross-platform issues unfortunately...
Oh, yeah. That's exactly what I was thinking of. Well, I guess I'll have to live without that.

 
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
What about being able to set a mod as mod type "Modder's Resource" to indicate the mod isn't intended to be launched directly but instead be used only as a dependency of other mods. This way such mods don't need the full set of dependencies applied as that would be handled by the mod they are a dependency of... which in turn reduces the risk of dependency conflicts and other dependency related issues likely to crop up over time for mods that hardly ever change.
That idea had been brought up before but has been veto-ed because Knossos can't filter mods (tags and filtering by tags have been on my TODO list forever). I'll think about adding that type once the rewrite is done but I'll have to think about how it affects dependencies before I can make a definitive decision on this matter.


And what about being able to set a mod's mod type to "Mod Pack" to indicate that the mod adds nothing in and of itself but instead is simply combining other mods via dependencies.
An empty mod isn't functionally different from a mod with content. :-P I'd rather solve this about more general tags than an additional mod type. Mod types change how Knossos handles them (i.e. TC doesn't require FS2, engine can only contain executables) but that's not the case in your example.
The only special part is that you don't actually need packages. However, adding a single (empty) package isn't too much of an issue IMO.

Makes sense. I completely agree about the empty package not being an issue and, as i said, when needed it could be use to patch compatibility between conflicting mods in a mod pack. My concern was more for the idea of everyone with an idea for a mod pack cluttering up the Explore tab with a half dozen mod packs per person. But tag filtering neatly solves that.

Also, since your talking about having packages handled as separate `-mod`s anyway... what about package-level dependencies? That way even if i have every FSU MediaVPs package installed when I play a mod that doesn't require the Animglows package the animglows package isn't added to the list of `-mod`s (unless I, as a user, have manually specified otherwise).
This is simple enough and already something Knossos can do... but only if the relevant mods are installed in dev mode (yet another reason to get rid of user mode).

Sweet. :-)

Sorry in advance for shotgunning you with ideas. lol :-P
I think I'll start a workboard on GitHub too keep track of the different suggestions. As long as I don't lose track of the different ideas, everything's fine. I can't guarantee that everything will make it into the final version, though.  :lol:

Lol, fair enough.

 

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
Here's the GitHub Project: https://github.com/ngld/knossos-planning/projects/1
Feel free to remind me if I forgot to add anything.

 

Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Minecraft
    • Steam
    • Something
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
There's been a lot of discussion on Discord on how to handle versioning and dependencies, most of which is above my pay grade. From the end-user side of things, my biggest concern is trying to avoid having two or three versions of the same multi-GB content pack installed at the same time for the sake of maintaining compatibility. (FS2 is one of the few games I have installed on my SSD, and while I'm not exactly hurting for room I like to keep it as clean as possible.) Right now I have three separate versions of the MediaVPs, and two each of the FSPort and its MediaVPs, and Knossos won't allow me to delete any of the older versions because certain other mods I have installed have them listed as a specific dependency. I know the overall modding environment is much more complex now than it was in the bad old days, when you could plop a new MediaVPs release into your FS2 folder and other mods would (mostly) handle it without issue, but I also feel like that some of these smaller classic mods (the likes of Derelict and Warzone) still stuck on the old versions could probably be bumped up to the new ones without issue.

I'm not sure what the best solution is here. Having some way to manually override the version dependencies (with a hefty warning attached to it) would be good, though I think jr2's idea of a reset function would be a necessity for it, since we're just asking for support headaches otherwise. If there's any way you have of being able to automatically detect potential conflicts with an updated dependency, that'd be fantastic, but I can't imagine that's an easy problem to solve. Maybe the best solution is a human one, i.e. making sure there are enough people who have permissions on these mods to test them out when a new MediavPs version drops and verify them for it in a timely manner. That's especially important for the more classic community mods that may have had just one person upload them to Knossos in the first place.
« Last Edit: February 07, 2021, 03:13:55 am by Mongoose »

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Minecraft
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
Maybe this is an instance where the community could help.  Maybe a system where Knossos asks if you would like to test a mod on a newer version of a dependency, and we crowd source getting the mod to accept a newer version?  Maybe this is only done when the new version has been out a week or two to give maintainers the chance to vet it themselves, and possibly blacklist it to avoid users being asked to test a known broken version.
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.14.3 (combined launcher/installer)
I'm not sure what the best solution is here. Having some way to manually override the version dependencies (with a hefty warning attached to it) would be good, though I think jr2's idea of a reset function would be a necessity for it, since we're just asking for support headaches otherwise.
That's the plan right now.

If there's any way you have of being able to automatically detect potential conflicts with an updated dependency, that'd be fantastic, but I can't imagine that's an easy problem to solve. Maybe the best solution is a human one, i.e. making sure there are enough people who have permissions on these mods to test them out when a new MediavPs version drops and verify them for it in a timely manner. That's especially important for the more classic community mods that may have had just one person upload them to Knossos in the first place.
I'm planning on adding a moderator role for Nebula which would allow a user to edit dependencies, block (hide) mods, edit mod teams and maybe more. The idea is that I shouldn't be the only person to fix issues on Nebula. I still have no idea who to give that role to but I guess I'll cross that bridge when I get to it.
Regarding the automated conflict detection: I'm planning on eventually (in the far future) building something like a CI for mods. It'd automatically launch FSO and load mods to check if anything is obviously broken whenever a new FSO release comes out or a dependency gets updated. It's going to take quite some time (since I'm still busy with NuKnossos) and I have no idea how effective it'd be but it looks like a fun experiment.

Maybe this is an instance where the community could help.  Maybe a system where Knossos asks if you would like to test a mod on a newer version of a dependency, and we crowd source getting the mod to accept a newer version?  Maybe this is only done when the new version has been out a week or two to give maintainers the chance to vet it themselves, and possibly blacklist it to avoid users being asked to test a known broken version.
If we have something like the mod CI I described before, we could probably do this if a mod doesn't have any obvious issues. However, I'd limit this testing to a group of testers because I don't want to confuse people that just want to play FS2 and have no idea how modding works and I want to avoid issues caused by several people missing less-obvious problems.

  

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Minecraft
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
True, having it be some sort of opt-in system makes sense.
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 jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
Sorry in advance for shotgunning you with ideas. lol :-P
I think I'll start a workboard on GitHub too keep track of the different suggestions. As long as I don't lose track of the different ideas, everything's fine. I can't guarantee that everything will make it into the final version, though.  :lol:

New bug report type label "feature suggestion"?

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
Idea for the custom MOD order cross-compatibility thing: have FSO internally (when the -customorder argument is flipped on by Knosses) do the equivalent of an NTFS hard link (mklink /d) to ..\custom_loadorder\1\, ..\2\, ..\3\, etc... and run the mod load order from that internal remapped directory structure.  You'd need some sort of internal plugin to handle that and pass it off to the normal mod loader or whatever.

To expand:

yourownmod loads like this:

\FSO\MediaVPs\
\FSO\moddir\
\FSO\3rdparty_moddir_addon\
\FSO\yourownmod\

Turn -customorder on

FSO does the internal equivalent of mklink /d <source> <dest> and does this:

-mod yourownmod_custom

\FSO\MediaVPs\ is mapped to \FSO\yourownmod_custom\2
\FSO\moddir\ is mapped to \FSO\yourownmod_custom\4
\FSO\3rdparty_moddir_addon\ is mapped to \FSO\yourownmod_custom\3
\FSO\yourownmod\ is mapped to \FSO\yourownmod_custom\1

Thus changing the load order internally.

I'm not a coder so feel free to disregard if this is just so much jibberish.

EDIT: to be more clear; instead of changing how FSO loads mod order, leave it as-is (preserving cross-compatibility), and add a module to change how FSO perceives the filesystem instead, yielding the same result.
« Last Edit: February 09, 2021, 08:03:07 pm by jr2 »

 

Offline m!m

  • 211
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
That is essentially what my changes to the command line parsing do. They allow a launcher to specify exactly what VPs or directories should be used in what order. In that case, FSO does not discovery of directories or VP files and just takes what it gets from the launcher.

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
That is essentially what my changes to the command line parsing do. They allow a launcher to specify exactly what VPs or directories should be used in what order. In that case, FSO does not discovery of directories or VP files and just takes what it gets from the launcher.

I wonder what the cross-platform issue is.  Case sensitivity?

 

Offline m!m

  • 211
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
I wonder what the cross-platform issue is.  Case sensitivity?
:confused: What do you mean? I am not aware of any platform issues apart from how Windows is stupid and does weird things with the standard output or a GUI process.

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
I wonder what the cross-platform issue is.  Case sensitivity?
:confused: What do you mean? I am not aware of any platform issues apart from how Windows is stupid and does weird things with the standard output or a GUI process.

EDIT: I roughly remember m!m implementing some kind of VFS in FSO which could be used to avoid duplicate files for cases like this. Not sure, I'll have to look it up again.
Do you mean the support for explicitly telling FSO what roots/VPs to use in what order? It's still in a PR but I never got around to fixing up the cross-platform issues unfortunately...

 

Offline m!m

  • 211
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
Oh, I was just referring to some compilation issues on Windows ;)

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
Oh, I was just referring to some compilation issues on Windows ;)

Ohhhh, I see.  So it should be fine as soon as someone nails those right?

 

Offline Bryan See

  • Has anyone really been far as decided to use even go want to do look more like?
  • 210
  • Trying to redeem.
    • Skype
    • Steam
    • Twitter
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
The problem of FS2 missing has not been fixed.  I have a copy on my laptop from GOG and it still gives the same message. Your mod is the only one with this problem
Could be the package's dependencies the problem? I want to seek clarification.

 

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
Some updates regarding NuKnossos: The basic foundation is in place and the CI builds are working which means that we automatically get new Windows/Linux/macOS builds for each commit.

I'm now at a point where I have to start working on the new UI. There are a few limitations in the old UI that I want to get rid of (mostly that I can't resize elements since a lot is based on bitmaps) and IMO the design isn't as modern as it could be. To make future UI work easier, I've made a quick mockup. I'm not quite happy with the result but it's a starting point.

Here's the basic view:


Some ongoing tasks:


The most significant change so far is that I've added an indicator for background tasks to the title bar. It will tell you whether background tasks are running and will either display the count or the name of the task if only one is running. Clicking this indicator will bring the task window back up which should make it easier to find if someone closes the task window by accident.
The task info itself should be a lot simpler; just a single progress bar for each task and a log with further details. The log will scroll as new messages are added so that you always see the latest messages. However, you can scroll and look through past messages as well. I'm hoping this is easier to understand than the long list of progress bars we have now. It'll also simplify implementation a bit.

At this point, I'm open to any changes since it's still in a very early stage.

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
You know that 'save' button you have to hit to save your settings changes and if you don't they don't get applied. Please make that button visible on the settings screen without scrolling down. ****ed me up good

 

Offline Bryan See

  • Has anyone really been far as decided to use even go want to do look more like?
  • 210
  • Trying to redeem.
    • Skype
    • Steam
    • Twitter
Re: PUBLIC BETA: Knossos 0.14.3 (combined launcher/installer)
You know that 'save' button you have to hit to save your settings changes and if you don't they don't get applied. Please make that button visible on the settings screen without scrolling down. ****ed me up good
I second it, General Battuta.