Skip to content

Instantly share code, notes, and snippets.

@JonnyOThan
JonnyOThan / dllversions.md
Last active September 23, 2025 21:15
Print Dll Versions
  1. shift-right-click in your root ksp directory and "open powershell window"
  2. paste the below code and hit enter
  3. the output will be in the dll_versions.txt file

Get-ChildItem -Path . -Recurse -Filter "*.dll" | ForEach-Object { $v = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($_.FullName); "$($_.FullName) - ProductVersion: $($v.ProductVersion), FileVersion: $($v.FileVersion)" } | Out-File dll_versions.txt

@JonnyOThan
JonnyOThan / gist:358f41231d0a4773b92188e4ad786f6e
Last active November 17, 2025 20:04
KSP Performance Tips

Performance Tips

  1. install ksp community fixes version 1.37 or later
  2. reduce max physics dt to 0.02 (improves framerate but increases "slow motion" effect)
  3. If you have waterfall, make sure it's at least version 0.10.0
  4. graphics settings: make sure stock antialiasing is off, reflection refresh is low or off, the reflection resolution is reasonable (256 or so), and pixel light count is 8
  5. install deferred rendering
  6. remove known problematic mods: HUDReplacer (1.3.0 or earlier). If using VertexOblateHeightmap, be sure to update kopernicus.
  7. If you're using MJ or KER, close as many windows as you can
  8. use Parallax Continued over Parallax 2
@JonnyOThan
JonnyOThan / KSP Crashing.md
Last active February 6, 2025 20:01
KSP Crashing

So your KSP is crashing?

Most crashes are caused by running out of memory. You can confirm this by finding your error.log file and looking for the line that starts with "system commit total/limit/peak." If the last number is close to the middle number, you likely ran out of memory.

Your operating system will use free space on your hard drive for virtual memory. This is called the pagefile or swapfile. If the hard drive where your pagefile is located is nearly full, allocations will fail and the game will crash. Usually this is the drive where your operating system is installed - it does not matter where KSP is. If your drive is nearly full, get wiztree to identify what's taking up the space and delete it or move it to a different drive. As a last resort, you can move the pagefile to another drive with more space, but

Recommended Graphics Settings

These settings will get you the best visuals for the cheapest cost. Turning the settings higher does not significantly improve the visual quality but it WILL significantly increase the performance cost. If you have a weaker GPU you may want to set things lower.

  • Terrain scatter: off (assuming you have parallax)
  • Reflection refresh: If you have Deferred or Textures Unlimited, set to Low. Otherwise Off.
  • Reflection resolution: 256
  • Antialiasing: off (use scatterer or TUFX antialiasing; stock AA is incompatible with HDR + Bloom anyway)
[LOG 20:56:38.532] ******* Log Initiated for Kerbal Space Program - 1.12.3.3173 (WindowsPlayer x64) en-us *******
Kerbal Space Program - 1.12.3.3173 (WindowsPlayer x64) en-us
OS: Windows 10 (10.0.0) 64bit
CPU: AMD Ryzen 7 5800X 8-Core Processor (16)
RAM: 65461
GPU: NVIDIA GeForce RTX 3080 Ti (12100MB)
SM: 50 (Direct3D 11.0 [level 11.1])
RT Formats: ARGB32, Depth, ARGBHalf, Shadowmap, RGB565, ARGB4444, ARGB1555, Default, ARGB2101010, DefaultHDR, ARGB64, ARGBFloat, RGFloat, RGHalf, RFloat, RHalf, R8, ARGBInt, RGInt, RInt, BGRA32, RGB111110Float, RG32, RGBAUShort, RG16, BGRA10101010_XR, BGR101010_XR, R16
[LOG 20:56:38.532] ******* Log Initiated for Kerbal Space Program - 1.12.3.3173 (WindowsPlayer x64) en-us *******
Kerbal Space Program - 1.12.3.3173 (WindowsPlayer x64) en-us
OS: Windows 10 (10.0.0) 64bit
CPU: AMD Ryzen 7 5800X 8-Core Processor (16)
RAM: 65461
GPU: NVIDIA GeForce RTX 3080 Ti (12100MB)
SM: 50 (Direct3D 11.0 [level 11.1])
RT Formats: ARGB32, Depth, ARGBHalf, Shadowmap, RGB565, ARGB4444, ARGB1555, Default, ARGB2101010, DefaultHDR, ARGB64, ARGBFloat, RGFloat, RGHalf, RFloat, RHalf, R8, ARGBInt, RGInt, RInt, BGRA32, RGB111110Float, RG32, RGBAUShort, RG16, BGRA10101010_XR, BGR101010_XR, R16
[LOG 08:29:18.531] ******* Log Initiated for Kerbal Space Program - 1.12.5.3190 (WindowsPlayer x64) en-us *******
Kerbal Space Program - 1.12.5.3190 (WindowsPlayer x64) en-us
OS: Windows 10 (10.0.0) 64bit
CPU: AMD Ryzen 7 5800X 8-Core Processor (16)
RAM: 65461
GPU: NVIDIA GeForce RTX 3080 Ti (12100MB)
SM: 50 (Direct3D 11.0 [level 11.1])
RT Formats: ARGB32, Depth, ARGBHalf, Shadowmap, RGB565, ARGB4444, ARGB1555, Default, ARGB2101010, DefaultHDR, ARGB64, ARGBFloat, RGFloat, RGHalf, RFloat, RHalf, R8, ARGBInt, RGInt, RInt, BGRA32, RGB111110Float, RG32, RGBAUShort, RG16, BGRA10101010_XR, BGR101010_XR, R16

How do I get help with a KSP problem?

The easiest way for someone to help you is to send them your log files. Anything else is just guessing and a waste of time. They will need the entire file. Not a screenshot. Not a copy/paste of an exception you found. The whole thing.

The main log file is named KSP.log and sits in the same directory as the KSP executable. For default installs on Windows, this is at C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program. You can also right-click KSP in Steam and select "Manage -> Browse local files." By default, Windows will hide file extensions so you may only see the filename as "KSP" and type "Text Document." That's the right one. It's not in the Logs folder.

image

The log file is regenerated each time you launch KSP. It is most helpful if you reproduce whatever problem you were experiencing and then grab the log file. Do not

parameter desired_roll is 0.
parameter desired_heading is 90.
parameter target_apoapsis is body:atm:height + 10000.
parameter g_turn_target_altitude is target_apoapsis + 20000. // slightly higher than target AP
parameter throttle_down_altitude is target_apoapsis - 20000.
run once "logging.ks".
run once "util.ks".
log_message("=== ascent ===").
@JonnyOThan
JonnyOThan / boot_kerbin_moon_landing.ks
Created December 11, 2018 15:12
KOS mission phase manager
parameter ascent_roll is 0.
wait until ship:loaded and ship:unpacked.
if (ship:status = "PRELAUNCH") {
runpath("archive:/deploy", path(scriptpath()):name).
}
run once "logging"(1).