Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by Mercor

  1. Going to leave this here: It has quite similar question. This kind of question is asked so many times as it makes game more logical to progress. Most likely that is why it is so popular way to play the game in career mode.
  2. Well yea, I did see the change log in github and also the line: "POTENTIALLY SAVE BREAKING. NO UPGRADE PATH PROVIDED. SEE FORUM POST BEFORE LOADING YOUR SAVE" Came to forum and checked the main post and did not see any warnings. It is kind of difficult to just comb through posts and try to understand what kind of forum post was referenced if there is no link to it. And I did even find that specific post: But well that did not help me at all. How was I supposed to "reset the suits" if for some reason I cannot even load the game? I did not care about losing Earn The Stripes progress, at least it could have had some instructions on how I can reset the suits. I had to find the hard way of how to reset suits by binary search on mod configs in save file. For me I got it fixed. Could have saved bunch of time by just instructing, that "you might have to remove the mod config area in your save file by manually editing in text editor to reset progress and make mod loadable again" and then point out what section to search for in the save file. But you know could be useful to have some reference, like permalink to specific post in github or this disclaimer added on main post. Also some simple instructions where also the side-effect is described could have been useful. I guess other way to solve it would have been to just remove the mod, because it was giving errors. I do not think your goal is to get people to just abandon your mod. I do not think it is a bad thing to make correct choices and rewrite the core. If it means losing the progress of the mod, so be it. At least having working mod is better than mod that doesn't let you load the save.
  3. Yeah, I posted in there and even did the investigation on my machine that probably got a bit clarity what was causing the issues. I believe we had a chat in discord while I tested different options and building it on my machine to see if anything was fixing it.
  4. Updating to latest version made it unable to launch. Unhandled Exception: System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B) at CurlSharp.NativeMethods.curl_global_init(Int32 flags) at CurlSharp.Curl.GlobalInit(CurlInitFlag flags) at CKAN.Curl.Init() at CKAN.CmdLine.MainClass.Main(String[] args)
  5. I took quite a pause from KSP. Last time I played it 16.11.2019 KSP 1.8.1. Now thought to update the game and continue from save, or well try to do that. But it seems I am unable to load the save: Error Accessing this save. Input string was not in a correct format. So dug into log and in log there is something like: [EXC 06:57:22.671] FormatException: Input string was not in a correct format. System.Number.StringToNumber (System.String str, System.Globalization.NumberStyles options, System.Number+NumberBuffer& number, System.Globalization.NumberFormatInfo info, System.Boolean parseDecimal) (at <ad04dee02e7e4a85a1299c7ee81c79f6>:0) System.Number.ParseInt32 (System.String s, System.Globalization.NumberStyles style, System.Globalization.NumberFormatInfo info) (at <ad04dee02e7e4a85a1299c7ee81c79f6>:0) System.Int32.Parse (System.String s) (at <ad04dee02e7e4a85a1299c7ee81c79f6>:0) GameParameters+ParameterNode.Load (ConfigNode node) (at <c168e21ec56346b082f89043e76162e1>:0) GameParameters.LoadCustomNode (ConfigNode node) (at <c168e21ec56346b082f89043e76162e1>:0) GameParameters.Load (ConfigNode node) (at <c168e21ec56346b082f89043e76162e1>:0) GameParameters..ctor (ConfigNode node) (at <c168e21ec56346b082f89043e76162e1>:0) Game..ctor (ConfigNode root) (at <c168e21ec56346b082f89043e76162e1>:0) GamePersistence.LoadGameCfg (ConfigNode node, System.String saveName, System.Boolean nullIfIncompatible, System.Boolean suppressIncompatibleMessage) (at <c168e21ec56346b082f89043e76162e1>:0) MainMenu.OnLoadDialogPipelineFinished (ConfigNode node, System.String save) (at <c168e21ec56346b082f89043e76162e1>:0) MainMenu+<>c__DisplayClass83_0.<OnLoadDialogFinished>b__0 (ConfigNode n) (at <c168e21ec56346b082f89043e76162e1>:0) KSPUpgradePipeline.Process (ConfigNode n, System.String saveName, SaveUpgradePipeline.LoadContext loadContext, Callback`1[T] onSucceed, Callback`2[T,U] onFail) (at <c168e21ec56346b082f89043e76162e1>:0) MainMenu.OnLoadDialogFinished (System.String save) (at <c168e21ec56346b082f89043e76162e1>:0) LoadGameDialog.ConfirmLoadGame () (at <c168e21ec56346b082f89043e76162e1>:0) LoadGameDialog+<>c__DisplayClass40_0.<CreateLoadList>b__0 (System.Boolean isActive) (at <c168e21ec56346b082f89043e76162e1>:0) DialogGUIToggleButton.<Create>b__2_0 (System.Boolean b) (at <c168e21ec56346b082f89043e76162e1>:0) UnityEngine.Events.InvokableCall`1[T1].Invoke (T1 args0) (at <5aeafee3fea24f37abd1315553f2cfa6>:0) UnityEngine.Events.UnityEvent`1[T0].Invoke (T0 arg0) (at <5aeafee3fea24f37abd1315553f2cfa6>:0) UnityEngine.UI.Toggle.Set (System.Boolean value, System.Boolean sendCallback) (at <71b90c0cb66049febf95ce5efefd552e>:0) UnityEngine.UI.Toggle.set_isOn (System.Boolean value) (at <71b90c0cb66049febf95ce5efefd552e>:0) UnityEngine.UI.Toggle.InternalToggle () (at <71b90c0cb66049febf95ce5efefd552e>:0) UnityEngine.UI.Toggle.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at <71b90c0cb66049febf95ce5efefd552e>:0) UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at <71b90c0cb66049febf95ce5efefd552e>:0) UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at <71b90c0cb66049febf95ce5efefd552e>:0) UnityEngine.DebugLogHandler:LogException(Exception, Object) ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object) UnityEngine.EventSystems.EventSystem:Update() From it read out that the issue seems to be in Custom Game Parameter nodes in persistent.sfs, so I went ahead and removed all mod related ones, saved and was loadable in load screen already. Off I went with approximate binary search on the config elements and narrowed it down to such piece: StripeSettings { AutoPersistance = True NewGameOnly = False Debug = False NumberOfFlightsRequired = 5 FlightHoursRequired = 12 WorldFirsts = False GenerateCrew = True BasicSuit = True BgSuits = True } Comparing to another save, where I have it as below I went ahead and sliced it more til I found the culprit. StripeSettings { autoPersistance = True newGameOnly = False numberOfFlightsRequired = 5 flightHoursRequired = 12 worldFirsts = False } No luck there at first and then I noticed that in one config it had uppercase first letter, while other one lower case... Testing to change to lowercase seems to make the save loadable again. Probably there will be the issue that was mentioned about version 4.0.0 still coming but the unloadable save was not described anywhere. It might be that I skipped a KSP version or mod version or even many of them and the upgrade path was not followed. Maybe it will help someone else having similar issues. I will see what will be next issues I will encounter as I haven't really gotten to load the game yet. edit: this change kind of just invalidated all the existing options and recreated the config. It seems the expected datatype for WorldFirsts is supposed to be Integer, not Boolean. After loading game and it saving it became 1. BasicSuits and BgSuits seem to have changed into DefaultSuit and VeteranSuit with Integer as datatype as well.
  6. From what it sounds is that client cannot even reach the host or tries on wrong port. Assuming the ports used are default and correct, then you can first try pinging from client the server machine. If that does not work, then it does not exactly mean it cannot reach, it can mean that server machine is dropping ping packages in firewall, then you have to check the firewall. It might not be popular opinion, but for test you can try to turn off firewall on host side and try to ping and connect then, if it works, then it is firewall issue and you need to get the port opened in it. It might be unpopular opinion as usually it is not good idea to remove firewall as it might leave computer to vulnerable to attacks. That depends on outer network and if router/modem has some FW configured or in some cases ISP filter a lot of incoming traffic that is not answer to a request from customer systems side. Port forwarding should not be needed for LAN. However if you do port forwarding in router, then you should be able to connect in client using the router IP instead of host. The above talk about firewall on host machine still applies as if the router sends the traffic to host machine and it is being blocked, well then the traffic does not reach the server and you will have no trace in logs about it. TLDR; Server doesn't get the traffic as it gets lost in transit, seems from description to be firewall issue.
  • Create New...