Jump to content

[1.8.x-1.12.x] Module Manager 4.2.3 (July 03th 2023) - Fireworks season


sarbian

Recommended Posts

If it show up only when MM is present it just mean that the module that generate it is not added by MM when MM is not here...

Except it shows up when there is just MM and stock, or did anyway.

Maybe it really is a stock error, i have no idea. Was hoping that someone had also run into the same exception.

Link to comment
Share on other sites

Except it shows up when there is just MM and stock, or did anyway.

Maybe it really is a stock error, i have no idea. Was hoping that someone had also run into the same exception.

An alternative explanation is that the configuration changes that the configuration files are requesting MM to make are exposing the race condition in stock. I would suggest that you take a long and careful look at the changes that the configuration files are making.

skips

Link to comment
Share on other sites

An alternative explanation is that the configuration changes that the configuration files are requesting MM to make are exposing the race condition in stock. I would suggest that you take a long and careful look at the changes that the configuration files are making.

skips

I wouldn't know where to begin or what to look for though.

Has anybody ever encountered that exception though? I was mostly hoping that someone else had or has seen that exception and would provide some sort of lead somewhere.

Link to comment
Share on other sites

I'm trying to do some 'cobweb cleaning' of modules that I'm not using, but exist in the cfg of some parts I'm using. This code -

@PART
[*]:HAS[@MODULE[FARBasicDragModel]]:NEEDS[!FAR]:FINAL
{
-MODULE[FARBasicDragModel] {}
}

is throwing errors... ;.; While this code -

@PART
[*]:HAS[@MODULE[TweakScale]]:NEEDS[!TweakScale]:FINAL
{
-MODULE[TweakScale] {}
}

works fine?! :confused: What am I doing wrong? Please help.

Link to comment
Share on other sites

I would have use looking for crew
@PART
[*]:HAS[@MODULE[ModuleCommand],#CrewCapacity[1]]:Final

and do you also have the EXPERIMENT_DEFINITION in the CFG ? If so did you change them ether way, I would have them as there own CFG.

Thanks for the advice! I put each experiment in its own .cfg file without the definitions. works perfect.

Link to comment
Share on other sites

can anyone tell me if something like this is possible?

TAC Life Support has a .cfg file GameData\ThunderAerospace\TacLifeSupport\PluginData\TacLifeSupport\LifeSupport.cfg containing

...

GlobalSettings {...

WasteProductionRate = X

...

}...

is there a way I can address X from a .cfg file? to do something like:

My.cfg:

PART {...

MODULE {..

somevalue = ThunderAerospace.TacLifeSupport.PluginData.TacLifeSupport.LifeSupport.WasteProductionRate

...

}...

}

Link to comment
Share on other sites

can anyone tell me if something like this is possible?

TAC Life Support has a .cfg file GameData\ThunderAerospace\TacLifeSupport\PluginData\TacLifeSupport\LifeSupport.cfg containing

...

GlobalSettings {...

WasteProductionRate = X

...

}...

is there a way I can address X from a .cfg file? to do something like:

My.cfg:

PART {...

MODULE {..

somevalue = ThunderAerospace.TacLifeSupport.PluginData.TacLifeSupport.LifeSupport.WasteProductionRate

...

}...

}


@PART[partNameHere]
{
//grab and store the value for WasteProductionRate in X
X = #$@GlobalSettings/WasteProductionRate$
// module doesn't exist yet
MODULE
{
name = moduleName
// somevalue doesn't exist
somevalue = #$/X$
}
}
@PART[partNameHere]
{
// module already exists
MODULE[moduleName]
{
// somevalue already exists
@somevalue = #$/X$
// somevalue might or might not already exist
%somevalue = #$/X$
}
}

Link to comment
Share on other sites

thanks v much starwaster - I'll give that a shot

Is the syntax explained somewhere? I didn't see it on the wiki. #$$ is the 'this is variable magic' signifier? @ is value of 'remote' variable? / is 'value of 'local' variable?

Link to comment
Share on other sites

thanks v much starwaster - I'll give that a shot

Is the syntax explained somewhere? I didn't see it on the wiki. #$$ is the 'this is variable magic' signifier? @ is value of 'remote' variable? / is 'value of 'local' variable?

http://forum.kerbalspaceprogram.com/threads/55219-Module-Manager-2-3-5-%28Sept-14%29-Loading-Speed-Fix?p=1416253&viewfull=1#post1416253

That post explains all variable usage

Link to comment
Share on other sites

I get a message ModuleManager:2497 patches applied, and watching ti scroll trhu on the loading screen it gets stuck here after doing LEGACY...

Here is from the "outputlog.txt" before I kill the process...

DragCubeSystem: Creating drag cubes for part 'largeSolarPanel'

(Filename: C:/buildslave/unity/build/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)

PartLoader: Compiling Part 'Squad/Parts/Electrical/radialFlatSolarPanel/radialFlatSolarPanel/solarPanels5'

(Filename: C:/buildslave/unity/build/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)

NullReferenceException: Object reference not set to an instance of an object

at (wrapper stelemref) object:stelemref (object,intptr,object)

at PartLoader.ParsePart (.UrlConfig urlConfig, .ConfigNode node) [0x00000] in <filename unknown>:0

at PartLoader+.MoveNext () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

NullReferenceException: Object reference not set to an instance of an object

at PartLoader.GetDatabaseConfig (.Part p) [0x00000] in <filename unknown>:0

at PartLoader.GetDatabaseConfig (.Part p, System.String nodeName) [0x00000] in <filename unknown>:0

at DragCubeSystem.LoadDragCubes (.Part p) [0x00000] in <filename unknown>:0

at Part+.MoveNext () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

And here is the last part of the log from ksp.log

[LOG 00:56:43.419] PartLoader: Part 'Squad/Parts/Electrical/1x6ShroudSolarPanels/1x6ShroudSolarPanels/solarPanels2' has no database record. Creating.

[LOG 00:56:43.424] DragCubeSystem: Creating drag cubes for part 'solarPanels2'

My game will not load with modulmanager enabled - and most of my addons require modulemanager, so I cannot play without it.

The last time it happened, I simply deleted the ModuleManager.ConfigCache, and that fixed it, but it did not work this time.

Link to comment
Share on other sites

None of my mods do to the best of my knowledge. I only have a few that are explicitly .cfg that I picked up from the message boards that has a string like...

PART

[*]:HAS[@MODULE[ModuleCommand]]

{

%MODULE[sequencerStorage] {

}

}

I removed a a couple scripts to see (including the one above), and the place where it locks up changes. So its a mm config that's affecting things somehow.

This is during the FINAL stage. I have 108 addons. But I have 32GB RAM. 32 bit client, so it cant use it all.

- - - Updated - - -

I removed another .cfg and the place/part changed again. And its on a docking port in a addon mod now, instead of Squad - a part Im not changing to the best of my knowledge

The only one I havent rmoved is one that add MechJeb to all my command modules. ... Ill drop that one next. (I hate having that ugly box stuck to the side.)

- - - Updated - - -

That only changed where the error happens - still get that null. IM betting I have a messed up addon someplace thats causing mm to loop maybe? Uninstalling all addons, then reinstalling with CKAN. I wish modulemanager had a log file, like KSPs output log, and log each patch file its using, that way I could see what the last one that ran was, before the lockup.

- - - Updated - - -

That seemed to fix it. Strange bug. It only happened with MM (and the apps that needed it) installed, but a wipe and reinstall fixed it, with all the same apps and extra mm configs as before. Runs fine now. SMH. Hate non-deterministic behavior from code that shouldn't produce such behavior.

Edited by Murdabenne
Link to comment
Share on other sites

Hello

Is any way to make game log what are generated by game or MM or any other mod to be created / write in real time & not only after game it close ?

KSP.log & output_log.txt data are fill in ONLY after game is fully close

Same what happen with MM & interaction between mod's when some use / request same module but it have different version, to be more precise i will give a example:

KSPAPIExtensions.dll <<< it came with all this mod's, each have it individual in they'r pack & directory structure

TweakScale, TweakableEverything, SmartParts, ProceduralParts, ProceduralFairings, ModularFuelTanks, MagicSmokeIndustries

soo what happen if KSPAPIExtensions.dll version it will be different ? who will work? it will run latest version or bouth?? & same that it will not create a conflict?

KSPAPIExtensions.dll < this was a example, there are other case to & mod what i say are just partial

thx

Link to comment
Share on other sites

KSPAPIExtensions.dll

Decides it's own versioning between all present .dll's

All MM essentially does is add information to a text file, what happens after that is in the hands of the various mods and/or KSP itself

Link to comment
Share on other sites

output_log.txt is generated in real time, but is a annoying to read with all the line it adds. KSP.log is not, it buffers a bit / lot. I may add a special log to MM to have a detailed log but with the cache it is easy to see the end result.

I don't understand what you mean with the version stuff. MM works fine with multiple version but I suggest you only keep the last one.

KSPAPIExtensions uses a special mechanism to works with multiple version loaded but this has nothing to do with MM.

Link to comment
Share on other sites

Decides it's own versioning between all present .dll's

k then Who decide what *.dll it will be use ? or what version ? & soo on ?

reedit for not generate new post :)

sarbian KSPAPIExtensions.dll it came how i say with all that mod what i say in my previous post & it can be found in this location:

GameData\MagicSmokeIndustries\Plugins

GameData\ModularFuelTanks\Plugins

GameData\ProceduralFairings

GameData\ProceduralParts\Plugins

GameData\SmartParts\Plugins

GameData\TweakScale\plugins

GameData\TweakableEverything\

Me i was ask: what happen if KSPAPIExtensions.dll version it will be different ? aka SmartParts have 0.1 & TweakScale have 0.2 (version number is not real i just use simple number to be more easy)

who will work? aka it will work version 0.1 or 0.2 or it will run bouth ?

if it will work bouth next logic question is they will not get in conflict ?

You say: "suggest you only keep the last one." < well is not in my real power to keep last one if it came with diferite mod :) i know i know is moder job to keep it updated, but me i just ask / rise a question coz i want to understand that all :)

KSPAPIExtensions.dll is one exemple it one more if u want Scale_Redist.dll

for me is not annoying read line coz i can use filter (key word) to see only what i want :) sadly not in real time but application what i use for parsing it can access log when want

Edited by Blacks
Link to comment
Share on other sites

well,I have a little problem

what should I do if I want to use MM to overwrite an engine‘s ISP ?

I type the code like this:

@PART[enduranceEngine]

{

@MODULE[ModuleEngines]

{

!PROPELLANT[Oxidizer]

@maxThrust = 1300

@atmosphereCurve

{

@key = 0 8200

@key = 1 1500

}

}

}

but when I open the game,both the ASL ISP and Vac ISP is 1500

can someone tell me what should I do?

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...