Jump to content

Docking Ports and 20.0+


Recommended Posts

Short story: my docking ports no longer work.

Do I need to use the latest version of the part tools (20.0) to get the docking nodes to work in KSP 20.0+?

I am still bug hunting but everything looks okay to me based on what I've read on the forums (assuming that data is not out of date as of the recent patches):

-An empty named "DockingNode" in Unity with the blue Axis pointing away from the ship (or towards the incoming ship)

-Module configured in CFG:


node_stack_bottom = 0.0, -2.5, 0.0, 0.0, 1.0, 0.0

*snip*

MODULE
{
name = ModuleDockingNode
referenceAttachNode = bottom
nodeType = size1
}

Is there anything else I should look for or any other new details as of the recent patches?

Link to comment
Share on other sites

Do you have "PART { }" Wrapped around your cfg?

Example:

PART {

cfgstuff

}

I do.

Recent bug hunting and tweaking resulted in failure and here are things I've tried:

-renamed the nodes to "top"

-installed part tools version 20 and exported the parts in question

-reinstalled KSP 20.2 and the parts in question

I am trying to create a combination part that's one half command module and one half docking port to allow for pain free assemblies in space. Maybe I don't have the modules and CFG hierarchy set right. However, this was working just fine circa KSP 0.19 so unless something changed that dramatically in 20.2 I am at a loss.

More details:

Part 1 Unity hierarchy and node location/placement

cmu_node_zpse26434e2.jpg

Part 2 Unity hierarchy and node location/placement (these two parts are meant to meet up and dock in space)

hab_node_zps5ee7735a.jpg

Part 1 CFG (complete)


PART
{
// Kerbal Space Program - Part Config
// CORE_FL-CMU-01
//

// --- general parameters ---
name = CORE_FL-CMU-01
module = CommandPod
author = Absolution

// --- asset parameters ---
mesh = model.mu
scale = 1

// --- node definitions ---
// definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z, SIZE
node_stack_top = 0.0, -2.5, 0.0, 0.0, 1.0, 0.0

// --- FX definitions ---

fx_gasBurst_white = -2.5, 0.0, 0.0, 0.0, 1.0, 0.0, activate
sound_vent_large = activate


// --- editor parameters ---
cost = 1200
category = Pods
subcategory = 0
title = FL-CMU-01
manufacturer = C.O.R.E. Concept Rocket Engineering
description = description.

// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
attachRules = 1,1,1,1,1

mass = 7.6
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.15
angularDrag = 1.5
crashTolerance = 30
breakingForce = 15000
breakingTorque = 15000
maxTemp = 3100

vesselType = Ship
CrewCapacity = 3

MODULE
{
name = ModuleCommand
minimumCrew = 0
}

RESOURCE
{
name = ElectricCharge
amount = 50
maxAmount = 50
}

RESOURCE
{
name = MonoPropellant
amount = 100
maxAmount = 100
}

MODULE
{
name = ModuleDockingNode
referenceAttachNode = top
nodeType = size1
}

MODULE
{
name = ModuleRCS
thrusterTransformName = RCSthruster
thrusterPower = 1
resourceName = MonoPropellant
atmosphereCurve
{
key = 0 260
key = 1 100
}
}
}

Part 2 CFG (complete)


PART
{
// Kerbal Space Program - Part Config
// CORE_FL-HAB-01
//

// --- general parameters ---
name = CORE_FL-HAB-01
module = Part
author = Absolution

// --- asset parameters ---
mesh = model.mu
scale = 1

// --- node definitions ---
// definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z
node_stack_top = 0.0, 2.5, 0.0, 0.0, 1.0, 0.0
node_stack_bottom = 0.0, -2.5, 0.0, 0.0, 1.0, 0.0

// --- FX definitions ---
fx_gasBurst_white = 0.0, 2.0, 0.0, 0.0, 1.0, 0.0, activate
sound_vent_large = activate

// --- editor parameters ---
cost = 1200
category = Utility
subcategory = 0
title = FL-HAB-01
manufacturer = C.O.R.E. Concept Rocket Engineering
description = description.

// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
attachRules = 1,0,1,1,1

// --- standard part parameters ---
mass = 7.6
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.2
angularDrag = 2
crashTolerance = 160
breakingForce = 15000
breakingTorque = 15000
maxTemp = 3400
fuelCrossFeed = True

CrewCapacity = 4

RESOURCE
{
name = ElectricCharge
amount = 200
maxAmount = 200
}

RESOURCE
{
name = MonoPropellant
amount = 100
maxAmount = 100
}

MODULE
{
name = ModuleDockingNode
referenceAttachNode = top
nodeType = size1
}

MODULE
{
name = ModuleDockingNode
referenceAttachNode = bottom
nodeType = size1
}

MODULE
{
name = ModuleRCS
thrusterTransformName = RCSthruster
thrusterPower = 1
resourceName = MonoPropellant
atmosphereCurve
{
key = 0 260
key = 1 100
}
}
}

Any and all help is, borderline, desperately wanted. I've sunk about 50 hours into this project and unless I can get this to work I fear all that time was utterly wasted. I suppose I can try separating the docking ports and the craft and attach them in the VAB but one of the main goals of the project is to reduce the wobbliness of large space constructions and reducing the number of joints is critical to that. The problem with that is there is no guarantee that I can get the docking ports to work that way either.

Link to comment
Share on other sites

I dont think it has to be seperate parts. I can think of a few mods just off-hand that use intergrated docking ports of some fasion.

http://forum.kerbalspaceprogram.com/showthread.php/28273-0-20-2-M-M-M-(Modular-Magnetic-Module)-0-3-1

Contact either the creator of this thread or germalto.....this uses built-in ports, maybe they know a trick or two.

Wish I could be of more assistance.

Link to comment
Share on other sites

Your Problem is "referenceAttachNode = bottom". This needs to be the name of your empty in unity, in this case: "referenceAttachNode = DockingNode"


MODULE
{
name = ModuleDockingNode
referenceAttachNode = DockingNode
nodeType = size1
}

Edit: You do not have to have "referenceAttachNode" at all. Rename your empty/gameobject to "dockingNode" and the game will automatically pick it up. At least it does for my animated docking port.. In my cfg all I have is:


MODULE
{
name = ModuleDockingNode
deployAnimationController = 1
nodeType = size1
}

Edited by Yarbrough08
Additional information
Link to comment
Share on other sites

Your Problem is "referenceAttachNode = bottom". This needs to be the name of your empty in unity, in this case: "referenceAttachNode = DockingNode"


MODULE
{
name = ModuleDockingNode
referenceAttachNode = DockingNode
nodeType = size1
}

Edit: You do not have to have "referenceAttachNode" at all. Rename your empty/gameobject to "dockingNode" and the game will automatically pick it up. At least it does for my animated docking port.. In my cfg all I have is:


MODULE
{
name = ModuleDockingNode
deployAnimationController = 1
nodeType = size1
}

That first suggestion didn't seem to work and I will try your revised suggestion to see if that does it.

Someone suggested there can only be one dockingnode per part and one of mine had two so I took out the second one and that did not work either. I am wondering if it IS working but something went wrong with the coordinates and the nodes are not loading in the locations I want them to. Therefor when I try to dock I never get the nodes close enough to "magnetize". I don't know how to test for that though.

Is my DockingNode located correctly in the part hierarchy?

Link to comment
Share on other sites

  • 2 weeks later...

You've got the empty gameobject set up where you want the docking node to be. You just need to add:

nodeTransformName = DockingNode

in the

MODULE
{
name = ModuleDockingNode
deployAnimationController = 1
nodeType = size1
}

and DockingNode is the name of the gameobject you defined as the location of your docking node. Therefore, you also need to give different names to the gameobjects "DockingNode".

Note that the Z axis should point to the direction you want you docking node to be orientated to :)

Link to comment
Share on other sites

Okay if I understand correctly there are two things I need to fix. One is that I need unique names for each docking node. Check.

The other is that my code needs to read like the following; yes?

MODULE
{
name = ModuleDockingNode
deployAnimationController = 1
nodeType = size1
nodeTransformName = DockingNode
}

Link to comment
Share on other sites

Okay if I understand correctly there are two things I need to fix. One is that I need unique names for each docking node. Check.

The other is that my code needs to read like the following; yes?

MODULE
{
name = ModuleDockingNode
deployAnimationController = 1
nodeType = size1
nodeTransformName = DockingNode
}

Yes :)

Although, I assume your node type is a custom one, because you're supposed to use number for the stock ones.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

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.

×
×
  • Create New...