Jump to content

[1.12.x] - Modular Kolonization System (MKS)


RoverDude

Recommended Posts

On 4/2/2018 at 3:57 AM, Skystorm said:

Perhaps you can help me understand an overheating problem with an automated mining vessel I'm testing.  Here is the relevant information:

Cooling is handled by a single MKS 'Ranger' Thermal Control System with 3,000Kw of core heat transfer.  Power is provided by a 1.25m Nuclear Reactor providing 200 EC/s and requiring 450Kw of cooling.  There are 2x MEU-500-A Pulse Drills w/3 separators each.  Each requires a max cooling of 100Kw.

If my math is correct, a total of 3,000Kw of cooling - 450Kw - 6x * 100Kw leaves 1,950Kw of excess cooling, so here is the problem:

1.  If I run both drills with only a single separator on each,  cooling works fine.  No overheating problems.

2.  If I run a single drill with two separators, the drill's core temperature rises rapidly while the thermal control system is still only at 61% load.  The reactor is steady with no overheating.

3.  If I run one drill with a single separator and one drill with two separators, cooling works fine on the drill with only one separator active.  However, core temperature on the drill with two separators active rises rapidly.  The reactor again has no overheating.  If on the drill with two separators active which is overheating I then turn one of the separators off, leaving only one separator running, the temperature returns to nominal.

It almost seems as though it is not possible to pull enough heat away to run multiple separators on the MEU-500-A.

KSP 1.4.1.2089
USI Core 0.7.0.0
USI Kolonization Systems 0.55.0.0
USI Life Support 0.9.0.0
USI Tools 0.12.0.0

was this bug ever fixed?

because I encountered the same behavior with the latest release

Link to comment
Share on other sites

@DoktorKrogg

Thanks, that is very helpful! One other question, could you explain how USI_SwapController, USI_SwappableBay and USI_Converter work? I can see they all interact with each other, and seem to be necessary for Habitation and Recycler modules, but beyond that it's a bit of a mystery

Link to comment
Share on other sites

3 hours ago, dlrk said:

@DoktorKrogg could you explain how USI_SwapController, USI_SwappableBay and USI_Converter work?

USI_SwapController

Stock resource converters (ModuleResourceConverter and ModuleResourceHarvester) only support a single recipe that is hardcoded into the converter via the part config. USI_SwapController is part of a system that allows converters to have multiple recipes that can be swapped via the editor or in flight. Now one might say, "But wait a minute... the stock Convert-o-Trons have multiple recipes" and they would be right. But that is accomplished by having multiple converters configured on the part each with its own recipe. The USI recipe swapping system allows a single converter to support multiple recipes. There is no free lunch though and USI_SwapController imposes a cost (typically things like MaterialKits, SpecializedParts, ElectricCharge, etc.) to change recipes in flight. (BTW, when I say in flight I'm talking about what KSP considers to be the flight scene. Even if a vessel is landed on the surface and your Kerbals are out walking around, the scene is still the flight scene.) Swap costs should typically be configured on each part that uses the USI recipe swapping system since the player can now disable swap costs via the game settings if they don't like that particular mechanic.

USI_SwappableBay

Larger parts (like the Tundra parts) typically have multiple converters in them. In order to keep track of which converter is running which recipe, we assign each converter to a bay. When you change recipes, you're actually changing the recipe for the bay and it handles updating the recipe on the converter behind the scenes. For each bay, there also needs to be a converter setup on the part. The converters are discovered in the order they appear in the config file and the bays need to be assigned a moduleIndex that corresponds to the converter they are responsible for (starting at 0). Something that may not be intuitive about this is that even if a part is only meant to have one converter, you still need to setup a bay for it to live in if you want it to have swappable recipes or produce any side effects, which I'll explain later.

USI_Converter | USI_Harvester

These PartModules extend the stock ModuleResourceConverter and ModuleResourceHarvester PartModules. They mostly behave in exactly the same way as their stock counterparts except that they can inject additional logic in the recipe preparation and post-processing steps of the conversion process. This is what allows us to have converters that consume resources and output things like 'Reduced supplies consumption' instead of some kind of tangible resource. I refer to these behaviors as side effects.

USI_ConverterSwapOption

In the part config, these look a lot like the config for a converter and the reason for that is because this is how you setup each recipe that is allowed to be swapped. You'll need one for each recipe. If the recipe is just a simple conversion, then the base USI_ConverterSwapOption should be sufficient. There are some custom ConverterSwapOptions though, primarily in USI-LS. The reason you would have a custom swap option is for recipes that produce side effects. Note: There is currently not a way to restrict certain swap options to a particular bay. If you find yourself wishing this was possible, then you are probably trying to make your part do too many things. :wink:

ConverterAddon

Addons create side effects. These are not PartModules though and will not show up in the part config. They are hidden away, typically inside of a custom ConverterSwapOption. An example of this would be the USILS_LifeSupportRecyclerSwapOption. It applies a USILS_LifeSupportRecyclerConverterAddon to the converter that produces the reduced Supplies consumption side effect in USI-LS.

Edited by DoktorKrogg
formatting
Link to comment
Share on other sites

@DoktorKrogg

Thanks for that.  To clarify, USI_SwapController and USI_SwappableBay are necessary, even if there is only one converter module. The swap options call on USI_Converter or USI_Harvester, and therefore USI_Converter or USI_Harvester are necessary with a swap option. Is that correct?

And If I'd like to have more than one bay, how does that work?

Thanks very much for the help!

 

 

Link to comment
Share on other sites

Thanks @DoktorKrogg for your explanation! What about habitation, if I DON'T want to use a converter, but just change the part's BaseKerbalMonths and/or BaseHabMultiplier? Do I still configure that in USILS_HabitationSwapOption and do I still need USI_SwappableBay and USI_Converter for that? And what if I want a recycler as well - do I then need 2 bays?

Link to comment
Share on other sites

3 hours ago, dlrk said:

USI_SwapController and USI_SwappableBay are necessary, even if there is only one converter module. The swap options call on USI_Converter or USI_Harvester, and therefore USI_Converter or USI_Harvester are necessary with a swap option. Is that correct?

If you want a converter to have swappable recipes or if you want a converter to have side effects (e.g. reduced Supplies consumption, slower Habitation timers, etc.), then yeah, you need USI_SwapController, USI_SwappableBay, a USI_Converter and one or more SwapOptions. If your converter only needs one recipe and doesn't need to interact with any of the other systems in USI, then just use a stock ModuleResourceConverter or ModuleResourceHarvester instead. There is no need to create a dependency on USITools by setting up a part using a USI_Converter if all it's doing is converting Hydrogen and Oxygen into ElectricCharge and Water, for example.

3 hours ago, dlrk said:

And If I'd like to have more than one bay, how does that work?

Take a look at the config for the Tundra Refinery for a good example of how a multi-bay part is setup.

1 hour ago, infinite_monkey said:

if I DON'T want to use a converter, but just change the part's BaseKerbalMonths and/or BaseHabMultiplier? Do I still configure that in USILS_HabitationSwapOption and do I still need USI_SwappableBay and USI_Converter for that?

Habitation parts, recycler parts, efficiency parts, etc. are kinda funky because they consume resources (e.g. Water, ElectricCharge, ColonySupplies, etc.) like a normal converter does, they just don't output any resources like a normal converter does. Their 'output' is instead some kind of side effect in their respective systems. So we still implement these parts using a converter in order to consume the resources but we use a ConverterAddon (hidden away inside of a ConverterSwapOption) to create the side effect. So yeah, if you want to make a Habitation part, you have to use the full blown USI converter system with a USI_SwapController, a USI_SwappableBay, a USI_Converter and at least one USILS_HabitationSwapOption. Kinda seems like overkill, I know, but it's the most flexible way for us to deal with these kinds of quasi-converters in a way that makes them interchangeable (i.e. so that we have a single part that can be either a Hab part or a recycler).

1 hour ago, infinite_monkey said:

what if I want a recycler as well - do I then need 2 bays?

 This depends on your part really. Is it some kind of all-in-one part that provides both Habitation and some kind of recycler at the same time? If so, then yes you'll need 2 bays and 2 converters. There currently aren't any parts in the USI catalog that do both things at the same time but you can take a look at the USI-LS config for the central hub part in the KPBS mod for an example of how to do that here. Note the currentLoadout and hasPermanentLoadout settings that have been added to the bay modules. The USI hab/recycler parts are all setup with a single bay that can be configured as either a recycler or a hab part but not both. Check out either of the Tundra Kerbitat parts in MKS for an example of that. (Personally, I think all-in-one parts are a bit OP unless they are just massive parts, like say a 10m or 20m dome, if there were such a thing. ^_^)

Link to comment
Share on other sites

Perhaps someone can explain this to me.

I'm building a base, have a 3.75 Agriculture Support Module, an Inflatable Ware house which can store hydrates and water. I set one of the ASM bays for Hydrates, and when I try to start the bay it says "Water full"????  The Inflatable warehouse is 2 connections away and it cannot find it?

1gzKHOl.png

 

Have a similar problem, but the other direction, with the Pioneer+Logistics module make t-credits. I have two inflatable warehouses with ore/LF/Oxi, but the pioneer cannot find the Liquidfuel.

Link to comment
Share on other sites

5 minutes ago, armegeddon said:

I'm building a base, have a 3.75 Agriculture Support Module, an Inflatable Ware house which can store hydrates and water. I set one of the ASM bays for Hydrates, and when I try to start the bay it says "Water full"????  The Inflatable warehouse is 2 connections away and it cannot find it?

This is longstanding bug with KAS connectors - they can't transfer water. Nobody knows why, but this is on KAS' end.

Link to comment
Share on other sites

Returning to KSP with 1.6.1 and wondering which one is the preferred mod for building things in orbit/off-world, EPL or Ground Construction? EPL is ancient but it still has really nicely made models in MKS while Ground Construction seems more new but is lacking in the visuals. Any major differences or things to know? Any help is appreciated

Edited by Raccoon
Link to comment
Share on other sites

50 minutes ago, Raccoon said:

Returning to KSP with 1.6.1 and wondering which one is the preferred mod for building things in orbit/off-world, EPL or Ground Construction? EPL is ancient but it still has really nicely made models in MKS while Ground Construction seems more new but is lacking in the visuals. Any major differences or things to know? Any help is appreciated

Essentially GC is integrated into MKS these days.  EPL integration is player maintained, but it still works.

Link to comment
Share on other sites

I have used both in the past, and they both have their merits.

With GC2 you can build DIY-kits offworld, as it was a huge missing feature compared to EPL's runway/launchpads for offworld building.

 

For visuals, i personally dont put too much into it as i focus mainly on functions.

I use both myself. GC for "simulated 3d-printed complete/whole buildings in a box" and EPL for crafts, rockets, rovers. "Simulated by having scrapyards and workshops/scrapheap challenge-style" Building and adding to existing buildings/stations.

 

It's' easy to build a shake-n-bake starter colony in a DIYbox delivered alongside a small workshop/constuctionmodule and some resources.
Using MKS/USI logistics you can haul large resources between planets from forward outposts and miningsites.

Link to comment
Share on other sites

@DoktorKrogg I copied your module descriptions and follow-on Q&A to the Module Support wiki page.

@goldenpsp and @Raccoon, the role of EL vs GC has been clarified in the Module Support wiki page as well. If the clarification falls short, please update the wiki for future reference.

RoverDude has hinted that "big changes" (tm) are coming soon after KSP 1.7, so all of this may need to be changed later.

Edited by notthebobo
Name references didn't work right.
Link to comment
Share on other sites

7 hours ago, armegeddon said:

Perhaps someone can explain this to me.

I'm building a base, have a 3.75 Agriculture Support Module, an Inflatable Ware house which can store hydrates and water. I set one of the ASM bays for Hydrates, and when I try to start the bay it says "Water full"????  The Inflatable warehouse is 2 connections away and it cannot find it?

Have a similar problem, but the other direction, with the Pioneer+Logistics module make t-credits. I have two inflatable warehouses with ore/LF/Oxi, but the pioneer cannot find the Liquidfuel.

I don't have any Ag Support Modules yet, but I have noticed that when making T-Credits the module often can't see LFO that's physically far away, even if it's on the same base / station.

It's not clear to me whether specific parts are blocking the flow, but ever since I spotted this I now build logistics modules with little tanks / redi-paks directly stuck to the module itself to sort it out...

Link to comment
Share on other sites

18 minutes ago, notthebobo said:

RoverDude has hinted that "big changes" (tm) are coming soon after KSP 1.7, so all of this may need to be changed later.

We'll likely start a new thread for this (if that gives you any hint as to how big the "big changes" are :cool:). There aren't really any plans to make significant changes to MKS or USI-LS at the moment.

Link to comment
Share on other sites

3 minutes ago, DoktorKrogg said:

We'll likely start a new thread for this (if that gives you any hint as to how big the "big changes" are :cool:). There aren't really any plans to make significant changes to MKS or USI-LS at the moment.

Changes to MKS/USI-LS or a new addition?

Link to comment
Share on other sites

Just now, voicey99 said:

Will we finally get to see the Atlas parts?

The models are done or nearly so afaik. I think they're primarily just waiting on part configs at this point. RoverDude has been super busy with his Squad responsibilities lately, so we haven't chatted about this recently unfortunately.

Link to comment
Share on other sites

9 minutes ago, notthebobo said:

Ok, now my interest is piqued! :o

 

8 minutes ago, dlrk said:

Changes to MKS/USI-LS or a new addition?

RoverDude talked about it briefly in his last Twitch stream. We're working on a new system for larger scale colonization than what can currently be achieved with MKS. The new system won't rely on the stock resource system like MKS does and thus won't incur all of the CPU overhead that comes with it. This system will allow us to do some pretty awesome stuff like setting up continuous resource transfers between planets and having colonies with hundreds or thousands of Kerbals in them. We plan to add some new (huge) parts as well that will be unlike anything I've seen in KSP yet (I mean... someone else may have already done something similar, but if so, I haven't seen it ^_^). We don't see this system as a replacement for MKS or USI-LS but we do expect it will change the way that many players choose to use MKS and USI-LS. For instance, I could see someone using MKS + GC in order to setup a factory for producing the parts you'll be using in the new system. There will be a way to pull resources out of the new system as well, so there's a really nice synergy there with something like a GC parts factory or even a GC shipyard that builds the ships you use to setup interplanetary resource transfers in the new system.

So yeah, entirely new addition to the USI family and not intended to be a replacement for MKS or USI-LS. They're all designed to play nice together and compliment one another while still being able to stand on their own. The coding for the first iteration of the new system is done. We just have some odds and ends to clean up and then get the parts finalized. We're probably going to be using re-skinned Tundra parts for a lot of it but like I said, there will be some new parts as well. (If you caught RoverDude's last Twitch stream, he made one of the new parts in that stream.)

Link to comment
Share on other sites

Sounds interesting, almost like Kerbal Civilization!

42 minutes ago, DoktorKrogg said:

 

RoverDude talked about it briefly in his last Twitch stream.

...

(If you caught RoverDude's last Twitch stream, he made one of the new parts in that stream.)

Hmm, maybe it's just my account, but his Twitch stream seems to have been mostly wiped out. Only one bunny-hopping video there now.

Link to comment
Share on other sites

38 minutes ago, Björn Kerman said:

I installed the mod on PC KSP version 1.6 but it doesn't do anny of the special things like habtime or kerbal breeding, i also don't have anny toolbar icon. I can use the parts but they don't do annything. Am I missing anny depencys or annything else? 

Quite possibly.  We'll need pics of your GameData and UmbraSpaceIndustries folders to find out.

Note that Habtime isn't actually an MKS feature - it's from USI-LS, which is very well integrated into MKS (and the two are talked about here quite a bit, as usually people do have both) but is still a separate mod.

Link to comment
Share on other sites

On 3/9/2019 at 5:07 PM, alien_wind said:

was this bug ever fixed?

because I encountered the same behavior with the latest release

I never understood if that is a bug or by design. Either way, the fix is quite easy. Just edit the MaxCoolant of each drill in question by its separators. For instance:

@PART[MKS_Drill_02]
{
	@MODULE[ModuleCoreHeat]
	{
		@MaxCoolant = 300
	}
}

3 separators X 100KW 

Credit goes to @Skystorm

In my case however, once the drills were patched, the reactors became impossible to cool.

Link to comment
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.

×
×
  • Create New...