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

0 Members and 1 Guest are viewing this topic.

Re: PUBLIC BETA: Knossos 0.4.1 (launcher / mod installer)
Okay, I have issues with 0.4.1. This was a fresh install, with a fresh install of FS2 accompanying it. The program has been installed into C:\Knossos\

I can't access settings, and the opening screen where I am supposed to set the launcher to the Freespace 2 install directory or similar flatly does not appear. Debug log gives this:
Code: [Select]
[0215/145225:WARNING:resource_bundle.cc(311)] locale_file_path.empty() for locale
[0215/145225:WARNING:resource_bundle.cc(311)] locale_file_path.empty() for locale
[0215/145323:WARNING:resource_bundle.cc(311)] locale_file_path.empty() for locale
[0215/145323:WARNING:resource_bundle.cc(311)] locale_file_path.empty() for locale

 

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: PUBLIC BETA: Knossos 0.4.1 (launcher / mod installer)
Wow! Thanks for all the replies. I'll try to respond to them in order. (Sorry for the long post)

Most mac apps that are just a bundle, no scripts or whatever, simply have a mechanism to download the new app, move the current one to the trash, and place the new one in its place. [...]
This would work but I'm not sure if I can rename the .app folder while Knossos is running or if I have to launch a script to do that.

I would have it check for updates once a day if left running, and on launch.  A manual button should remain in place.  Hopefully that won't result in too much traffic.
Sounds good to me. The traffic shouldn't be a problem. The mod list is 21KB and the nightlies list is 1MB. Both will keep growing over time but I'm more worried about the mod downloads from dl.fsnebula.org.

I might take a look at your mod list code if you need anything done with it, web dev is my thing :)
The relevant code is in the html folder. The only issue I know of is that the play button can overlap the mod's image if the label gets longer (which will happen with translations).

That page needs some real prettying up. Mod ID I think could be hidden and just be for back end internal use. We've got Mod Title anyway. Let's have the mod bitmap be shown, and perhaps the beginning of the mod description (first 140 characters or something?). Maybe authors could also upload images and/or a link to a youtube video that should show up (as links) with the visible description? First release is nice, but also a "last updated" column, as well as the download counter there too. Also filters! I saw you added those categories before, but I don't see them being used for organizational purposes yet. I think it would really help if there was like a FSO Builds category. It's not obvious to a newbie what they need to actually play.
I agree with most of those changes. The mod ID is shown because you need to enter that if you want to add a dependency to your own mod. I probably should change that and allow you to enter the mod title and handle the IDs in the code or something like that.
Regarding the links: I've already added a link for release threads. Should I do the same for the youtube video and label it "Preview video" or something like that?
I could add a sidebar to the left on the mods page which allows you to select from the available categories or other filters.

So there'd be a tab/screen of FreeSpace Open builds, which would all be clearly marked (FSO alone doesn't mean much to a newbie and not all mods guarantee compatibility with the latest and some might need custom builds), and then tab/screens for the different categories. Also I think the MediaVPs should have an unfair advantage with placement so its like a no-brainer to select. So a newbie would be like "ok i have this installer, oh builds, right that's why I'm here. I'll take the version with the biggest number and I'll take these MediaVPs which is labelled as super recommended and then I'll explore these other sections"
I think the tabs would take up too much space to fit in a line. Maybe vertical tabs? Hm....
I can and probably will put the FSO builds (and custom builds for that matter) on their own list but one goal for Knossos (which I forgot to mention) was that players don't have to think about builds anymore. The idea is that you add the build as a dependency and Knossos figures out the rest. I scrapped the last attempt at this but I think I can do it now.

I'd also like... just recommend most of those changes to the installer as well. I think ideally both should act as possible in terms of functionality and style.
I agree with karajorma regarding this but I could generate text files for the installer. It would allow the installer to install the mods on the Nebula which would make it easier for mod authors to support both if they want to.

Launcher specific... Maybe there could be something like a "FSO exe ready/missing/lol what are you doing this is still retail" sort of indicator? Someone running this for the first time may not have properly selected the right exe yet. Like in wxLauncher, it clearly tells you which build you are using. Being quickly able to change builds from the main window is super useful for us devs, I'm not so sure about normal players though... Maybe an advanced mode? :p (Also the launcher can't find FRED right now :()
The indicator is a good idea, should I add a statusbar similar to what wxlauncher does? After checking the code I realized that Knossos could only find FRED if it was installed through Knossos. :banghead: Will be fixed by the next update.

Sort of related as well, wxLauncher can take a build filename and basically tell you what this build exactly is. Like fs2_open_3_7_5_d is FreeSpace Open 3.7.5 (Debug) which could help people identify special builds. And nightlies have githashes (useful for only them) and a build date (useful for everyone else) so having that info clearly readable would be cool.
This already works with FSO builds installed through Knossos (in that case I can just use the metadata from fsnebula.org) but I will implement it for existing builds as well.

Also I think Settings needs to be broken up a bit. Like right now. "Settings" at first I thought it was just launcher settings, and didn't have anything to do with FS Open. So maybe a button that takes you to Launcher Settings and another button that takes you to Game Settings (which can still be the same window in the end, just different parts of that view).
I'm thinking of extending the mod settings window to cover all available FSO settings. Then I could remove the FSO settings from the settings window and make a new FSO settings window which would look like the mod settings but would set the global defaults.

I don't think I'd call the Default flags what it is right now, maybe more like "advanced default settings"?
I could rename all the flags pages / tabs to "advanced settings". It would work well with the change I suggested above.

And I see you have a button to the fs2_open.log which is amazing and I had just spent a paragraph saying you should add so that's awesome. But maybe also as shortcut to the proper config folder (like the right %AppData% folder on windows, or %OSX_EQUIVALENT% or %LINUX_EQUIVALENT% if we get that far)? Gotta be easy to find those screenshots!
The config folder button is a good idea. I added the log button because I had to look it up myself and thought it would be easier to have a single button which worked on all platforms instead of having to link users to some guide which explained where to find it.
Another idea I had was to add a button which would upload the log on pastebin and put the link (with bbcode) in your clipboard. Any thoughts on that?

Does the auto-updater on Windows work?
It didn't for me... I opened it, it didn't say there were updates automatically. I just downloaded a new exe and grabbed the new version.
Could you check what update channel you're on (Settings > Launcher settings)? It should be set to "stable". I'm not using "develop" right now.

Is anyone using the fso:// links? (Mod pages on fsnebula.org have a green "Install" button which, when clicked, should launch Knossos to install that mod.)
It did for me!
Great! :)

Should I display the forum highlights? Where?
I think you need a welcome tab. Grab the highlights board rss feed or something and mostly populate it with that. And maybe have a link to whatever welcome guide that the main site will end up having?
I think I need to make the main window bigger. I could add the hightlights to the "Last played" tab and maybe drop the mod description there.

Actually, first we need to decide who that page is for. If it's only ever going to be used by modders, it's fine as is. If we're going to start sending users there, then it definitely needs changing. As far as I'm concerned, we shouldn't ever be sending people to the Knossos / Nebula pages. You go to the HLP main page, click download and then do everything through Knossos. I'm against creating yet another external website where we sometimes direct users (like we used to with the SCP site) and then create a huge mess because people are going to all kinds of different places when they have problems (believe it or not we used to get help requests on the SCP site!)
I could make a second page which shows up when you click on the "Available" tab in Knossos and leave the current mods list mostly the way it is (though a few tweaks / a bit more information wouldn't hurt).

Sort of. Knossos detected the download, grabbed it, started to install and then Avast stuck its nose in and the whole thing fell over.
Hm, not sure if I can work around that.

Also, I have Diaspora in a different folder from FSO. How can I get Knossos to recognise it?
Knossos expects mods to be subfolders of the selected FS2 directory, there's currently no way around that.
Should I allow users (more likely modders) to add mods from other directories as well? Knossos could do that, I'd just need to change the UI.

FSO has recently gained support for specifying on which display the game should be displayed. Could it be possible to add support for specifying that into Knosses?
I'm currently looking at the code and I'd like to try and implement that but I'm not very good with python so it may take a while.
Most of the UI is done with Qt Designer. You'd need to change one of the settings_*.ui files in the ui folder. Afterwards you need to add the code to save / load the value to knossos/windows.py.

Okay, this is weird: Knossos launches, but it won't give me any option to point it to a Freespace 2 installation or something similar. It seems forever stuck in a "Loading..." screen.
[...]
I can't access settings, and the opening screen where I am supposed to set the launcher to the Freespace 2 install directory or similar flatly does not appear. Debug log gives this: [...]
That's the browser's debug log which frankly isn't too helpful. Can you please post the contents of %APPDATA%\knossos\log.txt?

Lots of good suggestions here but if we're talking about replacing wxlauncher/5.5g/fso installer with it, we probably need to focus on s stable most viable product, and then enhance from there.  I wasn't expecting this to be ready for the mainstream by the 3.8 release but feel free to prove me wrong :)
I'm focusing on fixing bugs (which is why I'm encouraging feedback and bug reports so much) but for it to be mainstream ready it should be able to compete wxLauncher and the FSO installer.
Once Knossos is stable enough I'll switch to providing stable and beta/nightly builds.

 
Re: PUBLIC BETA: Knossos 0.4.1 (launcher / mod installer)
Code: [Select]
INFO:MainThread:launcher.main: Running Knossos 0.4.1 on PyQt5.
INFO:MainThread:_code_cache._create_comtypes_gen_package: Imported existing <module 'comtypes.gen' (<pyimod03_importers.FrozenImporter object at 0x00CD91F0>)>
INFO:MainThread:_code_cache._find_gen_dir: Using writeable comtypes cache directory: 'C:\Users\joshu\AppData\Local\Temp\comtypes_cache\Knossos-35'
INFO:MainThread:integration.init: Activating Windows integration...
INFO:MainThread:api.get_fso_profile_path: Using profile path "C:\Users\joshu\AppData\Roaming\HardLightProductions\FreeSpaceOpen\".
ERROR:MainThread:launcher.my_excepthook: UNCAUGHT EXCEPTION!
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\api.py", line 571, in init_self
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\windows.py", line 215, in check_fso
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\windows.py", line 463, in __init__
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\windows.py", line 933, in read_config
TypeError: setText(self, str): argument 1 has unexpected type 'int'
ERROR:MainThread:launcher.my_excepthook: UNCAUGHT EXCEPTION!
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\web.py", line 103, in finishInit
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\windows.py", line 202, in finish_init
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\windows.py", line 215, in check_fso
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\windows.py", line 463, in __init__
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\windows.py", line 933, in read_config
TypeError: setText(self, str): argument 1 has unexpected type 'int'
ERROR:MainThread:launcher.my_excepthook: UNCAUGHT EXCEPTION!
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\windows.py", line 280, in show_settings
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\windows.py", line 463, in __init__
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\windows.py", line 933, in read_config
TypeError: setText(self, str): argument 1 has unexpected type 'int'

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Minecraft
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Re: PUBLIC BETA: Knossos 0.4.1 (launcher / mod installer)
Macs seem to have no trouble with moving an application to the Trash while the app is running.  Permanently deleting is probably another story.

Windows apps with auto-updaters often have to restart to then install, and then restart*.  But Mac apps usually just swap the apps in the background, and then ask you to relaunch to use the new app.


* I know some Windows apps have much more complicated updaters, but ones using services such as Firefox and Chrome are probably beyond our need here.
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.1 (launcher / mod installer)
@Joshua: Thanks! I've found and fixed the bug. Please download the new build and install it.
Could you please check if you have a fs2_open.ini in %APPDATA%\Roaming\HardLightProductions\FreeSpaceOpen ?

@chief: I thought so, since most Unixes seem to not lock running exectuables but I wasn't sure. Thanks for confirming it.
I know of the Windows problem and I've dealt with that myself though apparently the results aren't too great.

 
Re: PUBLIC BETA: Knossos 0.4.1 (launcher / mod installer)
@Joshua: Thanks! I've found and fixed the bug. Please download the new build and install it.
Could you please check if you have a fs2_open.ini in %APPDATA%\Roaming\HardLightProductions\FreeSpaceOpen ?

Before installation of new build: No FS2_Open.INI found! This is a rather freshly installed PC. Writing this as I go! Also, I am using Windows 10.

After installation of new build: Clicking "Select FS2 Directory" in Knossos doesn't do anything! However, manually going to the settings and selecting a thing there works.
I decided to try and install "Last Stand", but that one appears to be improperly configured: The mod does download but it doesn't launch properly, nor does it properly check for dependencies: It does not seem to see that it needs FSO or the MediaVPs.
Next, I tried downloading and installing Lost. This was a lot more promising, as that one did properly list it's dependencies and attempted to download them as well! Simply this, the way dependencies are handled, is the best implementation one can have, and I wholly support this launcher being the community-endorsed launcher for that reason alone. After the bugs are ironed out, obviously. This is great!

However, after the installation had completed it said that it had encountered a problem and said to ask you. Debug log below!
Code: [Select]
INFO:MainThread:launcher.main: Running Knossos 0.4.1 on PyQt5.
INFO:MainThread:_code_cache._create_comtypes_gen_package: Imported existing <module 'comtypes.gen' (<pyimod03_importers.FrozenImporter object at 0x007891F0>)>
INFO:MainThread:_code_cache._find_gen_dir: Using writeable comtypes cache directory: 'C:\Users\joshu\AppData\Local\Temp\comtypes_cache\Knossos-35'
INFO:MainThread:integration.init: Activating Windows integration...
INFO:MainThread:api.get_fso_profile_path: Using profile path "C:\Users\joshu\AppData\Roaming\HardLightProductions\FreeSpaceOpen\".
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160824+09e3792 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160727+6646bf3 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160904+2b680f8 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160809+7265711 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160810+c3b4380 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160906+60fff3f (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160802+dfc10ad (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160908+932c05c (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160814+6f7039e (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160808+4b900bb (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160731+feb49ea (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160727+aec35e4 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160905+3e4a289 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160806+82ac53a (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160819+127976c (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160831+71c2963 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160820+bf93beb (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160807+9b53743 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160823+eb086da (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160822+10e88b7 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160729+0819d57 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160830+ee689cb (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160817+d840f9d (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160811+83724c0 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160827+1fa84b4 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160812+96c7ea9 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160805+a570eca (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160829+4cb9e5c (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160720+30de956 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20170208+86cb91f (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160801+9a91e60 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160813+c17c582 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160818+e9cc460 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160901+5c5a2f6 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160906+8d05393 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160815+43ca34c (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160826+4a418a6 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160825+0a67a78 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160816+384b4b9 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160828+864e218 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160821+be12b62 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160903+8d2674e (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-4:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160902+0c240c3 (FSO_nightlies)> is empty, ignoring it!
INFO:Thread-2:util.download: Downloading "https://fsnebula.org/uploads/img/4.png"...
INFO:Thread-5:util.download: Downloading "https://fsnebula.org/uploads/img/5.bmp"...
INFO:Thread-10:util.download: Downloading "https://fsnebula.org/uploads/img/5.bmp"...
INFO:Thread-9:util.download: Downloading "https://fsnebula.org/uploads/img/5.bmp"...
INFO:Thread-4:util.download: Downloading "https://fsnebula.org/uploads/img/7.bmp"...
INFO:Thread-6:util.download: Downloading "https://fsnebula.org/uploads/img/8.bmp"...
INFO:Thread-1:util.download: Downloading "https://fsnebula.org/uploads/img/6.png"...
INFO:Thread-8:util.download: Downloading "https://fsnebula.org/uploads/img/9.png"...
INFO:Thread-4:util.download: Downloading "https://www.dropbox.com/s/divsr5wotncz9os/The_Last_Stand.7z?dl=1"...
ERROR:Thread-4:tasks.work2: File "https://www.dropbox.com/s/divsr5wotncz9os/The_Last_Stand.7z?dl=1" is corrupted!
INFO:Thread-4:util.download: Downloading "https://dl.fsnebula.org/mods/TheLastStand/1.0.0/The_Last_Stand.7z"...
INFO:Thread-8:util.download: Downloading "http://download.fsnebula.org/mods/FSO/3.7.4/1_fs2_open_3.7.4.7z"...
WARNING:MainThread:tasks.finish: Package Windows of mod FSO (FSO) is not installed but in the local repo. Fixing...
ERROR:MainThread:launcher.my_excepthook: UNCAUGHT EXCEPTION!
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\tasks.py", line 209, in finish
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\repo.py", line 844, in save
FileNotFoundError: [Errno 2] No such file or directory: 'D:\\GoG Games\\Freespace 2\\Freespace 2\\mod.json'
INFO:MainThread:api.run_mod: Starting mod "FSO" with cmdline "['-mod', 'Freespace 2']".
INFO:MainThread:api.run_mod: Starting mod "The Last Stand" with cmdline "['-mod', 'TheLastStand']".
INFO:MainThread:api.run_mod: Starting mod "The Last Stand" with cmdline "['-mod', 'TheLastStand']".
INFO:MainThread:api.run_mod: Starting mod "The Last Stand" with cmdline "['-mod', 'TheLastStand']".
INFO:MainThread:api.run_mod: Starting mod "The Last Stand" with cmdline "['-mod', 'TheLastStand']".
ERROR:MainThread:launcher.my_excepthook: UNCAUGHT EXCEPTION!
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\windows.py", line 297, in update_mod_buttons
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\repo.py", line 228, in query
AttributeError: 'Version' object has no attribute 'select'
ERROR:MainThread:launcher.my_excepthook: UNCAUGHT EXCEPTION!
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\windows.py", line 297, in update_mod_buttons
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\repo.py", line 228, in query
AttributeError: 'Version' object has no attribute 'select'
ERROR:MainThread:launcher.my_excepthook: UNCAUGHT EXCEPTION!
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\windows.py", line 297, in update_mod_buttons
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\repo.py", line 228, in query
AttributeError: 'Version' object has no attribute 'select'
INFO:MainThread:tasks.__init__: Removing old logo "C:\Users\joshu\AppData\Roaming/knossos\logo_719bf874d0f8d062dd26a1652b7c4122.png"...
INFO:MainThread:tasks.__init__: Removing old logo "C:\Users\joshu\AppData\Roaming/knossos\logo_7910f4f94df888aa4dd8f914d2423832.bmp"...
INFO:MainThread:tasks.__init__: Removing old logo "C:\Users\joshu\AppData\Roaming/knossos\logo_8d0d19ff9ea331b2dfe3bf47ba55c021.bmp"...
INFO:MainThread:tasks.__init__: Removing old logo "C:\Users\joshu\AppData\Roaming/knossos\logo_9c0f5f71451552492edad6c8e0423ebd.bmp"...
INFO:MainThread:tasks.__init__: Removing old logo "C:\Users\joshu\AppData\Roaming/knossos\logo_f605a953b8d92979ce66804a202155ea.png"...
INFO:MainThread:tasks.__init__: Removing old logo "C:\Users\joshu\AppData\Roaming/knossos\logo_fa3460b77a3081a25de0665154953442.png"...
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160824+09e3792 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160727+6646bf3 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160904+2b680f8 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160809+7265711 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160810+c3b4380 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160906+60fff3f (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160802+dfc10ad (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160908+932c05c (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160814+6f7039e (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160808+4b900bb (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160731+feb49ea (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160727+aec35e4 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160905+3e4a289 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160806+82ac53a (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160819+127976c (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160831+71c2963 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160820+bf93beb (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160807+9b53743 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160823+eb086da (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160822+10e88b7 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160729+0819d57 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160830+ee689cb (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160817+d840f9d (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160811+83724c0 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160827+1fa84b4 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160812+96c7ea9 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160805+a570eca (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160829+4cb9e5c (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160720+30de956 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20170208+86cb91f (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160801+9a91e60 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160813+c17c582 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160818+e9cc460 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160901+5c5a2f6 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160906+8d05393 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160815+43ca34c (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160826+4a418a6 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160825+0a67a78 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160816+384b4b9 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160828+864e218 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160821+be12b62 (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160903+8d2674e (FSO_nightlies)> is empty, ignoring it!
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160902+0c240c3 (FSO_nightlies)> is empty, ignoring it!
INFO:Thread-6:util.download: Downloading "https://fsnebula.org/uploads/img/4.png"...
INFO:Thread-8:util.download: Downloading "https://fsnebula.org/uploads/img/7.bmp"...
INFO:Thread-10:util.download: Downloading "https://fsnebula.org/uploads/img/8.bmp"...
INFO:Thread-2:util.download: Downloading "https://fsnebula.org/uploads/img/5.bmp"...
INFO:Thread-1:util.download: Downloading "https://fsnebula.org/uploads/img/5.bmp"...
INFO:Thread-4:util.download: Downloading "https://fsnebula.org/uploads/img/5.bmp"...
INFO:Thread-5:util.download: Downloading "https://fsnebula.org/uploads/img/5.bmp"...
INFO:Thread-3:util.download: Downloading "https://fsnebula.org/uploads/img/5.bmp"...
INFO:Thread-9:util.download: Downloading "https://fsnebula.org/uploads/img/5.bmp"...
INFO:Thread-7:util.download: Downloading "https://fsnebula.org/uploads/img/5.bmp"...
INFO:Thread-6:util.download: Downloading "https://fsnebula.org/uploads/img/9.png"...
INFO:Thread-2:util.download: Downloading "https://fsnebula.org/uploads/img/6.png"...
WARNING:MainThread:tasks.finish: Package Windows of mod FSO (FSO) is not installed but in the local repo. Fixing...
ERROR:MainThread:launcher.my_excepthook: UNCAUGHT EXCEPTION!
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\tasks.py", line 209, in finish
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\repo.py", line 844, in save
FileNotFoundError: [Errno 2] No such file or directory: 'D:\\GoG Games\\Freespace 2\\Freespace 2\\mod.json'
INFO:Thread-4:util.download: Downloading "http://mvp.fsmods.net/2014/MV_Effects.7z"...
INFO:Thread-1:util.download: Downloading "http://mvp.fsmods.net/2014/MV_Music.7z"...
INFO:Thread-8:util.download: Downloading "http://mvp.fsmods.net/2014/MV_Assets.7z"...
INFO:Thread-6:util.download: Downloading "http://mvp.fsmods.net/2014/MV_Root.7z"...
INFO:Thread-2:util.download: Downloading "http://mvp.fsmods.net/2014/MV_RadarIcons.7z"...
INFO:Thread-3:util.download: Downloading "http://www.lunardigitalproductions.com/downloads/MediaVPs2014/MV_Advanced.7z"...
INFO:Thread-7:util.download: Downloading "http://download.fsnebula.org/mods/mvps_2014/1.0.0/MV_CB_ANI_2.7z"...
INFO:Thread-10:util.download: Downloading "https://www.dropbox.com/s/q7jivmvp7z2nyq7/Lost_v.1.2.zip?dl=1"...
INFO:Thread-5:util.download: Downloading "http://download.fsnebula.org/mods/mvps_2014/1.0.0/MV_CB_ANI_1.7z"...
INFO:Thread-9:util.download: Downloading "http://mvp.fsmods.net/2014/MV_A-Glows.7z"...
ERROR:Thread-10:tasks.work2: Failed to move file "C:\Users\joshu\AppData\Local\Temp\tmpgosem9ac\content\Lost_v.1.2/Lost.vp" from archive "Lost_v.1.2.zip" for package "Required files" (Lost) to its destination D:\GoG Games\Freespace 2\lost\Lost.vp!
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\shutil.py", line 544, in move
OSError: [WinError 17] Het systeem kan het bestand niet verplaatsen naar een ander station: 'C:\\Users\\joshu\\AppData\\Local\\Temp\\tmpgosem9ac\\content\\Lost_v.1.2/Lost.vp' -> 'D:\\GoG Games\\Freespace 2\\lost\\Lost.vp'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\tasks.py", line 567, in work2
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\shutil.py", line 559, in move
PermissionError: [WinError 5] Toegang geweigerd: 'C:\\Users\\joshu\\AppData\\Local\\Temp\\tmpgosem9ac\\content\\Lost_v.1.2/Lost.vp'
ERROR:Thread-10:progress.run: Exception in Thread!
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\progress.py", line 111, in run
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\progress.py", line 387, in work
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\tasks.py", line 612, in work2
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\tempfile.py", line 808, in __exit__
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\tempfile.py", line 812, in cleanup
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\shutil.py", line 494, in rmtree
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\shutil.py", line 384, in _rmtree_unsafe
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\shutil.py", line 384, in _rmtree_unsafe
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\shutil.py", line 389, in _rmtree_unsafe
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\shutil.py", line 387, in _rmtree_unsafe
PermissionError: [WinError 5] Toegang geweigerd: 'C:\\Users\\joshu\\AppData\\Local\\Temp\\tmpgosem9ac\\content\\Lost_v.1.2\\Lost.vp'
ERROR:raven.AsyncWorker:base._failed_send: Sentry responded with an error: HTTPSConnectionPool(host='sentry.gruenprint.de', port=443): Max retries exceeded with url: /api/9/store/ (Caused by ConnectTimeoutError(<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x00CDB8F0>, 'Connection to sentry.gruenprint.de timed out. (connect timeout=1)')) (url: https://sentry.gruenprint.de/api/9/store/)
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connection.py", line 141, in _new_conn
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\util\connection.py", line 83, in create_connection
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\util\connection.py", line 73, in create_connection
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 600, in urlopen
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 345, in _make_request
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 844, in _validate_conn
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connection.py", line 284, in connect
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connection.py", line 146, in _new_conn
requests.packages.urllib3.exceptions.ConnectTimeoutError: (<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x00CDB8F0>, 'Connection to sentry.gruenprint.de timed out. (connect timeout=1)')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\adapters.py", line 423, in send
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 649, in urlopen
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\util\retry.py", line 376, in increment
requests.packages.urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='sentry.gruenprint.de', port=443): Max retries exceeded with url: /api/9/store/ (Caused by ConnectTimeoutError(<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x00CDB8F0>, 'Connection to sentry.gruenprint.de timed out. (connect timeout=1)'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\raven\transport\threaded_requests.py", line 26, in send_sync
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\raven\transport\requests.py", line 35, in send
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\api.py", line 110, in post
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\api.py", line 56, in request
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\sessions.py", line 488, in request
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\raven\breadcrumbs.py", line 297, in send
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\sessions.py", line 609, in send
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\adapters.py", line 479, in send
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='sentry.gruenprint.de', port=443): Max retries exceeded with url: /api/9/store/ (Caused by ConnectTimeoutError(<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x00CDB8F0>, 'Connection to sentry.gruenprint.de timed out. (connect timeout=1)'))
ERROR:raven.AsyncWorker:base._log_failed_submission: ['Failed to move file "C:\\Users\\joshu\\AppData\\Local\\Temp\\tmpgosem9ac\\content\\Lost_v.1.2/Lost.vp" from archive "Lost_v.1.2.zip" for package "Required files" (Lost) to its destination D:\\GoG Games\\Freespace 2\\lost\\Lost.vp!', '  File "C:\\Users\\packager\\Downloads\\release\\knossos-release\\knossos\\tasks.py", line 567, in work2', '  File "C:\\Users\\packager\\Downloads\\release\\knossos-release\\tools\\win\\py-env\\lib\\shutil.py", line 559, in move']
ERROR:raven.AsyncWorker:base._failed_send: Sentry responded with an error: HTTPSConnectionPool(host='sentry.gruenprint.de', port=443): Max retries exceeded with url: /api/9/store/ (Caused by ConnectTimeoutError(<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x001D3BF0>, 'Connection to sentry.gruenprint.de timed out. (connect timeout=1)')) (url: https://sentry.gruenprint.de/api/9/store/)
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connection.py", line 141, in _new_conn
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\util\connection.py", line 83, in create_connection
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\util\connection.py", line 73, in create_connection
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 600, in urlopen
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 345, in _make_request
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 844, in _validate_conn
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connection.py", line 284, in connect
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connection.py", line 146, in _new_conn
requests.packages.urllib3.exceptions.ConnectTimeoutError: (<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x001D3BF0>, 'Connection to sentry.gruenprint.de timed out. (connect timeout=1)')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\adapters.py", line 423, in send
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 649, in urlopen
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\util\retry.py", line 376, in increment
requests.packages.urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='sentry.gruenprint.de', port=443): Max retries exceeded with url: /api/9/store/ (Caused by ConnectTimeoutError(<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x001D3BF0>, 'Connection to sentry.gruenprint.de timed out. (connect timeout=1)'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\raven\transport\threaded_requests.py", line 26, in send_sync
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\raven\transport\requests.py", line 35, in send
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\api.py", line 110, in post
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\api.py", line 56, in request
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\sessions.py", line 488, in request
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\raven\breadcrumbs.py", line 297, in send
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\sessions.py", line 609, in send
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\adapters.py", line 479, in send
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='sentry.gruenprint.de', port=443): Max retries exceeded with url: /api/9/store/ (Caused by ConnectTimeoutError(<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x001D3BF0>, 'Connection to sentry.gruenprint.de timed out. (connect timeout=1)'))
ERROR:raven.AsyncWorker:base._log_failed_submission: ['Exception in Thread!', '  File "C:\\Users\\packager\\Downloads\\release\\knossos-release\\knossos\\progress.py", line 111, in run', '  File "C:\\Users\\packager\\Downloads\\release\\knossos-release\\knossos\\progress.py", line 387, in work', '  File "C:\\Users\\packager\\Downloads\\release\\knossos-release\\knossos\\tasks.py", line 612, in work2', '  File "C:\\Users\\packager\\Downloads\\release\\knossos-release\\tools\\win\\py-env\\lib\\tempfile.py", line 808, in __exit__', '  File "C:\\Users\\packager\\Downloads\\release\\knossos-release\\tools\\win\\py-env\\lib\\tempfile.py", line 812, in cleanup', '  File "C:\\Users\\packager\\Downloads\\release\\knossos-release\\tools\\win\\py-env\\lib\\shutil.py", line 494, in rmtree', '  File "C:\\Users\\packager\\Downloads\\release\\knossos-release\\tools\\win\\py-env\\lib\\shutil.py", line 384, in _rmtree_unsafe', '  File "C:\\Users\\packager\\Downloads\\release\\knossos-release\\tools\\win\\py-env\\lib\\shutil.py", line 384, in _rmtree_unsafe', '  File "C:\\Users\\packager\\Downloads\\release\\knossos-release\\tools\\win\\py-env\\lib\\shutil.py", line 389, in _rmtree_unsafe', '  File "C:\\Users\\packager\\Downloads\\release\\knossos-release\\tools\\win\\py-env\\lib\\shutil.py", line 387, in _rmtree_unsafe']
WARNING:MainThread:tasks.finish: Package Windows of mod FSO (FSO) is not installed but in the local repo. Fixing...
ERROR:MainThread:launcher.my_excepthook: UNCAUGHT EXCEPTION!
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\tasks.py", line 209, in finish
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\repo.py", line 844, in save
FileNotFoundError: [Errno 2] No such file or directory: 'D:\\GoG Games\\Freespace 2\\Freespace 2\\mod.json'
ERROR:raven.AsyncWorker:base._failed_send: Sentry responded with an error: HTTPSConnectionPool(host='sentry.gruenprint.de', port=443): Max retries exceeded with url: /api/9/store/ (Caused by ConnectTimeoutError(<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x00CDB090>, 'Connection to sentry.gruenprint.de timed out. (connect timeout=1)')) (url: https://sentry.gruenprint.de/api/9/store/)
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connection.py", line 141, in _new_conn
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\util\connection.py", line 83, in create_connection
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\util\connection.py", line 73, in create_connection
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 600, in urlopen
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 345, in _make_request
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 844, in _validate_conn
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connection.py", line 284, in connect
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connection.py", line 146, in _new_conn
requests.packages.urllib3.exceptions.ConnectTimeoutError: (<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x00CDB090>, 'Connection to sentry.gruenprint.de timed out. (connect timeout=1)')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\adapters.py", line 423, in send
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 649, in urlopen
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\util\retry.py", line 376, in increment
requests.packages.urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='sentry.gruenprint.de', port=443): Max retries exceeded with url: /api/9/store/ (Caused by ConnectTimeoutError(<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x00CDB090>, 'Connection to sentry.gruenprint.de timed out. (connect timeout=1)'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\raven\transport\threaded_requests.py", line 26, in send_sync
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\raven\transport\requests.py", line 35, in send
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\api.py", line 110, in post
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\api.py", line 56, in request
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\sessions.py", line 488, in request
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\raven\breadcrumbs.py", line 297, in send
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\sessions.py", line 609, in send
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\adapters.py", line 479, in send
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='sentry.gruenprint.de', port=443): Max retries exceeded with url: /api/9/store/ (Caused by ConnectTimeoutError(<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x00CDB090>, 'Connection to sentry.gruenprint.de timed out. (connect timeout=1)'))
ERROR:raven.AsyncWorker:base._log_failed_submission: ["FileNotFoundError: [Errno 2] No such file or directory: 'D:\\\\GoG Games\\\\Freespace 2\\\\Freespace 2\\\\mod.json'", '  File "C:\\Users\\packager\\Downloads\\release\\knossos-release\\knossos\\tasks.py", line 209, in finish', '  File "C:\\Users\\packager\\Downloads\\release\\knossos-release\\knossos\\repo.py", line 844, in save']
ERROR:MainThread:base._log_failed_submission: ["AttributeError: 'Version' object has no attribute 'select'", '  File "C:\\Users\\packager\\Downloads\\release\\knossos-release\\knossos\\windows.py", line 297, in update_mod_buttons', '  File "C:\\Users\\packager\\Downloads\\release\\knossos-release\\knossos\\repo.py", line 228, in query']
ERROR:MainThread:launcher.my_excepthook: UNCAUGHT EXCEPTION!
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\windows.py", line 297, in update_mod_buttons
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\repo.py", line 228, in query
AttributeError: 'Version' object has no attribute 'select'
ERROR:MainThread:base._log_failed_submission: ["AttributeError: 'Version' object has no attribute 'select'", '  File "C:\\Users\\packager\\Downloads\\release\\knossos-release\\knossos\\windows.py", line 297, in update_mod_buttons', '  File "C:\\Users\\packager\\Downloads\\release\\knossos-release\\knossos\\repo.py", line 228, in query']
ERROR:MainThread:launcher.my_excepthook: UNCAUGHT EXCEPTION!
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\windows.py", line 297, in update_mod_buttons
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\repo.py", line 228, in query
AttributeError: 'Version' object has no attribute 'select'

Finally, trying to launch either the MediaVPs or Lost or Last Stand simply doesn't work: FS2_Open does not seem to recognize the MOD flag or doesn't recognize flags at all when launched trough the launcher. I think that might be because the command line according to knossos is this:
Code: [Select]
D:\GoG Games\Freespace 2\fs2_open_3_7_4_SSE2.exe -nomotiondebris -missile_lighting -3dshockwave -post_process -soft_particles -fxaa -fb_explosions -enable_shadows -snd_preload -mod lost,mediavps_2014
But it should probably be this:
Code: [Select]
"D:\GoG Games\Freespace 2\fs2_open_3_7_4_SSE2.exe" -nomotiondebris -missile_lighting -3dshockwave -post_process -soft_particles -fxaa -fb_explosions -enable_shadows -snd_preload -mod lost,mediavps_2014Without the quotation marks surrounding the file path, Windows doesn't properly recognize spaces.

Also, this is properly a premature request, but I'd love to get AVX builds trough this as my processor supports them and they do make the game run a bit faster. Also, an option to create desktop shortcuts from Knossos would be rad.

I still don't have an FS2_Open.ini.
« Last Edit: February 15, 2017, 01:48:26 pm by -Joshua- »

 

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: PUBLIC BETA: Knossos 0.4.1 (launcher / mod installer)
Thanks for the detailed information! Let's see...

Code: [Select]
INFO:Thread-8:util.download: Downloading "http://download.fsnebula.org/mods/FSO/3.7.4/1_fs2_open_3.7.4.7z"...
WARNING:MainThread:tasks.finish: Package Windows of mod FSO (FSO) is not installed but in the local repo. Fixing...
ERROR:MainThread:launcher.my_excepthook: UNCAUGHT EXCEPTION!
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\tasks.py", line 209, in finish
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\repo.py", line 844, in save
FileNotFoundError: [Errno 2] No such file or directory: 'D:\\GoG Games\\Freespace 2\\Freespace 2\\mod.json'
This took me a while... Knossos installed FSO but is looking in the wrong place. It's in "D:\GoG Games\Freespace 2" not in "D:\GoG Games\Freespace 2\Freespace 2". I think this is caused by my fix for the case bug m!m found.
In your Freespace 2 directory, there should be a mod.json file. Could you please open it, look for "folder": "Freespace 2" and replace it with "folder": "."? That should fix this bug until you decide to reinstall FSO. The Nightlies should be unaffected by the bug.


Code: [Select]
ERROR:MainThread:launcher.my_excepthook: UNCAUGHT EXCEPTION!
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\windows.py", line 297, in update_mod_buttons
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\repo.py", line 228, in query
AttributeError: 'Version' object has no attribute 'select'
This will be fixed in the next release (breaks the "Last Played" page if you've pinned your last played mod to specific version).

Code: [Select]
WARNING:Thread-8:repo.add_mod: Mod <Mod "FSO Nightly" 0.0.20160824+09e3792 (FSO_nightlies)> is empty, ignoring it!
BTW, this message tells you that the given mod has no packages for your platform. In this case it means that the nightly had no Windows 64bit builds which is normal.
If it were a normal mod or FSO release, it would either be a bug in Knossos or a mistake the uploader did when adding it to the Nebula.

Code: [Select]
ERROR:Thread-10:tasks.work2: Failed to move file "C:\Users\joshu\AppData\Local\Temp\tmpgosem9ac\content\Lost_v.1.2/Lost.vp" from archive "Lost_v.1.2.zip" for package "Required files" (Lost) to its destination D:\GoG Games\Freespace 2\lost\Lost.vp!
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\shutil.py", line 544, in move
OSError: [WinError 17] Het systeem kan het bestand niet verplaatsen naar een ander station: 'C:\\Users\\joshu\\AppData\\Local\\Temp\\tmpgosem9ac\\content\\Lost_v.1.2/Lost.vp' -> 'D:\\GoG Games\\Freespace 2\\lost\\Lost.vp'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\tasks.py", line 567, in work2
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\shutil.py", line 559, in move
PermissionError: [WinError 5] Toegang geweigerd: 'C:\\Users\\joshu\\AppData\\Local\\Temp\\tmpgosem9ac\\content\\Lost_v.1.2/Lost.vp'
This is interesting. Does the folder for Lost contain the Lost.vp file? Could you please go to the settings for Lost, then click on the "Troubleshoot" tab and click on "Replace corrupted files"? Unless the same problem reoccurrs, that should download the file.
Knossos tried to moved it there after extracting but failed because it was denied access to that file. I'm wondering whether this is caused by the slash in the path or because of your AV. It's a file 7-Zip just wrote, however 7-Zip can't have locked it because at this point 7-Zip isn't running anymore. I guess I'll have Knossos retry the move in future releases.

Code: [Select]
ERROR:Thread-10:progress.run: Exception in Thread!
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\progress.py", line 111, in run
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\progress.py", line 387, in work
  File "C:\Users\packager\Downloads\release\knossos-release\knossos\tasks.py", line 612, in work2
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\tempfile.py", line 808, in __exit__
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\tempfile.py", line 812, in cleanup
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\shutil.py", line 494, in rmtree
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\shutil.py", line 384, in _rmtree_unsafe
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\shutil.py", line 384, in _rmtree_unsafe
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\shutil.py", line 389, in _rmtree_unsafe
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\shutil.py", line 387, in _rmtree_unsafe
PermissionError: [WinError 5] Toegang geweigerd: 'C:\\Users\\joshu\\AppData\\Local\\Temp\\tmpgosem9ac\\content\\Lost_v.1.2\\Lost.vp'
Here's the same error again while trying to delete the temporary folder...

Code: [Select]
ERROR:raven.AsyncWorker:base._failed_send: Sentry responded with an error: HTTPSConnectionPool(host='sentry.gruenprint.de', port=443): Max retries exceeded with url: /api/9/store/ (Caused by ConnectTimeoutError(<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x00CDB8F0>, 'Connection to sentry.gruenprint.de timed out. (connect timeout=1)')) (url: https://sentry.gruenprint.de/api/9/store/)
Traceback (most recent call last):
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\connection.py", line 141, in _new_conn
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\util\connection.py", line 83, in create_connection
  File "C:\Users\packager\Downloads\release\knossos-release\tools\win\py-env\lib\site-packages\requests\packages\urllib3\util\connection.py", line 73, in create_connection
socket.timeout: timed out
Here Knossos tried to report the error but the connection timed out which is weird. Can you try going to https://sentry.gruenprint.de/ with your browser?

Finally, trying to launch either the MediaVPs or Lost or Last Stand simply doesn't work: FS2_Open does not seem to recognize the MOD flag or doesn't recognize flags at all when launched trough the launcher. I think that might be because the command line according to knossos is this:
Code: [Select]
D:\GoG Games\Freespace 2\fs2_open_3_7_4_SSE2.exe -nomotiondebris -missile_lighting -3dshockwave -post_process -soft_particles -fxaa -fb_explosions -enable_shadows -snd_preload -mod lost,mediavps_2014
But it should probably be this:
Code: [Select]
"D:\GoG Games\Freespace 2\fs2_open_3_7_4_SSE2.exe" -nomotiondebris -missile_lighting -3dshockwave -post_process -soft_particles -fxaa -fb_explosions -enable_shadows -snd_preload -mod lost,mediavps_2014Without the quotation marks surrounding the file path, Windows doesn't properly recognize spaces.
This shouldn't be a problem since the quotes are added when launching FSO, nevertheless I'll fix the UI code to display quotes, too.

Also, this is properly a premature request, but I'd love to get AVX builds trough this as my processor supports them and they do make the game run a bit faster. Also, an option to create desktop shortcuts from Knossos would be rad.
I'll add the AVX builds today or tomorrow. Any suggestion where I should place the button for the desktop shortcuts?
As a workaround (for now), you can create a desktop shortcut and have it point to "fso://run/<mod id>". The mod id is the same as the folder name, most of the time. Here's the documentation for fso:// links. (They don't work on HLP because the forum doesn't seem to like custom protocols. Example).

I still don't have an FS2_Open.ini.
I'm not sure if FSO creates it. Knossos only creates it if you don't have the old registry keys which were used by retail FS2 and older FSO builds. You could create it as an empty text file and then save the settings in Knossos which should then be written to that file.

 

Offline AdmiralRalwood

  • 211
  • The Cthulhu programmer himself!
    • Skype
    • Steam
    • Twitter
Re: PUBLIC BETA: Knossos 0.4.1 (launcher / mod installer)
I still don't have an FS2_Open.ini.
They're only used by SDL2 (recent nightly) builds on Windows, so if you're still using 3.7.4 (as the rest of your post indicates), then it won't do you any good.

I'm not sure if FSO creates it.
It does not, on Windows; at the time we need to make a decision about whether or not to use it, the registry code hasn't been initialized (and can't be, because it needs to be done during command-line parsing), so we can't check for the presence of the registry keys to know whether or not it's a brand-new installation, so "old-style" configuration is assumed unless the INI file already exists.

Knossos only creates it if you don't have the old registry keys which were used by retail FS2 and older FSO builds. You could create it as an empty text file and then save the settings in Knossos which should then be written to that file.
I would recommend following wxLauncher's lead here and creating fs2_open.ini (and copying over pilot files) if fs2_open.ini doesn't exist when an SDL2 build is run.
Ph'nglui mglw'nafh Codethulhu GitHub wgah'nagl fhtagn.

schrödinbug (noun) - a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place.

When you gaze long into BMPMAN, BMPMAN also gazes into you.

"I am one of the best FREDders on Earth" -General Battuta

<Aesaar> literary criticism is vladimir putin

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. :P
<MageKing17> Because the "reason" often turns out to be "nobody noticed it was wrong".
(the very next day)
<MageKing17> this ****ing code did it to me again
<MageKing17> "That doesn't really make sense to me, but I'll assume it was being done for a reason."
<MageKing17> **** ME
<MageKing17> THE REASON IS PEOPLE ARE STUPID
<MageKing17> ESPECIALLY ME

<MageKing17> God damn, I do not understand how this is breaking.
<MageKing17> Everything points to "this should work fine", and yet it's clearly not working.
<MjnMixael> 2 hours later... "God damn, how did this ever work at all?!"
(...)
<MageKing17> so
<MageKing17> more than two hours
<MageKing17> but once again we have reached the inevitable conclusion
<MageKing17> How did this code ever work in the first place!?

<@The_E> Welcome to OpenGL, where standards compliance is optional, and error reporting inconsistent

<MageKing17> It was all working perfectly until I actually tried it on an actual mission.

<IronWorks> I am useful for FSO stuff again. This is a red-letter day!
* z64555 erases "Thursday" and rewrites it in red ink

<MageKing17> TIL the entire homing code is held up by shoestrings and duct tape, basically.

 

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: PUBLIC BETA: Knossos 0.4.1 (launcher / mod installer)
It's implemented now. I was wondering how to tell whether a FSO build uses the new location or the old. Now I know. Thanks!

@-Joshua-: I've updated "The Last Stand" and added the missing dependencies. Thanks for telling me!

@niffiwan: Sorry for missing your post earlier!  :nervous:
Quote from: niffiwan
How about adding 1-3 star ratings in the base window?
I think it'd be great to add the ratings to the "Last Played" tab.

Quote from: niffiwan
I'm also feeling like it'd be good to tie game settings to each mod; it'll make switching between a mod that needs 3.7.4 (BtA) and another that needs a nightly (JAD). Perhaps the whole game settings section should be per mod?
Yes, makes sense since I'll have to add a build selection to the mod settings anyway.

Quote from: niffiwan
The download is then setting your preferred values for each mod, not sure how to get around that at the moment as opaque inheritance (only idea I had so far) could be hard to understand what's really going on.
I think the only setting a mod author needs to change are the flags. Knossos can already read the default flags for a mod from the metadata but I just realized that the input field is missing in Nebula. I'll add it soon.
The downside to this is that the mod author's flags override the user's default. I might change this later but I'm not sure.

Quote from: niffiwan
Also, you can also break Knossos by selecting a exec that doesn't work for whatever reason, once you close the settings window you can't reopen it to change your FSO exec. This is the error if you run from the cmdline:
You selected a build which is linked against a missing library. Knossos is trying to fix this by looking for a similar named library. It's running ldconfig -p to get a list of all available libraries on your system. I thought ldconfig is part of glibc and thus expected it to be available on all Linux distros. What distro are you using?
If you compile FSO on an Ubuntu system, it's linked against liblua5.1.so.0 but Arch Linux (my distro) only provides liblua5.1.so.5.1 which is the same library but has a different name. Knossos is trying to fix this specific case (here's the code if you're wondering how it works).

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Re: PUBLIC BETA: Knossos 0.4.1 (launcher / mod installer)
Sort of. Knossos detected the download, grabbed it, started to install and then Avast stuck its nose in and the whole thing fell over.
Hm, not sure if I can work around that.

It eventually worked the 3rd time.

Quote
Also, I have Diaspora in a different folder from FSO. How can I get Knossos to recognise it?
Knossos expects mods to be subfolders of the selected FS2 directory, there's currently no way around that.
Should I allow users (more likely modders) to add mods from other directories as well? Knossos could do that, I'd just need to change the UI.

I think it's rather vital. All the TCs currently install to folders other than the FS2 one. In fact having the FS2 data present causes quite a few of them to simply crash out.
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 
Re: PUBLIC BETA: Knossos 0.4.1 (launcher / mod installer)
Quote
This took me a while... Knossos installed FSO but is looking in the wrong place. It's in "D:\GoG Games\Freespace 2" not in "D:\GoG Games\Freespace 2\Freespace 2". I think this is caused by my fix for the case bug m!m found.
In your Freespace 2 directory, there should be a mod.json file. Could you please open it, look for "folder": "Freespace 2" and replace it with "folder": "."? That should fix this bug until you decide to reinstall FSO. The Nightlies should be unaffected by the bug.

This line does not appear to be present in my mod.json file.

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Minecraft
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Re: PUBLIC BETA: Knossos 0.4.1 (launcher / mod installer)
I think we might need to consider if TCs will be using a separate instance of Knossos to manage themselves or if that could somehow be wrangled into one universal installer.  I'd prefer the latter.  wxLauncher does it fairly well with the profile support, even though Diaspora came with its own copy of wxLauncher, you could just as easily point a newer install of wxLauncher at your Diaspora folder and use it too.  Total Conversion support for released ones like Diaspora and TBP and future ones, like FotG (and possibly BP standalone?) will be pretty important.  And those TCs could also have their _own_ mods, so there probably needs to be an entire concept of multiple game installation folders.
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 niffiwan

  • 211
  • Eluder Class
Re: PUBLIC BETA: Knossos 0.4.1 (launcher / mod installer)
Thanks for your speedy responses :)

Regarding the TCs, where does Diaspora currently get installed? I guess I should try it out, if it's into a sub-dir of the FS2 install folder then I'm pretty sure they won't clash. Or could the structure look like:

Knossos_ROOT
  FSO
  FSO_Nightlies
  Freespace
   -BtA
   -BPC
   -(etc)
  TBP
   -Zathas
  Diaspora
   -SuperCoolDiasporaMod

Quote from: niffiwan
The download is then setting your preferred values for each mod, not sure how to get around that at the moment as opaque inheritance (only idea I had so far) could be hard to understand what's really going on.
I think the only setting a mod author needs to change are the flags. Knossos can already read the default flags for a mod from the metadata but I just realized that the input field is missing in Nebula. I'll add it soon.
The downside to this is that the mod author's flags override the user's default. I might change this later but I'm not sure.

There might be an interesting discussion to be had here about pushing some of the flags into FSO. e.g. some mods need to have 3dship-select on, others need to have it off, and some don't care. Those sort of settings might best fit into the game_settings.tbl, as in the mod could tune which flags the user can set. Or perhaps Nebula could allow modder to have three settings for flags, on/off/users-choice.  Or finally, and maybe simplest,  Knossos could use the Nebula flag settings as a default which the user could override (and it'd be cool if "reset to defaults" would go back to the mods defaults rather than e.g. nothing enabled - actually I should play with that in the current version and see what happens).

You selected a build which is linked against a missing library. Knossos is trying to fix this by looking for a similar named library. It's running ldconfig -p to get a list of all available libraries on your system. I thought ldconfig is part of glibc and thus expected it to be available on all Linux distros. What distro are you using?
If you compile FSO on an Ubuntu system, it's linked against liblua5.1.so.0 but Arch Linux (my distro) only provides liblua5.1.so.5.1 which is the same library but has a different name. Knossos is trying to fix this specific case (here's the code if you're wondering how it works).

I'm running Mint 18 ('buntu 16.04) and it has ldconfig installed. Perhaps the command is quoted such that it's trying to run "ldconfig -p" as the full command, rather than a command with 1x arg? Thanks for linking to the code, I'll have to have a look at it (would really like to contribute but work is slaying me at the moment  :sigh:)
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 karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Re: PUBLIC BETA: Knossos 0.4.1 (launcher / mod installer)
Knossos_ROOT
  FSO
  FSO_Nightlies
  Freespace
   -BtA
   -BPC
   -(etc)
  TBP
   -Zathas
  Diaspora
   -SuperCoolDiasporaMod

I'd be fine with that kind of set up. But because of the sheer number of people who will get Knossos only after getting FS2 from Steam / GOG or even installing from the old CDs what you'll actually end up with is this

Freespace
  FSO
  FSO_Nightlies
  BtA
  BPC
   -(etc)
  TBP
   -Zathas
  Diaspora
   -SuperCoolDiasporaMod

Which makes it very difficult for the launcher to figure out which things are Freespace mods, which are TCs and which are independent games. And even if the launcher manages it, you know that people are going to end up trying to run TCs as mods. Which will always be a complete disaster. Then you also have Diaspora and TBP having their own installers which set up a separate install folder and basically this whole idea sounds like a recipe for disaster.

Now maybe that can be avoided, but we'd need to think ahead of time what the problems are likely to be.
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline m!m

  • 211
Re: PUBLIC BETA: Knossos 0.4.1 (launcher / mod installer)
Knossos could have a mode where the user could point it at an existing FS2/TBP/Diaspora install and Knossos would then copy or move that install to a managed location so that the required directory structure would be maintained.

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Minecraft
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Re: PUBLIC BETA: Knossos 0.4.1 (launcher / mod installer)
Maybe I'm in the minority here, but I'd prefer if Knossos could just forget a lot of the past and just be designed for going forward.  For one, that means no support for the registry.  We assume SDL2+ builds everywhere.  Mods will have to be updated to work with Knossos to some extent, including total conversions.  I think that being able to tell it where your FS2 install from Steam lives is the most it should need.  Other TCs should be installed via it or not supported.  Since we have full control over the distribution of everything but FS2 I think this is the best way to meet the community's needs for the installer and also keep the logic behind it as simple as possible.  Old launchers and install methods will remain for debugging, etc.  But this isn't going to be designed for developers so much as new users who just need something that works today, with the latest stuff.  Given a sufficient amount of time we'll have largely forgotten any other methods existed, ideally.  Gearing it towards being able to create new content for the latest engine version (the FRED launch button is a good start) would be important for new users who want to create something.  Just trying to cut down on the number of things we really need to support so this can focus on features and not backwards compatibility that likely won't be helping much of the userbase.

Users will probably want to be able to specify where mods/games are installed, in general, as well as where FS2 is located.  I would think something like this:

Knossos
Knossos_content
 -bin
  --3.8\
  --nightly_YYYYMMDD\
 -FS2_mods
  --BPC
  --BtA
 -Diaspora
  --Diaspora_mod1
 -TBP
  --Zathras
FS2
 -core vp files

The one thing I'm not certain about is whether FS2 mods could live outside of the FS2 folder and still be used as the engine is coded today.  But I think that being able to have an ecosystem that is completely independent from your Steam/GOG/etc FS2 install could be very beneficial.  I'd even go so far as to say that maybe it should just copy the core VP files from the GOG/Steam install into the Knossos_content FS2 folder.  Probably the only way to ensure a stable environment.  We could then notify the user that they can uninstall their Steam/GOG copy if they prefer to let Knossos manage the install from there on out.  We can already download the OGG cutscenes and anything else that is likely to be needed.  But I really think the Steam method of letting you relocate your SteamApps or whatever folder to a location of your choosing would be important here.  Knossos itself could live in a typical Program Files location or whatever, or just be installed via a package manager, etc.  But then you pick your drive/location for the actual content to live.  If you wipe your main drive but had the content on another drive, perhaps a reinstall of Knossos pointed at that folder would even be able to pick up where it left off.  At least if you saved your Knossos config written to APPDATA (which all Knossos config data should be written, if not that knossos_content folder, right?).
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.1 (launcher / mod installer)
I think I should clarify how Knossos handles mods right now.
It checks the FS2 directory and any subdirectory for mod.json and mod.ini files. The mod.ini is only read if the mod.json is missing and is intended to support already installed mods. Any mod loaded through the mod.ini has an "(ini)" in its title to tell the user that not all functions are available for this mod.
The mod.json file contains everything Knossos needs to know about the mod and is created during installation of any mod/TC/engine/etc.. The idea was that if you delete a mod folder, that mod would just be gone from the mod list without any errors. You can also copy a mod folder from another computer, archive or installer and Knossos will be able to use that mod (and update it) as long as that mod has a mod.json file.

One of the things that are stored in the mod.json file is the type (mod, engine, TC) which in turn allows Knossos to handle it appropriatly (although this part isn't really implemented, yet).
I propose the following:
  • I add a new page in the settings window called "Mod folders" which allows the user to add additional folders which are scanned for mod.json files. However, new mods will always be installed in the FS2 directory.
  • TCs should bundle a mod.json in their installer, if they want to ensure compatibility with Knossos.
  • I extended the FSO launch logic which will allow TCs to live in the FS2 directory without using the retail files.


There might be an interesting discussion to be had here about pushing some of the flags into FSO. e.g. some mods need to have 3dship-select on, others need to have it off, and some don't care. Those sort of settings might best fit into the game_settings.tbl, as in the mod could tune which flags the user can set. Or perhaps Nebula could allow modder to have three settings for flags, on/off/users-choice.  Or finally, and maybe simplest,  Knossos could use the Nebula flag settings as a default which the user could override (and it'd be cool if "reset to defaults" would go back to the mods defaults rather than e.g. nothing enabled - actually I should play with that in the current version and see what happens).
The latter is the way it's currently implemented but I like the idea of the three settings. Though that would mean that I'll have to implement a proper UI for that instead of a simple text box on Nebula.

I'm running Mint 18 ('buntu 16.04) and it has ldconfig installed. Perhaps the command is quoted such that it's trying to run "ldconfig -p" as the full command, rather than a command with 1x arg? Thanks for linking to the code, I'll have to have a look at it (would really like to contribute but work is slaying me at the moment  :sigh:)
I'm sure that ldconfig is called correctly but I think I accidentally cleared the PATH variable which might have caused the bug. I can certainly sympathize with the lack of time (*looks at nearly 2 years of inactivity* :nervous:)

Which makes it very difficult for the launcher to figure out which things are Freespace mods, which are TCs and which are independent games. And even if the launcher manages it, you know that people are going to end up trying to run TCs as mods. Which will always be a complete disaster. Then you also have Diaspora and TBP having their own installers which set up a separate install folder and basically this whole idea sounds like a recipe for disaster.
As long as everything (except for FS2 and normal mods) is installed through Knossos or has a mod.json file, Knossos will be able to tell the difference without problem. Folders which only have a mod.ini file and no mod.json file are treated as normal mods and all other folders are ignored.

Knossos could have a mode where the user could point it at an existing FS2/TBP/Diaspora install and Knossos would then copy or move that install to a managed location so that the required directory structure would be maintained.
Moving the files will probably break things (i.e. desktop shortcuts, other launchers) and copying would waste disk space. Unless a complicated problem prevents it, I'd like to support those folders by generating a mod.json file if possible and then add the folder to a list of additional mod locations. The ideal case would obviously be that TCs bundle a mod.json file with their installer.


Maybe I'm in the minority here, but I'd prefer if Knossos could just forget a lot of the past and just be designed for going forward.  For one, that means no support for the registry.  We assume SDL2+ builds everywhere.
Registry support is already implemented (and has been for a while) but it's only used if the fs2_open.ini is missing AND the registry keys exist. As soon as an SDL2 build is launched the fs2_open.ini is created from the existing registry keys (this is implemented but not yet released).

Mods will have to be updated to work with Knossos to some extent, including total conversions.  I think that being able to tell it where your FS2 install from Steam lives is the most it should need.  Other TCs should be installed via it or not supported.  Since we have full control over the distribution of everything but FS2 I think this is the best way to meet the community's needs for the installer and also keep the logic behind it as simple as possible.
I agree regarding the logic and that the FS2 directory should be the only directory a user has to manually set (maybe I should add some kind of auto detection? Something like "Hey, you apparently installed FS2 with Steam, do you want me to use that?").
Keeping the logic as simple as possible limits the amount of possible errors or edge-cases which in turn makes working on Knossos and maintaining it much easier. That said, the only change neccessary should be to add a mod.json file.
I have an idea regarding TCs: I can build a simple installer using NSIS which would download and install Knossos if it isn't already installed and then use Knossos to install the most recent version of the TC. The TC authors would be able to customize this installer. This provides several benefits: The installer itself will be very small, fully compatible with Knossos and it will always install the newest version of the TC even if a user downloads an old copy of the installer since the installer itself doesn't contain any of the TC files itself.

Users will probably want to be able to specify where mods/games are installed, in general, as well as where FS2 is located.  I would think something like this:

Knossos
Knossos_content
 -bin
  --3.8\
  --nightly_YYYYMMDD\
 -FS2_mods
  --BPC
  --BtA
 -Diaspora
  --Diaspora_mod1
 -TBP
  --Zathras
FS2
 -core vp files
I'm not too sure about the nested folders. I think you can create them with the current version of Knossos by entering something like "test/my_folder" in the folder field on Nebula.

The one thing I'm not certain about is whether FS2 mods could live outside of the FS2 folder and still be used as the engine is coded today.  But I think that being able to have an ecosystem that is completely independent from your Steam/GOG/etc FS2 install could be very beneficial.
I know that it at least used to work. There are two things required for this to work:
  • Being able to modify the root directory FSO uses (easy on Linux, PITA on Windows and I think a recent code change changed this on Mac). Would be nice if this could be controlled through a flag or environment variable.
  • The -mod parameter allows to specify paths not just directory names (this should be the relevant code).
The root directory is usually the current working directory when starting FSO. However, on Windows FSO chdirs to the exe's directory which means that I have to copy the exe files to the new root directory. This mechanism is already neccessary to support the nightlies since Knossos installs them into a subdirectory. The same mechanism could be used to start FSO inside a TC's directory which would force FSO to ignore the retail files.

I'd even go so far as to say that maybe it should just copy the core VP files from the GOG/Steam install into the Knossos_content FS2 folder.  Probably the only way to ensure a stable environment.  We could then notify the user that they can uninstall their Steam/GOG copy if they prefer to let Knossos manage the install from there on out.
If the user gives Knossos a GOG installer, Knossos extracts it with InnoExtract and then moves the *.vp, *.hcf and *.mve files to the selected destination folder and deletes the rest. It would make sense to apply a similar logic to the Steam install (but copying the files instead of moving, obviously).

Knossos itself could live in a typical Program Files location or whatever, or just be installed via a package manager, etc.  But then you pick your drive/location for the actual content to live.
This is how it works right now and I want to keep it like that (unless someone offers a valid reason to change it). The only exception would be the portable mode which I want to implement later (not sure when, probably once Knossos is stable).

If you wipe your main drive but had the content on another drive, perhaps a reinstall of Knossos pointed at that folder would even be able to pick up where it left off.  At least if you saved your Knossos config written to APPDATA (which all Knossos config data should be written, if not that knossos_content folder, right?).
Knossos only saves settings and the list of available mods to APPDATA, information about installed mods is contained in the mod's mod.json. Which means that in your case you'd still lose your settings (including flags, etc.) but could still play and update the already installed mods.

 

Offline m!m

  • 211
Re: PUBLIC BETA: Knossos 0.4.1 (launcher / mod installer)
  • Being able to modify the root directory FSO uses (easy on Linux, PITA on Windows and I think a recent code change changed this on Mac). Would be nice if this could be controlled through a flag or environment variable.
That's not true anymore. All FSO builds now use the working directory as the default directory where they search for the root VPs.

That code could easily adapted to check if a path is absolute and if yes then the root directory isn't used. That should allow to specify full paths for -mod parameters.

EDIT: Actually, no, it's not that easy. FSO allows to use per-user directories for each mod which are also used to write mod-specific data. When you use an absolute path then it isn't possible to determine the relative name of the directory for the user directory which would probably break a lot of stuff. How about a flag that just tells FSO to ignore the working directory for data files and only use the mod directories? That would allow Knossos to set the working directory to some root directory and then construct relative paths from there.
« Last Edit: February 16, 2017, 12:36:47 pm by m!m »

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Minecraft
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Re: PUBLIC BETA: Knossos 0.4.1 (launcher / mod installer)
If we copy the Steam or GOG or whatever VPs into the Knossos_content/FS2 folder, with all the mods living alongside it there, I don't think this is an issue anymore.  Unless the issue is that the binary isn't in the same root folder as the root VP files.
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 General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: PUBLIC BETA: Knossos 0.4.1 (launcher / mod installer)
Installing now. Everything from Windows Smartscreen to Avast started yelling about DANGER! That's a hurdle we need to overcome if this is gonna go more general.

e: ugh Avast is making me wait before I can actually run it.
« Last Edit: February 16, 2017, 01:50:06 pm by General Battuta »