Jump to content

[1.12.4] OhScrap! (OHS) A ScrapYard (SYD) based Part Failure and Reliability Mod - 2.2.99.0-prerelease `<允许降落伞损坏>` edition [28 Dec 2022


zer0Kerbal

Recommended Posts

OhScrap KSP version License
Curseforge GitHub SpaceDock CKAN
Pages

Code

OhScrap! (OHS)
:wub: (formerly UPFM) :wub:

ScrapYard (SYD) based part failure and maintenance addon plugin for Kerbal Space Program.

By zer0Kerbal, originally by @severedsolo

adopted with express permission and brought to you by KerbSimpleCo

OhScrap Hero

Preamble by @severedsolo

Poor Val, she's not having a good day. There she was on her way back from orbit, and this happened:

A bad day for Val

You see, I forgot to take her shiny new ship for a test flight before sending it to space, so the reaction wheels failed. Then her oxygen started venting into space. So she quickly burned retrograde and started her re-entry. Except that as she came into land, the parachute failed too. Like I said, not a good day.

Sound exciting? Then why don't you install Oh Scrap! today.

Features

Spoiler
  • Part Failures: Parachutes, Engines, Gimbals, Resources, Batteries, Reaction Wheels, Control Surfaces - all these failures can make your day turn out like Vals. (all can be disabled or enabled through the difficulty settings menu)
  • Failures follow the bathtub curve - brand new untested parts are more likely to fail than pre-tested models. If you re-use a part too many times though, it will reach the end of it's shelf-life and be more prone to failure.
  • Subsequent "new models" of parts become more reliable than their earlier counterparts. Ie, a part you've just researched is more likely to fail than a part that has been tried and tested many times - even if it's brand new.
  • Repairs - some parts can be repaired remotely, some need an EVA. You always have a better chance of repairing a part on EVA

See more

Spoiler

YouTube video Lu

Testing the K-1 with Oh Scrap | Kerbal Space Program

Localization

  • English English
  • 简体中文 Simplified Chinese (简体中文) translation courtesy of ZhaoFJx
  • your translation here

HELP WANTED - See the README in the Localization folder or the Quickstart Guide for instructions for adding or improving translations. GitHub

Installation Directions 1

Spoiler

Use CurseForge/OverWolf App (currently does not install dependencies)

CurseForge/OverWolf App

I take no part, nor am I interested in maintaining the CKAN mod metadata for my mods. CKAN is a great mod for those that can't use zip tools. If you are having issues please let the CKAN people know and refer to the CKAN thread. My support of CKAN extends as far as me checking the checkbox in Spacedock when I upload. Beware, CKAN can really mess up though it tries very, very, very hard not to.

or CKAN

Dependencies

Recommends

  • Kerbal Construction Time designed with this with in mind, so would recommend that mod (make sure you use the latest dev version)
  • StageRecovery If you plan to actually re-use your parts (and have them fail), you'll probably want StageRecovery too
  • KRASH

Supports

Suggests

Tags

plugin, config, information, editor, sound, career, crewed, uncrewed

red box below is a link to forum post on how to get support

How to get support

Be Kind: Lithobrake, not jakebrake! Keep your Module Manager up to date

Credits and Special Thanks

Legal Mumbo Jumbo (License provenance)

Spoiler

Current (2) - zer0Kerbal

Forum: Thread - Source: GitHub
License: License License

Disclaimer(s)

All bundled mods are distributed under their own licenses
All assets, including but not limited to: animations, models, sounds and textures are distributed under their own licenses

see Notices.md for more legal Mumbo Jumbo

Previous (1) - Author: zer0Kerbal

Forum: Thread - Download: CurseForge - Source: GitHub
License: License License

Original (0) - Author: @severedsolo

Forum: Thread - Download: GitHub - Source: GitHub
License: License License

 

How to support this and other great mods by zer0Kerbal

Spoiler

Completely voluntary, absolutely amazing, and really does help me out a lot!
quote from cybutek @cybutek creator of Kerbal Engineer

Support Github Sponsor Patreon Buy zer0Kerbal a snack

and it is true.

Connect with me

Track progress: issues here and projects here along with The Short List

zer0Kerbal | kerbalspaceprogram.comzer0Kerbal | CurseForgezer0Kerbal | redditzer0Kerbal | Patreonzer0Kerbal | YouTubezer0Kerbal | Twitchzer0Kerbal | PayPalzer0Kerbal | Buy Me a Coffeezer0Kerbal | Twitter

 

Release Schedule
Spoiler
  1. GitHub, reaching first manual installers and users of KSP-AVC. Right now.
  2. CurseForge. Right now.
  3. SpaceDock (and CKAN users). Soon™
  1. this isn't a mod. ;P↩︎

  2. Be Kind: Lithobrake, not jakebrake! Keep your Module Manager up to date!↩︎

  3. may work on other versions (YMMV)↩︎

Edited by zer0Kerbal
update links and lasso the birds
Link to comment
Share on other sites

Reserved for Changelog:

REMOVE PREVIOUS VERSION!

OhScrap%20version-1.2.0.0-orange.svg?sty KSP version KSP-AVC License: MIT MIT-17x17.png


Version 2.1.0.0 - new maintainer, same great taste!

  • >>-- Adoption by zer0Kerbal --<<
  • recompiled for KSP 1.9.1
  • recompiled against .NET 4.8
  • updated file structure
  • updated .csproj to zer0Kerbal's
  • updated to zer0Kerbal's automated build process
  • added Logger.cs
  • use Version.Number from tt processes
  • adjusted log path from /severedsolo/OhScrap/Logs/ to /OhScrap/Logs/

Kerbal Space Program 1.9.1
Unity 2019.2.2f1
.NET Framework 4.8

Edited by zer0Kerbal
Link to comment
Share on other sites

Reserved for Changelog:

 

Spoiler

 

OhScrap%20version-1.2.0.0-orange.svg?sty KSP version KSP-AVC License: MIT MIT-17x17.png


Version 2.1.0.0 - new maintainer, same great taste!

  • >>-- Adoption by zer0Kerbal --<<
  • recompiled for KSP 1.9.1
  • recompiled against .NET 4.8
  • updated file structure
  • updated .csproj to zer0Kerbal's
  • updated to zer0Kerbal's automated build process
  • added Logger.cs
  • use Version.Number from tt processes
  • adjusted log path from /severedsolo/OhScrap/Logs/ to /OhScrap/Logs/

Kerbal Space Program 1.9.1
Unity 2019.2.2f1
.NET Framework 4.8

 

 

 

 

 

Link to comment
Share on other sites

Thank you! Looking forward to the new release.

This however has me concerned a little, I hope it is disabled by default for release versions:

8 hours ago, zer0Kerbal said:
  • added Logger.cs
  • [...]
  • adjusted log path from /severedsolo/OhScrap/Logs/ to /OhScrap/Logs/

 

There are way too many mods writing way too much stuff into way too many logfiles. It's ok for a debug build, but please (this goes to ALL mod authors), please, keep the logging stuff to a minimum when you publish your mod for wider dissemination. Add a config option somewhere to enable it for diagnostic purposes, but in general use, there should be no output at all. Maybe excepting a line stating the mod was loaded, and what version. Everything else you want to output should go into the game UI. If you don't want it there, usually neither do I : )

Link to comment
Share on other sites

4 hours ago, Corax said:

Thank you! Looking forward to the new release.

This however has me concerned a little, I hope it is disabled by default for release versions:

 

There are way too many mods writing way too much stuff into way too many logfiles. It's ok for a debug build, but please (this goes to ALL mod authors), please, keep the logging stuff to a minimum when you publish your mod for wider dissemination. Add a config option somewhere to enable it for diagnostic purposes, but in general use, there should be no output at all. Maybe excepting a line stating the mod was loaded, and what version. Everything else you want to output should go into the game UI. If you don't want it there, usually neither do I : )

I hear you and will consider; though this mod has always (as far as I know) created a log; I just moved where it was created/stored because I adjusted the install path.

Logger.cs is my debugging boilerplate code; something I add to most code projects and is normally not turned on for releases, just debug builds. In fact, this switch is automatic in my newer builds due to how it is coded (thanks to code snippet from @linuxgurugamer and @Lisias)

If anything, most of the mods I release that include a .dll that I compile come with little to no included debug symbols (the .mdb); I usually turn them off for releases.

Have you looked at this directory when you are playing?

and both ScrapYard and OhScrap! do have those options in settings; did you look?

Spoiler

image.png

image.png

although maybe the settings pages could use a little reorganization... perhaps submit a feature request/issue on github suggesting this.

5 hours ago, derbleifuss said:

What are the Differneces to DangIt?

that I cannot answer. Have never played with Dangit.

Edited by zer0Kerbal
Link to comment
Share on other sites

3 hours ago, Corax said:

There are way too many mods writing way too much stuff into way too many logfiles.

Problem is... It's our best tool for diagnosing problems. Messages on the screen are useless, as they don't have enough information (there's no enough screen!) - we usually issue messages on screen to alert about nasty conditions, but pushing on the screen all the messages needed to diagnose the problem is unfeasible.

Once a problem happens, diagnosing it is not a mere look on the Exception message - it only tell us what happened, not why , and without the why, there's no possible fix without guessing (what, usually, ends up on finger pointing).

So, some logging is needed - otherwise you will not get proper support when things goes badly on this Add'On or even others inducing this one to bork by collateral effect.

You may think logs is bad - but it's way worse without them.

That said, some logging messages are only meaningful on development (we call these "debugging messages" - and I agree that these ones should be suppressed on releases.

Link to comment
Share on other sites

1 hour ago, zer0Kerbal said:

I hear you and will consider; though this mod has always (as far as I know) created a log; I just moved where it was created/stored because I adjusted the install path.

Logger.cs is my debugging boilerplate code; something I add to most code projects and is normally not turned on for releases, just debug builds. In fact, this switch is automatic in my newer builds due to how it is coded (thanks to code snippet from @linuxgurugamer and @Lisias)

If anything, most of the mods I release that include a .dll that I compile come with little to no included debug symbols (the .mdb); I usually turn them off for releases.

Have you looked at this directory when you are playing?

and both ScrapYard and OhScrap! do have those options in settings; did you look?

although maybe the settings pages could use a little reorganization... perhaps submit a feature request/issue on github suggesting this.

Thanks for your explanations, I've seen the settings and noticed the extra logging option as well, that's how I think things should be handled; however as I said, too many mods simply spam too many messages either into the KSP log itself, or–and I don't know which is worse–spam their own log files all over the place. I hope it is clear wasn't trying to say you or OhScrap does this, just that I am wary of such a situation developing. I highly respect any and all mod authors, whether they spam logs or don't; I just wish some would exercise a little more restraint in that matter : ) and remember to turn their debug logging off when they release.

 

 

1 hour ago, Lisias said:

Problem is... It's our best tool for diagnosing problems. Messages on the screen are useless, as they don't have enough information (there's no enough screen!) - we usually issue messages on screen to alert about nasty conditions, but pushing on the screen all the messages needed to diagnose the problem is unfeasible.

Once a problem happens, diagnosing it is not a mere look on the Exception message - it only tell us what happened, not why , and without the why, there's no possible fix without guessing (what, usually, ends up on finger pointing).

So, some logging is needed - otherwise you will not get proper support when things goes badly on this Add'On or even others inducing this one to bork by collateral effect.

You may think logs is bad - but it's way worse without them.

That said, some logging messages are only meaningful on development (we call these "debugging messages" - and I agree that these ones should be suppressed on releases.

I don't think logs per se are bad, and trust me, I know why logging is needed in case of issues. I have done my share of software development myself.

Call me elitist, but I also get that "the average user" probably wouldn't know (or care, or even need to care) how to go through a few steps to enable them if they weren't from the start–it's just that I'd like a simple way to disable them if and when I am confident that I don't need them at the moment, and re-enable them if and when issues arise. Without having to grep tons of Unity3d documentation, plugin source code, or symlinking to /dev/null if that doesn't help...

Link to comment
Share on other sites

1 hour ago, zer0Kerbal said:

that I cannot answer. Have never played with Dangit.

Like almost every Part can fail in some Way and the Probability of a Failure increases with both the Time it was in Operation and just the Time in general. They can be fixed by an Engineer using the "Spare Parts" Resource and can be maintained by them or checked by any Kerbal to give a temporary Reliability Boost. What it does not include is the Ability to test and validate Parts in order to increase their Reliabilty.

There also is a similar Mod that allows you adjust the Build Quality of a Part to make Failures less likely at the cost of Funds which I mistook to bei included in DangIt. Seems like I was wrong and it actually is yet another Mod.

Link to comment
Share on other sites

12 minutes ago, derbleifuss said:

There also is a similar Mod that allows you adjust the Build Quality of a Part to make Failures less likely at the cost of Funds which I mistook to bei included in DangIt. Seems like I was wrong and it actually is yet another Mod.

Kerbalism has this functionality; there are, or at least were a few other mods addressing part reliability, testing, and failures. "Test Flight" and "Kerbal Mechanics" IIRC, and I think at least one or two others. I think one of them had a rather wacky name, but other than that I don't remember any more details.

Edited by Corax
Link to comment
Share on other sites

56 minutes ago, Corax said:

Call me elitist, but I also get that "the average user" probably wouldn't know (or care, or even need to care) how to go through a few steps to enable them if they weren't from the start–it's just that I'd like a simple way to disable them if and when I am confident that I don't need them at the moment, and re-enable them if and when issues arise. Without having to grep tons of Unity3d documentation, plugin source code, or symlinking to /dev/null if that doesn't help...

Yep. But, sir, the logs are not for you. The logs are meant for people that will provide support for the Add'Ons. These logs are the reason we can diagnose the problem by just telling the user to send us the logs, instead of going through a tedious and long series of "please try this, please execute these steps, please do that".

Link to comment
Share on other sites

39 minutes ago, Corax said:

Kerbalism has this functionality; there are, or at least were a few other mods addressing part reliability, testing, and failures. "Test Flight" and "Kerbal Mechanics" IIRC, and I think at least one or two others. I think one of them had a rather wacky name, but other than that I don't remember any more details.

Oh dear, Kerbalism sounds complex. I do have Life Support but I wanted to keep it "Kerbal" so I chose Snacks.

DangIt is really nice for manned Missions where the Engineer has to EVA a pre-Landing Check (like Engines, Tanks, Control Surfaces and Landing Gear on a Shuttle) but with Probes that fly literally for Decades (OPM installed) they will almost inevitably be bricked by a failed Engine or Reaction Wheel.

 

Yup, I'd build Probes with a higher Quality Standart than manned  Spacecraft. Possibly one of the most Kerbal Things imaginable.

Link to comment
Share on other sites

17 minutes ago, Lisias said:

Yep. But, sir, the logs are not for you. The logs are meant for people that will provide support for the Add'Ons. These logs are the reason we can diagnose the problem by just telling the user to send us the logs, instead of going through a tedious and long series of "please try this, please execute these steps, please do that".

Which is almost exactly what I said. But for those who do not require holding their hands, there should be a quick, simple way to disable those logs, without jumping through hoops. Precisely because they are NOT for me.

 

Edited by Corax
End of discussion. This is getting way off topic.
Link to comment
Share on other sites

13 hours ago, Corax said:

Which is almost exactly what I said. But for those who do not require holding their hands, there should be a quick, simple way to disable those logs, without jumping through hoops. Precisely because they are NOT for me.

The particular logs you are talking about are for balance testing reasons. So basically: I used to get alot of people coming to me saying "the mod fails too much/not enough" - and it's really difficult to quantify that, because people suck at wrapping their head around random numbers. It logs so I (and now zer0kerbal) have hard cold numbers to back it up.

If you have "extra logging" turned off, the actual logging it does is super minimal. It literally just logs that a failure tried to happen, the time it tried to happen at, and whether it was successful. Those logs are deleted after 24 hours. The performance impact is almost zero, because it writes the logs out on a scene change (when the game is doing a bunch of I/O anyway so you won't notice).

Edited by severedsolo
Link to comment
Share on other sites

On 3/14/2020 at 8:30 AM, JebIsDeadBaby said:

Would be nice to have this available via CKAN

it (and OhScrap) are being transitioned to the new GitHub repositories. It is out of our control.

I am working today on finishing the last spit and polish on ScrapYard's new Readme.md, which I use for the initial forum thread posting, the SpaceDock mod page, the Curseforge Mod Description page, and of course for the Github and .zip readme's.

Almost done, got sidetracked on creating/updating a Contributing.md file (which I have been putting off making for quite some time).

I suspect that CKAN is waiting for me to update ScrapYard in SpaceDock ... (more than suspect - know)

so

SOON™er™ish♥

Edited by zer0Kerbal
Link to comment
Share on other sites

Hey zer0Kerbal,

thanks for providing this mod! I have used DangIt in the past and am now considering to switch to this one.

 

I have noticed that OhScrap has some issues with ModuleManager 4.1.3 (did not test other MM versions):

https://forum.kerbalspaceprogram.com/index.php?/topic/50533-18x-19x-module-manager-413-november-30th-2019-right-to-ludicrous-speed/

 

I have:
KSP 1.9.1

ModuleManager 4.1.3

OhScrap 2.1.1.0 (also tested 2.1.0.0)

Windows 8.1

 

Problem:

The game does not finish loading. Depending on whether Squad DLC are installed it stops at "Verifying <expansion>" or "Loading expansions..."

It also says in the loading screen:

Mod(s) DLL that are not compatible with this version of KSP
OhScrap 2.1.1.0 path/to/OhScrap.dll

 

If you cannot reproduce the issue I can also test it on Linux.

If you need any help in debugging / testing feel free to hit me up!

 

 

Many thanks and best regards

Fulgo

Link to comment
Share on other sites

42 minutes ago, Fulgora said:

Hey zer0Kerbal,

thanks for providing this mod! I have used DangIt in the past and am now considering to switch to this one.

 

I have noticed that OhScrap has some issues with ModuleManager 4.1.3 (did not test other MM versions):

https://forum.kerbalspaceprogram.com/index.php?/topic/50533-18x-19x-module-manager-413-november-30th-2019-right-to-ludicrous-speed/

 

I have:
KSP 1.9.1

ModuleManager 4.1.3

OhScrap 2.1.1.0 (also tested 2.1.0.0)

Windows 8.1

 

Problem:

The game does not finish loading. Depending on whether Squad DLC are installed it stops at "Verifying <expansion>" or "Loading expansions..."

It also says in the loading screen:


Mod(s) DLL that are not compatible with this version of KSP
OhScrap 2.1.1.0 path/to/OhScrap.dll

 

If you cannot reproduce the issue I can also test it on Linux.

If you need any help in debugging / testing feel free to hit me up!

 

 

Many thanks and best regards

Fulgo

Is it possible you are missing a dependency mod?  If a DLL can't find another DLL it's expecting, it can throw an error like this.

Link to comment
Share on other sites

3 minutes ago, Pehvbot said:

Is it possible you are missing a dependency mod?  If a DLL can't find another DLL it's expecting, it can throw an error like this.

I do not believe so. I saw this popping up in my install with some 50 mods so I broke it down to a minimal reproducible setup and came up with OhScrap and MM only - neither has any dependencies.

The first time I saw all mods were installed through CKAN but for verification I installed "everything" manually.

Both my minimal setup and my actual install are fixed by simply removing OhScrap (which I have done for now as quite a few other mods depend on MM).

Link to comment
Share on other sites

1 hour ago, Fulgora said:

Hey zer0Kerbal,

thanks for providing this mod! I have used DangIt in the past and am now considering to switch to this one.

I have:

KSP 1.9.1

ModuleManager 4.1.3

OhScrap 2.1.1.0 (also tested 2.1.0.0)

Windows 8.1

 

Problem:

The game does not finish loading. Depending on whether Squad DLC are installed it stops at "Verifying <expansion>" or "Loading expansions..."

It also says in the loading screen:


Mod(s) DLL that are not compatible with this version of KSP
OhScrap 2.1.1.0 path/to/OhScrap.dll

 

If you cannot reproduce the issue I can also test it on Linux.

If you need any help in debugging / testing feel free to hit me up!

Many thanks and best regards

Fulgo

 

23 minutes ago, Pehvbot said:

Is it possible you are missing a dependency mod?  If a DLL can't find another DLL it's expecting, it can throw an error like this.

 

16 minutes ago, Fulgora said:

I do not believe so. I saw this popping up in my install with some 50 mods so I broke it down to a minimal reproducible setup and came up with OhScrap and MM only - neither has any dependencies.

The first time I saw all mods were installed through CKAN but for verification I installed "everything" manually.

Both my minimal setup and my actual install are fixed by simply removing OhScrap (which I have done for now as quite a few other mods depend on MM).

Thank you.

@severedsolo and @magico13 get all the credit.

With that said: OhScrap! has a hard dependency on ScrapYard. Do yo have that installed?

On 3/13/2020 at 4:27 AM, zer0Kerbal said:

Requires:

  • Kerbal Space Program v1.9.1, may work on earlier versions (YMMV)
  • ScrapYard to keep track of how many times a part has been built/recovered so that is a hard dependency. (obtained separately)

Depends:

  • Module Manager is required if you want the mod to actually do anything. (obtained separately)

I realize now - sort of confusing - but done this way because of the way CKAN operates. Will change for next release moving ScrapYard from Requires to Depends.

Link to comment
Share on other sites

11 minutes ago, zer0Kerbal said:

 

 

Thank you.

@severedsolo and @magico13 get all the credit.

With that said: OhScrap! has a hard dependency on ScrapYard. Do yo have that installed?

I realize now - sort of confusing - but done this way because of the way CKAN operates. Will change for next release moving ScrapYard from Requires to Depends.

Oh - I have overlooked that. I read 1.9.1 and went to the next section.

Apologies for my inability to read properly.

 

Many thanks - it works now!

Link to comment
Share on other sites

16 minutes ago, Fulgora said:

Oh - I have overlooked that. I read 1.9.1 and went to the next section.

Apologies for my inability to read properly.

 

Many thanks - it works now!

can't blame you - my posts are often TL;DR - :o:D

Glad to hear that!

PS - also a new version is on its way. Prelease is on GitHub - just waiting for the 'all clear' from the beta tester.

Link to comment
Share on other sites

On 3/21/2020 at 8:13 PM, Fulgora said:

The first time I saw all mods were installed through CKAN but for verification I installed "everything" manually.

(emphasis mine) If social distancing wasn't a thing I'd be hugging you with gratitude right now :D

Link to comment
Share on other sites

  • 3 weeks later...

Thanks for keeping this alive! I like the possibility for parts to fail, but I find testing parts 10 times, then manually throw them away in ScrapYard a bit cumbersome - it's repetitive and costs money. So I was thinking: in career mode you can enable cost for unlocking newly researched parts. Would it be possible to combine this with OhScrap or add a similar option, so that after paying these funds new parts get a reliability of 10 / start with generation 10? Of course this should be optional.

Link to comment
Share on other sites

18 hours ago, infinite_monkey said:

Thanks for keeping this alive! I like the possibility for parts to fail, but I find testing parts 10 times, then manually throw them away in ScrapYard a bit cumbersome - it's repetitive and costs money. So I was thinking: in career mode you can enable cost for unlocking newly researched parts. Would it be possible to combine this with OhScrap or add a similar option, so that after paying these funds new parts get a reliability of 10 / start with generation 10? Of course this should be optional.

interesting. don't know how much work this would be, but will consider it. suggest putting in a feature request on Github.

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