politas

CKAN (The Comprehensive Kerbal Archive Network); v1.26.6 - Leonov

Recommended Posts

Unhandled exception:
Newtonsoft.Json.JsonSerializationException: Unexpected end when deserializing object. Path 'available_modules.CryoEngines-LFO.module_version['1:0.4.1'].ksp_version', line 126563, position 16186493.
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ThrowUnexpectedEndException(JsonReader reader, JsonContract contract, Object currentObject, String message)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateDictionary(IDictionary dictionary, JsonReader reader, JsonDictionaryContract contract, JsonProperty containerProperty, String id)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateDictionary(IDictionary dictionary, JsonReader reader, JsonDictionaryContract contract, JsonProperty containerProperty, String id)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
   bei Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   bei Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
   bei Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
   bei CKAN.RegistryManager.Load()
   bei CKAN.RegistryManager.LoadOrCreate()
   bei CKAN.RegistryManager..ctor(String path, KSP ksp)
   bei CKAN.RegistryManager.Instance(KSP ksp)
   bei CKAN.Main..ctor(String[] cmdlineArgs, KSPManager mgr, GUIUser user, Boolean showConsole)
   bei CKAN.GUI.Main_(String[] args, KSPManager manager, Boolean showConsole)
   bei CKAN.CmdLine.MainClass.RunSimpleAction(Options cmdline, CommonOptions options, String[] args, IUser user, KSPManager manager)
   bei CKAN.CmdLine.MainClass.Execute(KSPManager manager, CommonOptions opts, String[] args)
   bei CKAN.CmdLine.MainClass.Main(String[] args)

 

Thats the Error log I get, if i start Ckan Up, Any tips?

I have now removed any other mod except graphical ones

Its still not starting

 

Share this post


Link to post
Share on other sites
2 hours ago, JordanLOL said:

Thats the Error log I get, if i start Ckan Up, Any tips?

You have the same problem as @mcmartin091, rename your registry.json file and try again. Note that CKAN will forget which mods you had installed.

 

Share this post


Link to post
Share on other sites
16 minutes ago, JordanLOL said:

Thank you! :D

But... Into what?

Anything other than registry.json. You could delete it, but if you rename it instead then you still have the data in case you need it later.

Share this post


Link to post
Share on other sites

KSP 1.7.3, CKAN 1.26.4, Strategia 1.7.3

  1.  For some reason, Strategia, while already installed and marked as such, always shows as Newly Compatible.  Even if there are other mods listed as New, the next time I open CKAN, they're all gone but Strategia remains.  I don't wish to uninstall it for fear of losing my progress/policies in my career.  I suspect that I caused this somehow but it's not clear how I've done this.
  2. Another issue for me is that CKAN doesn't remember its screen position and size, the size setting between the mod description window and the mod metadata tabs, nor the main window's column display selections.  Are these supposed to be persistent?

Share this post


Link to post
Share on other sites

Hello,

CKAN is distributing Deep Space Surface Habitat Unit 1.8 with patches in the GameData/DSSHU folder as well as patches in GameData/DSSHU/Patches folder. The new release moved the patches from /DSSHU to /DSSHU/Patches and there are no patches in the /DSSHU folder in the zip file uploaded to Spacedock for 1.8. Can you please advise the best way to proceed?

Thank you

Share this post


Link to post
Share on other sites
18 minutes ago, bcink said:

Hello,

CKAN is distributing Deep Space Surface Habitat Unit 1.8 with patches in the GameData/DSSHU folder as well as patches in GameData/DSSHU/Patches folder. The new release moved the patches from /DSSHU to /DSSHU/Patches and there are no patches in the /DSSHU folder in the zip file uploaded to Spacedock for 1.8. Can you please advise the best way to proceed?

Thank you

Ah I see, you moved all the config files from "/DSSHU/Optional Configs" to "/DSSHU/GameData/Patches" in the zip, this results in some of the being installed twice.

This should be an easy fix, hang on.

Share this post


Link to post
Share on other sites

@bcink CKAN now takes the folder "DSSHU" as is and puts it into GameData, without picking out any config files:
https://github.com/KSP-CKAN/CKAN-meta/commit/4b1307eccf2fa9317d6544475dc9144b44b2826d
The new forum thread URL has also been picked up already:
https://github.com/KSP-CKAN/CKAN-meta/commit/1df73bda55b414dc24da99d34392c5916902ae2a

Edited by DasSkelett
Typooooo

Share this post


Link to post
Share on other sites
1 hour ago, DasSkelett said:

@bcink CKAN now takes the folder "DSSHU" as is and puts it into GameData, without picking out any config files:
The new forum thread URL has also been picked up already:

That's fantastic. Thank you!

Share this post


Link to post
Share on other sites

Is there any way to build CKAN that doesn't involve running Cake to get all the dependencies automatically? I am attempting to update the NixOS package from 1.16.1 to 1.26.4, and the build sandbox does not have internet access. Normally Nix packages download their dependencies, hash them, and insert them into the build environment. But there are many dependencies pulled in by Cake, each of which presumably will have it's own updates to track. Is there at least a way to get Cake to dump the list of URLs needed, or something?

Thanks.

Share this post


Link to post
Share on other sites
9 hours ago, lordcirth said:

Is there any way to build CKAN that doesn't involve running Cake to get all the dependencies automatically? I am attempting to update the NixOS package from 1.16.1 to 1.26.4, and the build sandbox does not have internet access. Normally Nix packages download their dependencies, hash them, and insert them into the build environment. But there are many dependencies pulled in by Cake, each of which presumably will have it's own updates to track. Is there at least a way to get Cake to dump the list of URLs needed, or something?

Thanks.

All the dependencies are cached in "_build/cake/", "_build/lib/" and "_build/tools/". If they are already installed, neither NuGet nor Cake should try to download them. Not sure how the Nix packaging works, but maybe you can just include those directories in the package?

Dependencies are only updated with new CKAN releases, so you don't have to worry about in-between dependency (version) changes.

Share this post


Link to post
Share on other sites
19 minutes ago, DasSkelett said:

All the dependencies are cached in "_build/cake/", "_build/lib/" and "_build/tools/". If they are already installed, neither NuGet nor Cake should try to download them. Not sure how the Nix packaging works, but maybe you can just include those directories in the package?

Dependencies are only updated with new CKAN releases, so you don't have to worry about in-between dependency (version) changes.

Basically I need to be able to specify the build inputs as a set of URLs and matching hashes. I can then copy them into _build. The package definition itself can't include the downloads, just the metadata to fetch them. So unless there is a better way, I will have to run the build script, look at everything in _build/lib etc, and figure out the matching urls.

Or I could give up and fetch the binary. Not sure about the rules on that.

For reference, this is the current definition:

https://github.com/NixOS/nixpkgs/blob/69d58ee24506e2b3b5aff347ae3b0791110340ec/pkgs/games/ckan/default.nix

Edited by lordcirth

Share this post


Link to post
Share on other sites
6 hours ago, lordcirth said:

Basically I need to be able to specify the build inputs as a set of URLs and matching hashes. I can then copy them into _build. The package definition itself can't include the downloads, just the metadata to fetch them. So unless there is a better way, I will have to run the build script, look at everything in _build/lib etc, and figure out the matching urls.

Or I could give up and fetch the binary. Not sure about the rules on that.

For reference, this is the current definition:

https://github.com/NixOS/nixpkgs/blob/69d58ee24506e2b3b5aff347ae3b0791110340ec/pkgs/games/ckan/default.nix

Okay, this will be a bit harder. Cake itself doesn't download the runtime dependencies, it tells NuGet to do so.

NuGet downloads .nupkg zips, those are saved in "~/.nuget/packages/"  and "CKAN/_build/lib/nuget".
First folder is the global installation directory, in there are all packages downloaded by NuGet. It's somewhat of a cache :)
Packages referenced with "PackageReference" in .csproj files, can only be found there.
Packages referenced in "packages.config" files are also "copied"  to the second folder. Beware, the folder structure is different: "<package_name>/<package_version>/*" in the first directory and "<package_id>.<package_version>/*" in the second.

For more information, see https://docs.microsoft.com/en-us/nuget/consume-packages/managing-the-global-packages-and-cache-folders

You can get a list of the called URLs when building CKAN with both folders empty. It will look something like this after piping through grep:

GET https://api.nuget.org/v3-flatcontainer/cake/0.34.1/cake.0.34.1.nupkg
GET https://api.nuget.org/v3-flatcontainer/log4net/2.0.8/log4net.2.0.8.nupkg
GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/12.0.2/newtonsoft.json.12.0.2.nupkg
GET https://api.nuget.org/v3-flatcontainer/commandlineparser/1.9.71/commandlineparser.1.9.71.nupkg
GET https://api.nuget.org/v3-flatcontainer/autofac/4.9.2/autofac.4.9.2.nupkg
GET https://api.nuget.org/v3-flatcontainer/ini-parser/3.4.0/ini-parser.3.4.0.nupkg
GET https://api.nuget.org/v3-flatcontainer/icsharpcode.sharpziplib.patched/0.86.5.1/icsharpcode.sharpziplib.patched.0.86.5.1.nupkg
GET https://api.nuget.org/v3-flatcontainer/njsonschema/10.0.19/njsonschema.10.0.19.nupkg
GET https://api.nuget.org/v3-flatcontainer/namotion.reflection/1.0.5/namotion.reflection.1.0.5.nupkg
GET https://api.nuget.org/v3-flatcontainer/awssdk.core/3.3.103/awssdk.core.3.3.103.nupkg
GET https://api.nuget.org/v3-flatcontainer/awssdk.sqs/3.3.100.34/awssdk.sqs.3.3.100.34.nupkg
GET https://api.nuget.org/v3-flatcontainer/chinhdo.transactions.filemanager/index.json
GET https://api.nuget.org/v3-flatcontainer/chinhdo.transactions.filemanager/1.2.0/chinhdo.transactions.filemanager.1.2.0.nupkg
GET https://api.nuget.org/v3-flatcontainer/castle.core/index.json
GET https://api.nuget.org/v3-flatcontainer/moq/index.json
GET https://api.nuget.org/v3-flatcontainer/nunit/index.json
GET https://api.nuget.org/v3-flatcontainer/nunit3testadapter/index.json
GET https://api.nuget.org/v3-flatcontainer/system.runtime.compilerservices.unsafe/index.json
GET https://api.nuget.org/v3-flatcontainer/system.threading.tasks.extensions/index.json
GET https://api.nuget.org/v3-flatcontainer/castle.core/4.4.0/castle.core.4.4.0.nupkg
GET https://api.nuget.org/v3-flatcontainer/system.runtime.compilerservices.unsafe/4.5.2/system.runtime.compilerservices.unsafe.4.5.2.nupkg
GET https://api.nuget.org/v3-flatcontainer/system.threading.tasks.extensions/4.5.2/system.threading.tasks.extensions.4.5.2.nupkg
GET https://api.nuget.org/v3-flatcontainer/nunit3testadapter/3.13.0/nunit3testadapter.3.13.0.nupkg
GET https://api.nuget.org/v3-flatcontainer/nunit/3.12.0/nunit.3.12.0.nupkg
GET https://api.nuget.org/v3-flatcontainer/moq/4.11.0/moq.4.11.0.nupkg

However there are also build dependencies (see "#addin" and "#tool" at the beginning of build.cake), but Cake downloads them in a different process and doesn't output the URLs during build. But they shouldn't be too hard to handcraft.
The files are also cached in "~/.nuget/packages/".

So in the Nix package build process, you should download those .nupkg files, extraxt them to "<package_name>/<package_version>/*", copy the .nupkg zip again in the extracted folder (so "<package_name>/<package_version>/<name>.<version>.nupkg" ), and bundle them all together in the package.
It will take some string manipulation to get the package name and version from the zip filename.

During installation of the package / before building CKAN, either put those files in "~/.nuget/packages/", or set the env var $NUGET_PACKAGES to a folder you want (see the link above).

NuGet then will do everything automatically and install each nupkg where it belongs when running "./build".

Share this post


Link to post
Share on other sites

CANCELED POST or tried to

 

Edited by Wragie
USer error lol

Share this post


Link to post
Share on other sites

The CKAN client v1.26.6 "Leonov" is released!

68747470733a2f2f75706c6f61642e77696b696d


Changes since 1.26.4

Features

  • [GUI] Default to consoleui on MacOSX Catalina (#2911 by: HebaruSan; reviewed: pfFredd, DasSkelett)
  • [GUI] Add language selection option to settings (#2925 by: DasSkelett; reviewed: HebaruSan)

Bugfixes

  • [Build] Use Debian machine-readable copyright format (#2853 by: bfrobin446; reviewed: HebaruSan)
  • [GUI] Don't invalidate invisible rows (#2854 by: HebaruSan; reviewed: DasSkelett)
  • [Multiple] Speed up autoremove search (#2855 by: HebaruSan; reviewed: DasSkelett)
  • [Core] Find portable installs when enforcing cache limits (#2856 by: HebaruSan; reviewed: DasSkelett)
  • [Build] Add libcurl dependency to RPM (#2858 by: HebaruSan; reviewed: DasSkelett)
  • [GUI] Allow totally incompatible modules in changeset (#2869 by: HebaruSan; reviewed: DasSkelett)
  • [GUI] Remove base64 encoded CKAN icon from resources (#2872 by: DasSkelett; reviewed: HebaruSan)
  • [Multiple] Fail on http status codes >=300 for cURL downloads (#2879 by: DasSkelett; reviewed: HebaruSan)
  • [Multiple] Normalize install paths (#2887 by: HebaruSan; reviewed: DasSkelett)
  • [Multiple] Fixes for KSP in Windows drive root (#2857 by: HebaruSan; reviewed: DasSkelett)
  • [GUI] Use current metadata for installed module compatibility (#2886 by: HebaruSan; reviewed: DasSkelett)
  • [Core] Notify when falling back to archive.org URL (#2892 by: HebaruSan; reviewed: DasSkelett)
  • [Multiple] Only run Mono in 32bit mode when the GUI is launched (#2893 by: DaskSkelett; reviewed: HebaruSan)
  • [Build] Force logical name for generated resources (#2899 by: DasSkelett; reviewed: HebaruSan)
  • [GUI] Show target version for upgrades in change set (#2888 by: HebaruSan; reviewed: DasSkelett)
  • [Netkan] Merge resources and include metanetkan (#2913 by: HebaruSan; reviewed: DasSkelett)
  • [GUI] Force redraw of recommendation listview headers on Mono (#2920 by: HebaruSan; reviewed: DasSkelett)
  • [Core] Restructure Net.Download and Net.DownloadText (#2904 by: DasSkelett; reviewed: HebaruSan)
  • [Netkan] Eliminate duplicate network calls in Netkan (#2928 by: HebaruSan; reviewed: DasSkelett, techman83)
  • [ConsoleUI] Disable Upgrade All ConsoleUI menu option when nothing to upgrade (#2927 by: HebaruSan; reviewed: DasSkelett)

Internal

  • [Build] Redeploy Inflator after builds (#2889 by: HebaruSan; reviewed: techman83)
  • [Netkan] Add owners of parent GitHub repos to authors (#2922 by: HebaruSan; reviewed: DasSkelett)
  • [Build] Update dependencies (#2921 by: DasSkelett; reviewed: HebaruSan, politas)

Comments

  • Welcome to new contributor bfrobin446 who helped bring our copyright data into line with other software repositories. We are always happy to see new contributors submitting code, and don't feel like you have to do it all by yourself. We're a very helpful team.
  • If you're wondering why MacOS now defaults to the consoleui, it's because Apple have dropped support for 32-bit graphics, and our graphical ui uses the Winforms toolset which has not been ported to 64-bit, and likely never will. Discussions for a new UI using a more modern toolset are ongoing.
  • The CKAN Discord has been very popular, and is certainly proving very useful for the Dev team. Feel free to hit us up there for questions, though the primary locations for Bug Reports and Metadata Issues remains GitHub.
  • My Twitch streaming has been a bit off the air since moving my home office around. My microphone seems to have stopped working, and I need to sort it out, but I'll be back on sometime, playing KSP (usually fairly badly!). If anyone has questions about the CKAN client and how to make the best use of it, feel free to jump on my stream and ask, and I can demonstrate live!
  • I am as always humbled and inordinately grateful for the excellent team we have working on the CKAN. @HebaruSan, @DasSkelett, @Olympic1, and the incomparable master of infrastructure @techman83 continue their fabulous work!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.