GithubHelp home page GithubHelp logo

ksp-ckan / netkan Goto Github PK

View Code? Open in Web Editor NEW
69.0 20.0 336.0 15.7 MB

Metadata files used by the NetKAN/CKAN indexer for KSP

License: Creative Commons Zero v1.0 Universal

YAML 100.00%
ckan ksp metadata

netkan's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

netkan's Issues

Toadicus' Mods

AntennaRange has an error in NetKAN: the license should be BSD-3-Clause.

TweakableEverything looks correct.

Add VOID:

{
    "spec_version" : 1,
    "identifier"   : "VOID",
    "license"      : "BSD-3-Clause",
    "$kref"        : "#/ckan/kerbalstuff/253"
}

Add QuantumStrutsContinued:

{
    "spec_version" : 1,
    "identifier"   : "QuantumStrutsContinued",
    "license"      : "BSD-2-Clause",
    "$kref"        : "#/ckan/kerbalstuff/168"
}

Thanks!

KSPIRC

{
"spec_version" : 1,
"identifier" : "KSPIRC",
"$kref" : "#/ckan/github/timmersuk/ksp_irc",
"name" : "KSP IRC",
"abstract" : "A plugin which adds Internet Relay Chat (IRC) to the game",
"license" : "GPL-3.0",
"ksp_version" : "0.90.0"
}

Source Code / Releases

Crowd Sourced Science doesn't do binaries, just source code, because it only uses Github for easy moderation of submissions

Will this cause an issue?

0P Inline Fairings

{
"spec_version" : 1,
"identifier" : "0PinlineFairings",
"$kref" : "#/ckan/kerbalstuff/196",
"$vref" : "#/ckan/ksp-avc",
"license" : "CC-BY-NC-SA"
}

KerbalAlarmClock install location

It has been pointed out on the forum that KAC is installed in the wrong folder: it should be in GameData/TriggerAU/KerbalAlarmClock, while presently it is in GameData/KerbalAlarmClock.

However the KerbalStuff release is just a copy of the zip posted to github, and thus has the same format:

KerbalAlarmClock.x.x.x.x/GameData/KerbalAlarmClock

Unfortunately to solve this we are going to need either the find keyword (KSP-CKAN/CKAN#376), or a way to install to a subdirectory of GameData (KSP-CKAN/CKAN#315).

ContractConfigurator-0.3.0 not picked up by CKAN-meta

I suspect that there may be an issue with my .netkan file, but I don't know of an easy way for me to investigate. I released ContractConfigurator-0.3.0 about 12 hours ago via GitHub, but it hasn't shown up in the CKAN-meta repository. Is there a problem with my .netkan file, or has the bot just not picked up the release yet?

KDEX.netkan

CKAN is awesome, please include my little mod in your index

{
    "spec_version" : 1,
    "identifier"   : "KDEX",
    "$kref"        : "#/ckan/kerbalstuff/337",  
    "install": [
        {
            "file"       : "GameData/masTerTorch",
            "install_to" : "GameData"
        }
    ]
}

MainClass.KerbalStuff fails when data does not contain ksp_version

KerbalAlarmClock and KSPAlternateResourcePanel have no ksp_version configured on kerbalstuff. With following netkan file I get exceptions from netkan, no matter whether I put "ksp_version" in the file or not:

{
    "spec_version"   : 1,
    "identifier"     : "KerbalAlarmClock",
    "$kref"          : "#/ckan/kerbalstuff/231",
    "ksp_version"    : "0.25",
    "license"        : "MIT"
}
D:\work\ksp\NetKAN-hakan42>netkan.exe --debug NetKAN\KerbalAlarmClock.netkan
...
187 [1] INFO CKAN.NetKAN.MainClass (null) - Processing NetKAN\KerbalAlarmClock.netkan
265 [1] DEBUG CKAN.NetKAN.KSAPI (null) - Calling https://kerbalstuff.com/api/mod/231

Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> CKAN.BadKSPVersionException: Exception of type 'CKAN.BadKSPVersionException' was thrown.
   at CKAN.KSPVersion.Validate()
   --- End of inner exception stack trace ---
   ...   at CKAN.NetKAN.MainClass.KerbalStuff(JObject orig_metadata, String remote_id, NetFileCache cache)
   at CKAN.NetKAN.MainClass.Main(String[] args)

RCSLandAid

{
"spec_version" : 1,
"identifier" : "RCSLandAid",
"$kref" : "#/ckan/kerbalstuff/412",
"x_netkan_license_ok": true
}

CKAN Spec Addition

After having spent a lot of time going through the incompatible mod lists looking for mods that should be updated since they have a .90 release, I have noticed that a lot of mods do not have a homepage, however, I would be willing to be that virtually all mods have a KSP Forum page.

To help improve the meta files, I propose adding a "forum" resource to the same node that has the homepage resource, specifically so mods can have a dedicated link back to their forum posting, and also a link to a homepage, if the mod author wishes to host a homepage somewhere other than the KSP forums.

RealismOverhaul dependencies

This is the current metadata for RealismOverhaul.

@NathanKell, @Felger: Right now everything in depends must be installed, and if the user wishes to un-install any of them we must uninstall RealismOverhaul, as it's considered to be irreparably broken without its dependencies. You simply cannot install RO without EngineIgnitor or TACLS.

What should it contain?

Note:

  • Depends: Must be installed. Hard requirement.
  • Recommends: Installed by default, but user can opt-out.
  • Suggests: Not installed by default, but user can opt-in.

The full CKAN spec is here if you need it.

Enhanced NavBall

{
"spec_version" : 1,
"identifier" : "EnhancedNavBall",
"$kref" : "#/ckan/kerbalstuff/411",
"x_netkan_license_ok": true
}

Active Texture Management

ATM is going to give us some issues. Assuming we get permission from @rbray89, ATM has 4 downloads per release (basic / aggressive, 32 / 64 bit).

How can this be accounted for?

Kerbal Weather Systems

{
"spec_version" : 1,
"identifier" : "KerbalWeatherSystems",
"$kref" : "#/ckan/kerbalstuff/262",
"license" : "restricted"
}

I cannot make a PR at this moment, however SilverFox has granted me permission on IRC.

Splitting ProceduralFairings

KOSMOS URM apparently depends on the plugin of procedural fairings, and only the plugin.

I suggest we split Procedural Fairings in two packages, ProceduralFairings-core and ProceduralFairings so that other mods can depend on the plugin (exactly like we did with FireSpitter).

Modularize B9

So now that CKAN supports installing into arbitrary subfolders of GameData, I thinks we should be able to go ahead with splitting some mods into multiple parts. One obvious option is to separate the heavy structural parts (HX parts) from the B9 package. I'd like to start a discussion here about the best way to do this. My idea is to create two packages - B9-Core (all the parts except HX) and B9-HX (only the HX parts, depends on B9-Core). Then the main B9 package can simply depend on those two and not provide any content by itself. Not sure if this is the best way to do it though.

Also, I have one perhaps silly idea, and that is to provide a package that installs only the B9 airbrakes and nothing else. B9 seems to be the only mod providing airbrakes (as far as I know) and they are very useful for folks using FAR, because they make spaceplane reentry quite a lot easier. So this could potentially be useful for folks that don't want for whatever reason install the whole B9 package (part clutter, memory constraints, don't like the aesthetics, etc...).

So, anyone have opinions/ideas about this?

netkan should validate the Json file in input

If there is some minor defect in the .netkan file (such as a comma before the end of a section), netkan is still able to parse the file and validate it, but then the Travis build will fail when jsonlint is used.

It would be nice to have netkan also validate the json file before accepting it.

B9 Aerospace

Assuming we get permission, B9 has a long list of bundled mods:

  • CrossFeedEnabler
  • Firespitter (core)
  • RasterPropMonitor
  • KineTechAnimation
  • KlockheedMartian gimbal
  • ResGen
  • SmokeScreen
  • Virgin Kalactic's "Generic" plugin

Update: on the forum thread it's stated that FAR/NEAR are considered requirements:

  • FAR
  • NEAR

Additionally it also provides a custom config for Hot Rockets, which maybe isn't worth a package on its own.

Failing NetKAN mods

The following netkan files are failing:

  • CrowdSourcedScience (netkan can't process source releases yet)
  • EntchenFlag (Mod doesn't even exist on KerbalStuff; did you hit publish at all?)

Attentioning @DuoDex and @hakan42 on this, the former because if we can get an asset attached to the release on github then we can at least index that for now, and the latter because there's a reason we review pull-requests, especial when they're for an author's own mod. :P

~ Paul

KeepFit

{
"spec_version" : 1,
"identifier" : "KeepFit",
"$kref" : "#/ckan/kerbalstuff/295",
"x_netkan_license_ok": true,
"$vref" : "#/ckan/ksp-avc",
"depends": [
{ "name" : "ModuleManager", "min_version" : "2.5.1" }
]
}

One level too much indirection

Hi!
I just now realized that there is one level too much when my mods are installed via CKAN.

Example:
GameData
. CIT
.. ActiveStruts <- too much
... ActiveStruts
.... [ModContent]

For the CIT-Utils the structure should be:
GameData
. CIT
.. [ModContent]
as well.

This is true for all my CIT packages and breaks the mods which expect a certain path. I don't have access to my dev machine until the weekend so it would be really great if someone could fix the files.
Very sorry for the inconvenience!

AmbientLightAdjustment

{
"spec_version" : 1,
"identifier" : "AmbientLightAdjustment",
"$kref" : "#/ckan/github/timmersuk/ksp_ambient_light",
"name" : "KSP Ambient Light Adjustment",
"abstract" : "A plugin for which adds the ability to change ambient lighting",
"license" : "GPL-3.0",
"ksp_version" : "0.90.0"
}

netkan.exe doesn't work on 64b windows OS

I tried the last version on netkan and from command line, it complains this version is not compatible with currently running windows version (??).

system: win 7 64b

steps:
run cmd.exe
go to netkan.exe folder
run netkan.exe (without arguments)

The netkan bot won't pick up multple releases if they are released too close to each other

The bot refreshes the index about once an hour. However, it seems to assume that only one release has appeared since the last update.

Case study: we missed a FAR release. If you look at the changelog on kerbalstuff, there is a v0.14.4.1 release that hasn't been indexed by the bot. This is because ferram4 has released v0.14.4.1 and v0.14.5 within minutes of each other and the bot only picked up the latest one, ignoring the other one.

Poking @pjf and @AlexanderDzhoganov : we might want to improve the bot's detection of new releases.

All TriggerTech ckans include his flags, causing conflicts

Now (spec v1.2) that we can install in subdirectories of GameData, I noticed that KerbalAlarmClock, AlternateResourcePanel, TransferWindowPlanner (and more?) all include his Flags.

  • The netkans should be amended to exclude the Flags,
  • a seperate netkan that provides only the flags should be created
  • the created flag should be referenced from the previous ckans

FASA and BadKSPVersionException

I was trying to write the file for FASA:

{
    "spec_version" : 1,
    "identifier"   : "FASA",
    "$kref"        : "#/ckan/kerbalstuff/27",

    "depends": [
        { "name": "RasterPropMonitor" }
    ]
}

But trying to validate it with netkan throws the above exception. It appears that the version is not correct, but the one provided on kerbalstuff seems fine.

Please do not merge this file until we have frizzank's approval.

UniversalStorage >= 1.0.90.1 conflicts with other UniveralStorage mods

This issue is about the following mods:

  • UniversalStorage-ECLSS.netkan
  • UniversalStorage-IFI.netkan
  • UniversalStorage-KAS.netkan
  • UniversalStorage-SNACKS.netkan
  • UniversalStorage-TAC.netkan
  • UniversalStorage.netkan

The newest release of UniversalStorage (1.0.90.1) combines all of its submods into one package that detects the presence of other mods and enables the specific submods if required.

Trying to install UniversalStorage >= 1.0.90.1 alongside with any other UniversalStorage mods causes a conflict on installation (overwriting files of another mod).

For more information and in case you need feedback from the author, please refer to this thread: http://forum.kerbalspaceprogram.com/threads/75129-Universal-Storage-1-0-90-0-%28For-KSP-0-90%29-2nd-January-2015?p=1644627&viewfull=1#post1644627

0P Inline Fairings LITE

{
"spec_version" : 1,
"identifier" : "0PinlineFairingsLite",
"$kref" : "#/ckan/kerbalstuff/228",
"$vref" : "#/ckan/ksp-avc",
"license" : "CC-BY-NC-SA"
}

Kerbal Aircraft Expansion (KAX)

{
"spec_version" : 1,
"identifier" : "KerbalAircraftExpansion",
"$kref" : "#/ckan/kerbalstuff/391",
"license" : "GPL-3.0",
"x_netkan_license_ok": true,
"install" : [
{
"file" : "KAX",
"install_to" : "GameData"
}
],
"depends": [
{
"name" : "FirespitterCore"
}
],
}

Modular Rocket Systems

{
"spec_version": 1,
"identifier": "ModRocketSys",
"license": "CC-BY-NC-SA",
"resources": {
"homepage": "http://forum.kerbalspaceprogram.com/threads/93067",
"kerbalstuff": "https://kerbalstuff.com/mod/148/Modular%20Rocket%20Systems%20-%20Parts%20Pack"
},
"name": "Modular Rocket Systems - Parts Pack",
"abstract": "Stock-alike parts that fill in gaps in the stock selection, and offer additional NASA-like cosmetic options. ",
"author": "NecroBones",
"version": "1.3.2",
"download": "https://kerbalstuff.com/mod/148/Modular%20Rocket%20Systems%20-%20Parts%20Pack/download/1.3.2",
"x_generated_by": "netkan",
"$vref": "#/ckan/ksp-avc"
}

add KAS mod

Is there any blocking condition preventing to have KAS here ?
Some mod depends on it, I see one having a depends on 'KAS' which isn't there, I guess such mod is uninstallable for now.

Kerbal Alarm Clock

You might consider correcting the Kerbal Alarm Clock NetKAN entry to install under /TriggerTech/Kerbal\ Alarm\ Clock rather than /Kerbal\ Alarm\ Clock...

Chatterer

{
"spec_version" : 1,
"identifier" : "Chatterer",
"$kref" : "#/ckan/kerbalstuff/124",
"license" : "GPL-3.0",
"x_netkan_license_ok": true

}

ArgumentOutOfRangeException while parsing github information

netkan file:

{
    "spec_version"   : 1,
    "name"           : "Extraplanetary Launchpads",
    "abstract"       : "Adds the ability to build crafts in flight mode to your game.",
    "identifier"     : "ExtraPlanetaryLaunchpads",
    "$kref"          : "#/ckan/github/taniwha-qf/Extraplanetary-Launchpads",
    "license"        : "LGPL-3.0",
    "release_status" : "stable",
    "ksp_version"    : "0.25",
    "resources"      : {
        "homepage" : "http://forum.kerbalspaceprogram.com/threads/59545"
    },
    "depends"        : [
        {"name" : "ModuleManager"},
    {"name" : "Toolbar"}
    ],
    "recommends"     : [
        {"name" : "KerbalStats"},
    {"name" : "KerbalAttachementSystem"},
    {"name" : "InfernalRobotics"},
    {"name" : "Kethane"}
    ],
    "install"        : [
        {
            "file"       : "ExtraplanetaryLaunchpads",
            "install_to" : "GameData",
        "filter"     : "Ships"
        },
        {
            "file"       : "ExtraplanetaryLaunchpads/Ships",
            "install_to" : "Ships"
        }
    ]
}

command output:

mono ../netkan.exe ../NetKAN/NetKAN/Extraplanetary-Launchpads.netkan 

Unhandled Exception:
System.ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
  at System.Collections.Generic.List`1[Newtonsoft.Json.Linq.JToken].get_Item (Int32 index) [0x00000] in <filename unknown>:0 
  at Newtonsoft.Json.Linq.JContainer.GetItem (Int32 index) [0x00000] in <filename unknown>:0 
  at Newtonsoft.Json.Linq.JArray.get_Item (Int32 index) [0x00000] in <filename unknown>:0 
  at CKAN.NetKAN.GithubAPI.GetLatestRelease (System.String repository) [0x00000] in <filename unknown>:0 
  at CKAN.NetKAN.MainClass.GitHub (Newtonsoft.Json.Linq.JObject orig_metadata, System.String repo, CKAN.Cache cache) [0x00000] in <filename unknown>:0 
  at CKAN.NetKAN.MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
  at System.Collections.Generic.List`1[Newtonsoft.Json.Linq.JToken].get_Item (Int32 index) [0x00000] in <filename unknown>:0 
  at Newtonsoft.Json.Linq.JContainer.GetItem (Int32 index) [0x00000] in <filename unknown>:0 
  at Newtonsoft.Json.Linq.JArray.get_Item (Int32 index) [0x00000] in <filename unknown>:0 
  at CKAN.NetKAN.GithubAPI.GetLatestRelease (System.String repository) [0x00000] in <filename unknown>:0 
  at CKAN.NetKAN.MainClass.GitHub (Newtonsoft.Json.Linq.JObject orig_metadata, System.String repo, CKAN.Cache cache) [0x00000] in <filename unknown>:0 
  at CKAN.NetKAN.MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0 

NovaPunch config file

{
"spec_version": 1,
"identifier": "NovaPunch",
"x_netkan_license_ok": true,
"install": [
{
"file": "GameData/NovaPunch2",
"install_to": "GameData"
}
],
"resources": {
"homepage": "http://forum.kerbalspaceprogram.com/threads/3870",
"kerbalstuff": "https://kerbalstuff.com/mod/26/NovaPunch"
},
"ksp_version": "0.90",
"name": "NovaPunch",
"license": "CC-BY-SA 3.0",
"abstract": "Novapunch is a pack of realistically-styled rocket parts from 1 to 5 meters in diameter. It includes engines, fuel tanks, many adapters and utility parts as well as new crew capsules and spacecraft.",
"author": "Tiberion",
"version": "2.08",
"download": "https://kerbalstuff.com/mod/26/NovaPunch/download/2.08",
"x_generated_by": "netkan",
"download_size": 87397323
}

System.NullReferenceException: Object reference nnot set to an instance of an object.

I'm not sure if I'm doing something wrong, or if there is a bug. This is the .netkan file I am trying to use (named Guard13007EmpireAgency.netkan):

{
  "spec_version" : 1,
  "identifier"   : "Guard13007EmpireAgency",
  "$kref"        : "#/ckan/kerbalstuff/68",
  "$vref"        : "#/ckan/ksp-avc",
  "install" : [
    {
      "file"       : "GameData/Guard13007",
      "install_to" : "GameData"
    }
  ]
}

And when running netkan.exe Guard13007EmpireAgency.netkan I get the following:

Unhandled Exception: System.NullReferenceException: Object reference nnot set to an instance of an object.
    at CKAN.NetKAN.MainClass.InflateMetadata(JObject metadata, String unused_filename, Object unused_context)
    at CKAN.NetKAN.MainClass.Main(String[] args)

Am I doing something wrong or what's going on exactly?

Impossible Innovations bad install section

Seems like ImpossibleInnovations has an extra space in the directory name in the install section which prevents it from being installed correctly.

By that I mean that the mod's archive contains a folder "Impossible Innovations" and not "ImpossibleInnovations"

SpaceY Heavy Lifters

{
"spec_version": 1,
"identifier": "SpaceY-Lifters",
"license": "CC-BY-NC-SA",
"resources": {
"homepage": "http://forum.kerbalspaceprogram.com/threads/100408",
"kerbalstuff": "https://kerbalstuff.com/mod/352/SpaceY%20Heavy%20Lifters%20Parts%20Pack"
},
"name": "SpaceY Heavy Lifters Parts Pack",
"abstract": "Stock-alike parts for large lifting rockets, 5m rocket parts and large SRBs, and matching decouplers, docking ports, structural, and utilities. ",
"author": "NecroBones",
"version": "0.3",
"download": "https://kerbalstuff.com/mod/352/SpaceY%20Heavy%20Lifters%20Parts%20Pack/download/0.3",
"x_generated_by": "netkan",
"$vref": "#/ckan/ksp-avc"
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.