This is a collection of scripts I use in my (rather hardcore) KSP career game. I update and improve them frequently. Feel free to use or edit them according to MIT license.
Simply download the raw files to your computer, put into the Ships/Scripts
folder in your KSP install and edit if necessary. Then, during the game, run a command COPYPATH("0:/<filename>", "").
in the terminal and then RUN <filename>.
For realism purposes, I emulate a signal delay in most of the scripts. It works best alongside my Signal Delay mod that introduces similar delay for most other actions (unfortunately, it's currently impossible to do that within kOS itself). It is done by the DELAY.ks
script located in the sys
folder. You need to copy that file to your kOS CPU. For it to work, you need to manually set the delay (just take the value displayed by the Signal Delay mod). Use this command to set delay to 12 seconds: SET SD TO 12.
Delay is automatically set to 0 in the SOI of Kerbin, Mun and Minmus.
Some of the scripts log flight data to CSV files for analysis. KSC connection is required for the logging, but they can handly temporary loss of signal. The files are stored in the Ships/Scripts/logs
folder in your KSP install and can be opened with Excel. Log files usually include the first word in the vessel's name.
Many of the scripts have optional parameters that you can set before running the script. For a list of parameters and their default values, see the source code (they usually start with IF NOT (DEFINED ...)
).
Duna Entry, Descent and Landing for a chute- and engine-equipped lander
Duna's atmosphere height is considered 75 km according to Realistic Atmospheres mod.
Realtime Data & Logging: Yes
Action Groups:
- 1: Safe situation actions (e.g. deploy antennas and solar panels, executed after successful landing or leaving atmosphere)
- 2: Pre-entry actions (e.g. retract antennas and solar panels)
- 3: Science experiments (executed at 72 km, then at 16 km altitudes)
- 4: Clear science (executed at 16 km altitude before the second call of AG3)
Kerbin Entry, Descent and Landin for a chute- and heatshield-equipped reentry module
Ensure that chutes deployment is the next stage and heatshield decoupling (if present) is the one after it. Otherwise, use MANSTAGE
parameter.
Parameters:
MANSTAGE
: Manual staging of chutes and heathshield decoupler to override automatics. Just define this variable by assigning any value to it and then follow on-screen tips for when to stage.
Liftoff, Ascent and Orbit script to takeoff and go into orbit of a non-atmospheric body
Realtime Data & Logging: Yes
Parameters:
TA
: Target Altitude of the circular orbit, default = 30,000 mHFA
: Horizontal Flight Altitude (above "sea level"), when the vessel ends its gravity turn and starts burning horizontally, default = 5,000 m above takeoff altitudeTOI
: Target Orbital Inclination in degrees, may be very inaccurate for takeoffs from high latitudes, deault = 0CBP
: Circularization Burn Precession, how many seconds before apoapsis to start circularization burn, increase for lower TWR vessels, default = 20 sCFO
: Check Flame-Out of engines, useful for strap-on boosters, but disable if you have multiple engines on one stage that flameout separately (e.g. an LFO engine and an SRB), default = True
Automatic launch into a Kerbin orbit
Realtime Data & Logging: Yes
Action Groups:
- 1: In-space actions, run twice at 65 km and at 70 km altitutde (e.g. to eject fairing and deploy solar panels)
Parameters:
TA
: Target Apoapsis, default = 100,000 mTP
: Target Periapsis, default = TA (i.e. circular orbit)GTS
: Gravity Turn Start Altitude above sea level, default = 3000 mTOI
: Target Orbital Inclination in degrees, may be very inaccurate for takeoffs from high latitudes, deault = 0acProfile
&altProfile
: kOS lists that define target accelerations at altitude ranges, only change them if you know what you are doingCBP
: Circularization Burn Precession, how many seconds before apoapsis to start circularization burn, increase for lower TWR vessels, default = 40 sCFO
: Check Flame-Out of engines, useful for strap-on boosters, but disable if you have multiple engines on one stage that flameout separately (e.g. an LFO engine and an SRB), default = True
Creates an empty maneuver node in 2 minutes from now (used to address a KSP glitch)
Rendezvous & Docking Active script for a powered approach and docking with the target vessel
Run this script on the approaching vessel. It uses main engine to correct trajectory, slowly approach, automatically select the target port and dock with the another vessel. Press '9' to abort the script.
Realtime Data & Logging: Yes
Parameters:
TVN
: Target Vessel Name to manually define which vessel to approach, default is the current targetDSR
: Distance/Speed Ratio, the lower, the slower will be the approach, default = 0.01 (i.e. approach speed will be 10 m/s at 1000 m distance etc.)SAD
: Script Activation Distance, how far from the target vessel to start maneuvering, default = 10,000 m
Rendezvous & Docking Passive script for a vessel orientation towards the approaching vessel
Run this script on the bigger vessel (e.g. a station) simultaneously with RDA. It won't use any engines and will instead maintain the correct orientation of the docking port.
Parameters:
TVN
: Target Vessel Name to manually define which vessel to approach, default is the current target
Suicide Burn Landing script for non-atmospheric bodies
This script is used to auto-land a vessel in suborbital traectory over a non-atmospheric body. It initiates the "suicide burn" (often a series of burns) and then very slowly descends on the surface. Optionally, it can try to target a waypoint, but you need to be flying over it. Press '9' to abort the script.
Realtime Data & Logging: Yes
Parameters:
maxSpeed
: Maximum allowed landing speed, set it according to your vessel's sturdiness, default = 6 m/sminSpeed
: Minimum landing speed, too low value will make descent slow and fuel-consuming, default = 2 m/shoverAlt
: Hovering Altitude above ground, when the vessel starts a gentle descent, default = 100 muprightAlt
: Upright Altitude above ground, when the vessel is positioned vertically just before touchdown, change according to the vessel's height, default = 10 mTWP
: Target Waypoint name, set it if you want the vessel to start suicide burn in time to land close to the waypoint
An experimental (hopefully a bit more accurate) version of SBLAND, uses the same parameters as.
Execute Maneuver Node script to do just what it says on the tin (based on the example provided in kOS Documentation)
It is rather precise, but it doesn't take into account TWR changes due to fuel depletion and staging, so you can set burn time manually.
Parameters:
BD
: Burn Duration to override automatic calculation