Jump to content

[How to] bypass the new Launcher added in update 1.12.4 [Steam]


4x4cheesecake

Recommended Posts

Hey guys :)

With the latest 1.12.4 update, SQUAD / Private Division decided to introduce an additional launcher to the game which will start up after hitting the "Play" button in Steam instead of launching the game directly. IMO this is rather annoying and doesn't provide any actual benefits, in fact, it actually causes some trouble especially for mods.

Since the update, me and others figured out multiple ways to circumvent the launcher which come with their own benefits and drawbacks, so here are a few for you guys to choose from, depending on which solution fits the best for you :)

            4vNq0Ol.png

1. KSSL (KSP Simple Steam Launcher)

Pros:

  • Easy to use
  • You keep all the Steam features like the overlay, game time tracking, etc.
  • Mods will work as usual

Cons:

  • Need to be reinstalled if the game ever gets another update or you verify the games file integrity

 

@R-T-B wrote this wrapper which replaces the original executable of the launcher. Simply replace the "LauncherPatcher.exe" provided by them with the one from the stock game and you're already done and ready to go.

 


2. Change the game launch options (shortcut version)

Pros:

  • Resilient to any further game updates
  • Mods will work as usual

Cons:

  • Steam features like the overlay and game time tracking don't work anymore
  • Slightly more difficult to setup

 

Steam allows to setup individual launch options for each game, which can be used to redirect the target for the "Play" button in your Steam library. This particular solution by @Gotmachine redirects the button to point to a shortcut, which then again points to the game executable:

On 11/5/2022 at 8:50 PM, Gotmachine said:

Doing that will have the side effect of having KSP running from the wrong working directory.
In stock KSP, the only likely side effect will be that the KSP.log file will be generated in the "PDLauncher" directory, but this will definitely cause cascading side effects on various mods.

While you can specify a different executable in the Steam command line, you can't set the working directory, which is hardcoded to the "PDLauncher" directory.

This being said, the proper workaround is to have Steam pointing at a shortcut instead of KSP_x64.exe :

- Open your KSP root folder (In Steam, right click on the game > Browse local files). Usually this will be "C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program".
- Right-click on KSP_x64.exe > Create shortcut
- Rename the shortcut to "KSP_x64_Steam"
- In Steam, open the game properties, and in the "Launch Options" field, put the path to the shortcut between quote, with  :

"C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program\KSP_x64_Steam" %command%

This will launch the shortcut instead, with the correct working directory.


 

3. Change the game launch options (executable version)

Pros:

  • Resilient to any further game updates
  • "Purist" solution to keep the game 100% stock
  • Steam features will work as usual

Cons:

  • Mods are very likely to break
  • Slightly more difficult to setup

 

So, this was the solution I came up with like an hour after the update but which turned out to be problematic later on. Works in the same way as the previous solution but instead of redirecting the "Play" button to a shortcut, it gets redirected to the games executable:

  1. Right click KSP in your Steam Library
  2. Click on properties
  3. At the bottom of the "General" tab, you will find "Launch Options" and a text field.
  4. Write in this text field "FULL GAME PATH TO .EXE FILE" %command%
  5. Close the window
  6. Profit!

for example:
 

Spoiler

Lj32Vel.png

The window is not resizable to show the full command but I guess you get it ;) If you are having trouble to find the path to your game executable, you can right click the game in your library -> "Manage" -> "Browse local files". This will open up a window with your game files, showing the path at the top navigation bar.

 

4. The Kerbal Way (aka jump through three loops to accomplish.... "something")

Pros:

  • Mods will work as usual
  • Steam features will work as usual

Cons:

  • Fairly janky to setup
  • Not extensively tested
  • A CMD window will be open as long as the game is running

This is basically a combination of solution #2 and #3 but instead of redirecting the "Play" button to the game executable or a shortcut of it, it gets redirected to the windows command line (CMD) which then is used to launch the game. Choosing this solutions allows you to eliminate the drawback of missing steam features from solution #2.

So, in order to achieve this, you need to follow the instructions from solution #2 but the command in the games launch options needs to be:

"PATH TO CMD" %command% /c "start PATH TO SHORTCUT.lnk"

The quotation marks are important, as well as using the ".lnk" extension at the end of the shortcuts name, even if it is not visible in your explorer window or part of the name you gave the shortcut.

The "PATH TO CMD" should always be the same in windows:

c:\Windows\System32\cmd.exe

The "/c" will pipe everything in quotation marks after it as a command to the CMD, so we are just telling it to launch the game via the shortcut.

In my case, the full command looks like this:

"c:\Windows\System32\cmd.exe" %command% /c "start D:\SteamLibrary\steamapps\common\"Kerbal Space Program"\KSP_x64_shortcut.lnk"

 

 

What about Linux/MacOS???

I dont use neither of those so I can only refer to the post of  @Nazalassa :

On 11/6/2022 at 11:47 AM, Nazalassa said:

[Still speaking as a Linux user]

Normally, in the KSP directory, there should be two executables: KSP.<exe/app/x86_64/whatever> and KSPLauncher.<exe/app/x86_64/whatever> .
Steam now launches KSPLauncher.{whatever} . To get rid of the launcher, the only thing to do is to find where the path to the executable is stored within Steam and replace KSPLauncher.{whatever} by KSP.{whatever} .

I can't say anything about pros and cons for this solution, not even if it works or details about the execution, sorry.

 

What about other launch options???

Other launch options like "-popupwindow" or "-force-d3d11" should still work as usual for any solution on this list. For solution #2 to #4, you can just add them at the very end of the command, for example:

"C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program\KSP_x64_Steam" %command% -popupwindow

or

"C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program\KSP_x64.exe" %command% -popupwindow

or

"c:\Windows\System32\cmd.exe" %command% /c "start D:\SteamLibrary\steamapps\common\"Kerbal Space Program"\KSP_x64_shortcut.lnk" -popupwindow

 

 

I hope everyone was able to find a solution which fits bets for their situation but if not, you're always welcome to ask questions right here in the thread. If any other solution comes up to fill up a niche, I'll happy add it to the list, same goes for linux and MacOS versions of the game. Also, any feedback is always welcome :)

Edited by 4x4cheesecake
TOTM DEC 2022 POG
Link to comment
Share on other sites

I can confirm, the update has NOT improved performance by any noticeable degree...

PbKXegL.png

C82EB5I.png

2 cruisers, 1 frigate, 1 corvette and a starfighter still lag to the point that its borderline unplayable (and i dont even wanna know what would happen if i opened fire and the game had to render all the cannon trails/explosions/parts being shot off)...  That and not all of my mods work either, at least the super critical stuff works...

Link to comment
Share on other sites

@panzer1bAre you sure you wanted to post that here instead of the update announcement thread? ;)
And as far as I have read, the update never claimed to improve performance, just some bug fixes for tutorials and clock, as well as adding this rather unwanted launcher.

Though, your ships look awesome :cool:

Edited by 4x4cheesecake
Link to comment
Share on other sites

Doing that will have the side effect of having KSP running from the wrong working directory.
In stock KSP, the only likely side effect will be that the KSP.log file will be generated in the "PDLauncher" directory, but this will definitely cause cascading side effects on various mods.

While you can specify a different executable in the Steam command line, you can't set the working directory, which is hardcoded to the "PDLauncher" directory.

This being said, the proper workaround is to have Steam pointing at a shortcut instead of KSP_x64.exe :

- Open your KSP root folder (In Steam, right click on the game > Browse local files). Usually this will be "C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program".
- Right-click on KSP_x64.exe > Create shortcut
- Rename the shortcut to "KSP_x64_Steam"
- In Steam, open the game properties, and in the "Launch Options" field, put the path to the shortcut between quote, with  :

"C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program\KSP_x64_Steam" %command%

This will launch the shortcut instead, with the correct working directory.

Link to comment
Share on other sites

2 hours ago, Gotmachine said:

Doing that will have the side effect of having KSP running from the wrong working directory.
In stock KSP, the only likely side effect will be that the KSP.log file will be generated in the "PDLauncher" directory, but this will definitely cause cascading side effects on various mods.

While you can specify a different executable in the Steam command line, you can't set the working directory, which is hardcoded to the "PDLauncher" directory.

This being said, the proper workaround is to have Steam pointing at a shortcut instead of KSP_x64.exe :

- Open your KSP root folder (In Steam, right click on the game > Browse local files). Usually this will be "C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program".
- Right-click on KSP_x64.exe > Create shortcut
- Rename the shortcut to "KSP_x64_Steam"
- In Steam, open the game properties, and in the "Launch Options" field, put the path to the shortcut between quote, with  :

"C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program\KSP_x64_Steam" %command%

This will launch the shortcut instead, with the correct working directory.

This.  I think Kopernicus can handle this scenario but I really doubt all mods will be ready for it.  These directions are better suited, as they preserve the working directory.

Link to comment
Share on other sites

2 hours ago, Nazalassa said:

Note from a Linux user: if you're on Linux, the file is named "KSP.x86_64", not "KSP.exe" :)

ah, different platforms different executable names.  Fun.  I could make my bypasser program fire an external editable script file, and then maybe it could be used to defeat a variety of launchers that just launch another executable.  That's not a bad idea actually.

In the meantime, if you want to hack on it, feel free.  The code is incredibly basic.  Or use any of the other methods (was ambiguous what you were referencing).

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

[Still speaking as a Linux user]

Normally, in the KSP directory, there should be two executables: KSP.<exe/app/x86_64/whatever> and KSPLauncher.<exe/app/x86_64/whatever> .
Steam now launches KSPLauncher.{whatever} . To get rid of the launcher, the only thing to do is to find where the path to the executable is stored within Steam and replace KSPLauncher.{whatever} by KSP.{whatever} .

Link to comment
Share on other sites

20 hours ago, Gotmachine said:

Doing that will have the side effect of having KSP running from the wrong working directory.
In stock KSP, the only likely side effect will be that the KSP.log file will be generated in the "PDLauncher" directory, but this will definitely cause cascading side effects on various mods.

While you can specify a different executable in the Steam command line, you can't set the working directory, which is hardcoded to the "PDLauncher" directory.

This being said, the proper workaround is to have Steam pointing at a shortcut instead of KSP_x64.exe :

- Open your KSP root folder (In Steam, right click on the game > Browse local files). Usually this will be "C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program".
- Right-click on KSP_x64.exe > Create shortcut
- Rename the shortcut to "KSP_x64_Steam"
- In Steam, open the game properties, and in the "Launch Options" field, put the path to the shortcut between quote, with  :

"C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program\KSP_x64_Steam" %command%

This will launch the shortcut instead, with the correct working directory.

Ok, that's a weird quirk I didn't know about. Do you mind if I add this to my original post?

@Nazalassasame question for you: Do you mind if I add your information about the procedure in linux to my original post?

Edited by 4x4cheesecake
Link to comment
Share on other sites

20 hours ago, Gotmachine said:

Doing that will have the side effect of having KSP running from the wrong working directory.
In stock KSP, the only likely side effect will be that the KSP.log file will be generated in the "PDLauncher" directory, but this will definitely cause cascading side effects on various mods.

While you can specify a different executable in the Steam command line, you can't set the working directory, which is hardcoded to the "PDLauncher" directory.

This being said, the proper workaround is to have Steam pointing at a shortcut instead of KSP_x64.exe :

- Open your KSP root folder (In Steam, right click on the game > Browse local files). Usually this will be "C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program".
- Right-click on KSP_x64.exe > Create shortcut
- Rename the shortcut to "KSP_x64_Steam"
- In Steam, open the game properties, and in the "Launch Options" field, put the path to the shortcut between quote, with  :

"C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program\KSP_x64_Steam" %command%

This will launch the shortcut instead, with the correct working directory.

THANK YOU SO MUCH!

Link to comment
Share on other sites

20 hours ago, R-T-B said:

UPDATE:  I hated all the existing solutions and made my own.  If anyone finds it useful, here we go in tools and applications:

 

I have been having problems with the other methods either giving errors or not working at all.  Or working one time but not the next time.  This wrapper seems to work with no problems so far.

Link to comment
Share on other sites

1 hour ago, miklkit said:

I have been having problems with the other methods either giving errors or not working at all.  Or working one time but not the next time.  This wrapper seems to work with no problems so far.

It's designed to be a prepackaged solution, yeah.  Later I'll make it not depend on some oddball version of .net, if I have time. ;)

Link to comment
Share on other sites

23 hours ago, R-T-B said:

This.  I think Kopernicus can handle this scenario but I really doubt all mods will be ready for it.  These directions are better suited, as they preserve the working directory.

Worst. KSP itself will start to look for and save files on the wrong place - while this ordeal were being diagnosed on my side, it was found that KSP.log was being written inside the PDLauncher's directory. I didn't further tested this, but I'm unsure about how settings.cfg, partdatabase.cfg and perhaps even the savegames would behave on this situation.

On my add'ons, I choose to stick with Stock and normalized my pathnames to work with the PWD the KSP likes - using absolute pathnames instead is less than ideal because it makes porting code to handhelds and console more problematic (and, hey, Steam Deck is a thing! I'm dying to grab one!). The unreparse stunt made by the mono runtime is already bad enough.

 

18 hours ago, R-T-B said:

ah, different platforms different executable names.  Fun. 

Yet more fun: on MacOS, we follow the NextStep convention: an Application is a folder those name ends with ".app" and inside we have all the resources needed (or symlinked) for it. It's elegant to say the least, installing and uninstalling applications is pretty straightforward. But it's a pain to call them programatically, we usually do a shell with "open /full/path/to/Application.app" and let the OS do the rest.


About the problem at hands: what happened is that the Program Working Directory, PWD (or Current Working Directory - CWD, or Default Directory - different names on different O.S.s for the same thing) was being set inside the PDLauncher folder, and not on the KSP's root directory anymore. And so, everybody that is relying on the PWD being correctly set (including KSP itself, as the KSP.log ends up on the wrong place due the stunt) gets screwed as things are not reachable anymore from the places it used to be.

Edited by Lisias
Tyops gallore!
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...