Jump to content

[1.12.x] Kopernicus Stable branch (Last Updated February 12th, 2024)


R-T-B

Recommended Posts

Having some trouble running KSP. When at the main screen receiving an error message, "Kopernicus wasn't able to load the custom planetary system due to an exception in the loading process"

Googled as much as I could and I am at a roadblock not sure how to fix this. Here is my Installed Mod ListKopernicus Log File and KSP.LOG file

 

Only 2 system mods I have installed are RSS and Strange New Worlds

Link to comment
Share on other sites

So, I've been trying to write a config file to rescale my Kerbin, and so far, this code works great:

@Kopernicus:AFTER[KOPERNICUS]
{
  @Body[Kerbin]
  {
    @Properties
    {
      radius = 960000
    }
  }
}

...except that the ocean then becomes invisible. It's still there and my vessels can land in it/crash into it, but it just isn't visible. I tried asking in the Discord group for help, but didn't get any replies except a link to KittopiaTech, with which I managed to rescale the "radius" of Kerbin, but not the actual planet model, so the 'surface' ended up at an altitude of -360 km. It doesn't help that there are no guides for KT that I could find - I tried both Google and Youtube and didn't find anything that could be used as a guide. So I gave up on using KT and just went back to making my config file manually.

So my question is just: how do I make my oceans visible again after rescaling a body? I've played around with a few of the ocean settings, but none of them seem to do the trick for me.

Link to comment
Share on other sites

I'm running into an NRE spam loop from Kopernicus when used together with Galaxies Unbound. 

Spoiler

[ERR 14:35:16.262] Module ModuleSurfaceObjectTrigger threw during OnUpdate: System.NullReferenceException: Object reference not set to an instance of an object
  at Kopernicus.Components.ModuleSurfaceObjectTrigger.OnUpdate () [0x00090] in <d504c2aecaea4315a6dc0040212faedb>:0 
  at Part.ModulesOnUpdate () [0x0004a] in <cd473063d3a2482f8d93d388d0c95035>:0 

This only happens when I launch a craft from SPH or VAB with a command seat with a Kerbal in it (any craft will do, even just a structural piece with an attached command seat) and also on surface EVA (launch any stock pod on Kerbin, exit to EVA).

KSP 1.12.2, Windows 10

Mods used: 

Spoiler

Breaking Ground (BreakingGround-DLC 1.7.1)
Kopernicus Planetary System Modifier (Kopernicus 2:release-1.12.1-59)
Making History (MakingHistory-DLC 1.12.1)
ModularFlightIntegrator (ModularFlightIntegrator 1.2.10.0)
Module Manager (ModuleManager 4.2.1)
Galaxies Unbound 1.1

You need to also enable some of the star systems in GU. In my case I had Sirius, Tau Ceti, and Alpha Centauri enabled. Sounds like this is possibly a bug related to interstellar scales. 

Link to comment
Share on other sites

Hello all.  I am sorry I have not been more attentive to this thread.  The truth is not much work has been done on Kopernicus to fix bugs since the last release (outside of one secret, external project you may see later on, but that's OT).  The reasoning is I was hoping to make big progress on the known issues list by using a framework for fixing stock bugs known as Harmony.  However I have been made aware this is not allowed per KSP and Take Twos EULAS.  Thus that work has ground to a halt.

I still will fix bugs here and there, but this silly policy has sapped much of my will to work on this project.  The main bugs listed in the release notes right now (the interstellar ones) in particular I do not view as solvable without Harmony Framework.

I will fix other known Kopernicus bugs as they appear, but few if any new features will be added and you can view Kopernicus as in a "maintanence mode" until this policy improves.

The only bug reported as of late I might be able to fix is the one relating to Solar SOI and light range.  I am looking into that now.

Note, this does NOT mean Kopernicus is "dead."  It will continue to work as it always has.  But due to squad policies I am doubtful I will be able to fix many of the listed bugs, as I am not the type to go so far as to violate the EULA to do so.

Best regards,

-RTB

Edited by R-T-B
Link to comment
Share on other sites

Admittedly I haven't looked into the legal side of things but for what it's worth, Kerbalism, Conformal Decals, Luna multiplayer mod all use Harmony and have done so for years now. If Squad / Take Two wanted to go after modders using Harmony then those projects would already be dead. You could try contacting them to make sure though.

Link to comment
Share on other sites

10 hours ago, R-T-B said:

But due to squad policies I am doubtful I will be able to fix many of the listed bugs, as I am not the type to go so far as to violate the EULA to do so.

If I may, Kopernicus has always violated the EULA in its intent, and in practice by replacing the PSystem prefab.

There is no legal or technical difference in the act of replacing a game asset by using the tools provided by the underlying Unity engine API or replacing a portion of the game code using the tools provided by the underlying CLR and .NET framework through the Harmony library.

In both cases, this is a reverse engineering act performing a modification of the provided software, which is a double violation of the EULA.

Link to comment
Share on other sites

3 hours ago, Gotmachine said:

If I may, Kopernicus has always violated the EULA in its intent, and in practice by replacing the PSystem prefab.

There is no legal or technical difference in the act of replacing a game asset by using the tools provided by the underlying Unity engine API or replacing a portion of the game code using the tools provided by the underlying CLR and .NET framework through the Harmony library.

In both cases, this is a reverse engineering act performing a modification of the provided software, which is a double violation of the EULA.

My thoughts on that are threefold.

1.)  That's on a shaky legal foundation, since that prefab is openly exposed via standard reflection.

2.)  It's still more than I'd have been willing to do personally had I been aware of this policy.

3.)  I furthermore did not code that section of Kopernicus and have no plans to claim ownership of it.

It does make things complicated though, for me ethically speaking.

7 hours ago, Grimmas said:

Admittedly I haven't looked into the legal side of things but for what it's worth, Kerbalism, Conformal Decals, Luna multiplayer mod all use Harmony and have done so for years now. If Squad / Take Two wanted to go after modders using Harmony then those projects would already be dead. You could try contacting them to make sure though.

I know I could probably get away with it, and even comtemplated that, but have decided I am not willing to walk in that grey area, sorry.

Link to comment
Share on other sites

13 hours ago, R-T-B said:

That's on a shaky legal foundation, since that prefab is openly exposed via standard reflection.

How "exposed" something is doesn't matter as far as the EULA is concerned. The EULA forbid an act, it doesn't care about the tools you use.
The only thing that the EULA doesn't explicitly forbid is purely "additive" modifications. For example a new part.

But even in that case, the "red line" can be quite blurry.
For example, in intent, a combination of Kopernicus + OPM doesn't end in a modification, the stock system remains as originally provided.
But under the hood, there are still significant alterations being performed, and those still are a "reverse engineering/decompile/dissemble" act.

In the end, the issue is that the EULA is completely disconnected from the existence of modding. It's a copypasted standard end user software contract.
From there, any attempt at rationally determine how it apply to modding is an exercise in futility.

Which is why the so-called "addon posting rules" with the "follow the EULA" statement doesn't make much sense.

To take a step back on the situation, it should be noted that at the notable exception of Minecraft, as far as I know, all games in existence having a "recognized" modding community are in the same situation with their EULA.
At best, the developer/publisher has made a public statement, or has a separate contract for using the official mod sharing services (that's what the KSP addon posting rules are), saying that modding is tolerated, sometimes with some additional details.

The KSP addon posting rules are a relic of a 9 years old forum post, written by a modder with a quite aggressive and restrictive policy in mind at the time.
But since then, the modding scene has been blooming in size and technical ability, resulting in daily infringements on both the EULA and those rules, all that while Squad was praising said mods in "thread of the month" posts and saying how proud it is of the modding community.

For example, at the time, there was a hardcoded ban in the plugin loader on the System.IO and System.XML namespaces, something that was reverted latter without any explanation (as far as I know, but I bet there is a juicy story behind that).
Somehow, what this guy said 9 years ago and that long gone forum post has become the "source of truth" over the years.
My bet is that neither Private Division, Intercept games, or what now remains of Squad has an actual "modding policy", beside interpretations and opinions of individual employees or of the forum moderation team members.
An example how this is completely arbitrary : the forum moderation is aggressively removing any discussion containing technical details obtained trough KSP assembly reverse-engineering, but has no problem with technical details obtained by reverse engineering the KSP assets.

All this to say I wholly support and understand your position, and would very much like to see the "officials" taking a stance that acknowledge the reality of KSP modding : modders need to break the EULA and they need to reverse-engineer the game. You can't mod what you don't understand.
It would be wonderful if the KSP forums actually allowed the exchange of all technical information between modders, instead of us having to hide on unofficial channels.

Due to KSP being a tiny game now belonging to a AAA publisher, I doubt we will ever see a custom modding-friendly EULA.
But maybe they could release an actual "modding policy" that doesn't try to supersede the EULA while not doing it at the same time like the current addon posting rules, and just acknowledge that they are wishing to "look the other way" on EULA infringements in the context of modding.
If you think this is a silly idea, this exactly what Rockstar (a T2 subsidiary, like Private Division) has for GTA games : https://support.rockstargames.com/articles/115009494848/PC-Single-Player-Mods

Edited by Gotmachine
Link to comment
Share on other sites

3 hours ago, Gotmachine said:

Due to KSP being a tiny game now belonging to a AAA publisher, I doubt we will ever see a custom modding-friendly EULA.
But maybe they could release an actual "modding policy" that doesn't try to supersede the EULA while not doing it at the same time like the current addon posting rules, and just acknowledge that they are wishing to "look the other way" on EULA infringements in the context of modding.
If you think this is a silly idea, this exactly what Rockstar (a T2 subsidiary, like Private Division) has for GTA games : https://support.rockstargames.com/articles/115009494848/PC-Single-Player-Mods

It's amazing that gaming companies are still struggling with this after more than thirty years of dealing with their respective gaming communities. The concept isn't particularly new or limited to modding and they still have trouble getting it right.

Link to comment
Share on other sites

On 10/27/2021 at 2:24 AM, Gotmachine said:

How "exposed" something is doesn't matter as far as the EULA is concerned. The EULA forbid an act, it doesn't care about the tools you use.

This goes back to court cases like Google vs. Oracle re: being able to copyright and/or control an API you have exposed.  I believe the end result was that yes, you can do that.  But my point is it's not without its past challenges.  Either way, even if I am wrong there, the other two points explain my stance well.  I'm not willing to wade into those waters, unfortunately.

On 10/27/2021 at 2:24 AM, Gotmachine said:

In the end, the issue is that the EULA is completely disconnected from the existence of modding.

That is indeed the crux of the issue.

On 10/27/2021 at 2:24 AM, Gotmachine said:

To take a step back on the situation, it should be noted that at the notable exception of Minecraft, as far as I know, all games in existence having a "recognized" modding community are in the same situation with their EULA.

Indeed.  But KSP is in a fairly unique boat of having stock code so buggy there is no way around having to use something like Harmony to fix certain things.  It's really a first for me.  I can't use the official model, and I can't/won't violate a EULA to use an unofficial model.

In a past life, I was a gamedev.  Never got anywhere, but this leads to me respecting EULAs, even if I massively disagree with them.  Honestly I'd not have taken this project on were I aware of this at the start, but as of now, I can only offter to maintain the parts that don't violate anything, and remind others I did not code the rest.

On 10/27/2021 at 2:24 AM, Gotmachine said:

All this to say I wholly support and understand your position, and would very much like to see the "officials" taking a stance that acknowledge the reality of KSP modding : modders need to break the EULA and they need to reverse-engineer the game. You can't mod what you don't understand.

Especially in the case of a game like KSP, yes.  They really need to draw a line in the sand and make it clear, or I can't work.  That's all it comes down to.

Edited by R-T-B
Link to comment
Share on other sites

2 hours ago, Grimmas said:

I hate to be that guy but you're stretching reality there. In the first place KSP works fine (without mods) so a decompilation "to correct errors" is not necessary or justifiable. 

It doesn’t, and this is well documented in the bug tracker. That’s not to say that R-T-B needs to take that as a go-ahead regardless of whatever Squad says, esp. cause they might not be under those laws’ jurisdiction. There really does need to be an official address to this problem, preferably one that allows modding to continue.

EDIT: plus that isn’t how those laws work, as documented below

Edited by RyanRising
Link to comment
Share on other sites

1 hour ago, Grimmas said:

I hate to be that guy but you're stretching reality there. In the first place KSP works fine (without mods) so a decompilation "to correct errors" is not necessary or justifiable. 

Debatable. The game as a whole might work ok but specific part module have bugs that have persisted for years and are not 'working fine'. For some of them mods have been necessary to fix the bugs.

Link to comment
Share on other sites

2 hours ago, Kyptoma said:

Court of Justice of the European Union allows Reverse Engineering to Correct Errors

Maybe not in the main line:

But if in EU reverse engineering and recompiling is allowed to fix bugs regardless of licence, then "just" bugfixing per mod shouldn't be disallowed.

It looks like this part hoses that argument:

Quote

in the absence of a provision in the license agreement

If a EULA says "no decompiling", then that ruling doesn't apply. All that court is doing is establishing what the baseline is in the law if nobody thinks to specify it.

Link to comment
Share on other sites

29 minutes ago, HebaruSan said:

It looks like this part hoses that argument:

If a EULA says "no decompiling", then that ruling doesn't apply. All that court is doing is establishing what the baseline is in the law if nobody thinks to specify it.

That ruling doesn't look so simple as that.  In a number of places it contains language that would nullify such a EULA or at least the portion prohibiting decompilation.

"software code without infringing the Software Directive. In a judgement of 6 October 2021 in the case C-13/20, the Court of Justice of European Union (CJEU) ruled that insofar decompiling is necessary to debug the software, regardless of whether it is prohibited by the license agreement"

Further, the area that you seem to be talking about is specfically addressing the presence or absence of procedures for decompilation for the purpose of correcting errors and not a blanket prohibition of decompilation. In other words, a EULA can't prohibit decompilation if it is done soley for the purpose of correcting errors.

  • Recital 18 of the Software Directive prevents IT developers to contractually prohibit both the loading and unrolling operations necessary for the use of a copy of a legally acquired program and the correction of errors affecting the operation thereof, meaning that parties cannot contractually exclude any possibility of making a correction of these errors;
  • however, the parties can stipulate the procedures for exercising the right to decompile; for example, the parties can agree that the rightholder must ensure corrective maintenance of the program concerned; and
  • in case the parties did not provide for any specific contractual provisions, the licensee shall be free to decompile the program insofar as this proves to be necessary in order to correct errors affecting the operation of the program. Of course, the licensee shall not be permitted to decompile for other purposes than correcting such errors.
Link to comment
Share on other sites

All of this is irrelevant for @R-T-B who does not want to take any risks - which is fair. The stress and financial burden of a potential lawsuit, however unlikely it is, is not worth it for the average modder. Even if you happen to win, you'll have burned bridges and spent tens of thousands of $$$ on legal representation - it will be a pyrrhic victory. 

Link to comment
Share on other sites

10 hours ago, Vanamonde said:

Please return to the topic of the thread. 

Indeed.  I did not intend to stir anything up.  I just wanted people to know my stance.

Good news is after discussions with @Gotmachine, we have a workable solution.  tl;dr:  I won't touch Harmony, but I will forward issues requiring it to his mod, KSPCommunityFixes.  I would advise people experiencing stock game bugs to look there.  Release notes will note this when applicable.

I will continue work on the standard part of the codebase as I always have.  There will be a minor bugfix release soon, albeit it only fixes some minor bugs with KSC customization and shadows, but hey, we do what we can.

Carry on.

Edited by R-T-B
Link to comment
Share on other sites

Kopernicus release-60

New in this latest version (release-60):

1.) Shadow fixes for KSC scene and in general on DirectX 11, to act slightly more like stock (and look better).

2.) Minor fix to grass customization at KSC in some custom mods.

Known Bugs:

1.) Old craft files may complain about a missing module. This is a cosmetic error and can be ignored. Reload and re-save the craft to remove the error.

2.) At interstellar ranges, heat can sometimes behave strangely, sometimes related to map zoom (be careful zooming out). It is best to turn off part heating when traveling far far away.

3.) When zooming out all the way out in map view at interstellar ranges, the navbal furthermore sometimes behaves oddly. We are working on this and all the interstellar bugs actively.

Known Caveats:

1.) The 1.12.x release series works on 1.12.x,1.11.x,1.10.x, and 1.9.x. The 1.8 release is for 1.8.x.

2.) Mutlistar Solar panel support requires an additonal config file, attatched to release.

3.) Before 1.12.0, the mission creator module in Making History is somehow, amazingly, is bugged in such a way as to make landing at bodies more distant than say, Stock Eeloo, impossible, due to sinking landing gear and lethal-to-kerbalkind terrain. The general work around for this is to a.) stay within the standard solar system distance, or b.) install another mod: "MakingLessHistory."

4.) When using the ultra/atlas shader, ocean effect customization (color etc) is unreliable. Please use only high shader level (shader level 2) or lower if working with stock ocean effects. This does not effect scatterer or other ocean rendering mods.

 

Back to normal folks. :)

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