KOSMOS

Flight & Operators Manual

Introduction

Kosmos is a space flight simulator. You fly rockets, tugs, landers, stations and even aeroplanes through a physically modelled solar system. Gravity follows whichever body you are in the sphere of influence of; atmospheres produce drag and lift; fuel is finite; time can be accelerated for long transfers.

Kestrel on the pad
The default start: Kestrel on its pad at Chippenham Spaceport.

Beyond the solar system there is a 24,409-star galaxy to visit, and ships with a quantum jump drive can fly there.

You can fly manually, use the ship's autopilot, or write your own scripts. Everything the simulator knows is published in a property tree, which instruments, autopilots and the tools in this manual all read from and write to.

Running Kosmos

./kosmos [options]

With no options Kosmos loads the default scenario (data/scenarios/default.json): Kestrel on the pad at Chippenham Spaceport. Copy that file to ~/.config/kosmos/scenarios/default.json and edit it to change what you start with. To pick a different start, give a scenario id (the file name without .json):

./kosmos --list-scenarios
./kosmos --scenario 07_mars_orbit

Press F10 in flight to load the next scenario, or R to reset the current one. Esc quits. See the command-line reference for all options.

The screen

The top-left heads-up display shows, from top to bottom:

Aircraft get their own line with airspeed, climb rate, angle of attack, sideslip and flap setting. The bottom of the screen shows key reminders; you can hide them in the settings window. The on-screen text is off when Kosmos starts, for a clean view: press I to show or hide it all at once (title, telemetry and key reminders), or start with --show-info.

HUD in orbit
The HUD in low Earth orbit: apoapsis 350 km, periapsis 350 km.

Controls

Flight

KeyAction
Z / XFull throttle / cut throttle
Shift / CtrlRamp the throttle up / down while held
W SPitch
A DYaw (rudder in an aircraft)
Q ERoll
Arrow keysRCS translation
SpaceFire the next stage
TCycle SAS hold mode
PToggle the ship's autopilot
B / FWheel brakes / cycle flaps (aircraft)
LLanding gear up / down (ships with retractable gear, such as the Skylark)
, / .Time warp down / up
UUndock
VSwitch to the next ship
RReset the scenario

Views and interface

KeyAction
Right-dragLook around from the chase camera (the camera stays put and turns; the view is straightened again by switching camera with C)
[ ]Zoom the camera
CCycle chase view, 2D cockpit, 3D cockpit, then your own cameras (the orbiting External camera first)
TabOrrery map
GGalaxy map
OOrbit line on/off
H / Shift+HCycle the head-up display (orbit, surface, docking, off) / change its colour. The HUD shows only in cockpit views (C)
IShow or hide all on-screen text
MSound on/off
F2Camera window
F3Settings window
F4Property browser
F1Ship systems window
F5Cycle MFD display: off, framed panels, heads-up
F6 F7Cycle left / right MFD mode
F8 F9Left / right MFD power
F10Load the next scenario
F11Lua console
Alt+EnterToggle full screen
F12Multiplayer
JJump next to the nearest other player (multiplayer)
EscClose menus and windows; quits when none are open
Mouse to top edgeSlide in the menu bar (when unpinned)

While you are typing in a text box in one of the F-key windows, flight keys are ignored, so editing a script will not fly your ship.

Attitude & SAS

The Stability Augmentation System (SAS) turns the ship to hold an orientation. Press T to cycle through the modes:

ModeHolds
stabilityDamps rotation; holds whatever attitude you leave it in
prograde / retrogradeAlong / against your orbital velocity
radial-out / radial-inAway from / towards the body
normal / antinormalPerpendicular to the orbital plane, either way
offNo assistance; you fly the rotation yourself

Turning on the autopilot disables SAS holds. Rotation uses reaction wheels or thrusters, so it works in vacuum. In an atmosphere, aircraft rotate using their control surfaces instead.

Launch to orbit

Start scenario 01_launch_pad: a Kestrel three-stage launcher on its pad. A typical ascent is:

  1. Set full throttle with Z, then press Space to ignite the first stage.
  2. Climb straight up through the thickest part of the atmosphere. Once you clear about 10 km, gradually pitch over towards the horizon (heading 90° is due east, which gains the most from Earth's rotation).
  3. When the booster runs dry, press Space again to stage. The upper stage takes over.
  4. Keep your apoapsis climbing towards the target altitude, coast to apoapsis, and burn prograde to raise your periapsis and circularise.

Or press P and let Kestrel's built-in autopilot do it; it flies to a 200 km circular orbit.

Watch your TWR in the HUD. Above 1.0 you climb; much below it you are wasting fuel fighting gravity.

Kestrel at Chippenham
Launching from a spaceport (scenario 15) uses the same procedure.

Orbits & time warp

An orbit is described by its apoapsis (highest point), periapsis (lowest point), eccentricity and inclination. The Orbit MFD draws it in its own plane and shows the main orbital elements; O toggles the orbit line in the 3D view.

Use . and , to change the time-warp factor. The levels are:

1x  2x  3x  4x  5x  10x  50x  100x  1,000x  10,000x  100,000x

Warp up to 4x runs the full physics. Above that your ships go on rails: they follow a pure orbit and cannot burn. Kosmos refuses to go on rails when it would be unsafe (for example, while you are thrusting, standing on a surface or in a dense atmosphere), and drops the warp back down.

Transfers

To travel between bodies, set a target (TGT+/TGT- on the target-based MFDs, or --target NAME on the command line) and use:

OrbitComp

OrbitComp is a space-only MFD in the style of Orbiter's TransX. Its left buttons switch page (ORB, MAN, PLN) and cycle the target (TGT+/TGT-); the right buttons change with the page.

Plans assume near-circular, coplanar orbits, so treat them as a starting point and correct en route.

OrbitComp ORB page
OrbitComp: orbit page with the Moon targeted.
OrbitComp MAN page
The manoeuvre page.
OrbitComp PLN page
An ejection plan to Mars.

Leaving a body's sphere of influence for another (Earth to Moon, say) is automatic: the simulator switches the reference body, and the HUD tells you which body you are now in the sphere of influence of.

Orrery map
The orrery map (Tab) is useful for planning interplanetary legs.

Landing

Landers like the Ares Spider are designed to touch down gently. Start from 04_tranquility to see one on the Moon, or 08_mars_landing for Mars's Gale Crater.

  1. Kill your orbital velocity with a retrograde burn (use SAS retrograde).
  2. Keep the ship upright, watching your vertical speed and altitude on the Surface MFD.
  3. Use the throttle to arrive at the ground below a few metres per second.

A crash ends the flight with a "vessel lost" message; press R to try again. Earth, the Moon and Mars can use real elevation data when the optional Orbiter terrain packs are installed; otherwise their terrain is procedural.

Lander on the Moon
Ares Spider at Tranquility Base.

Docking

Ships and stations with docking ports can connect. Scenario 13_docking_approach places a Wren tug near a Salyut station. Use the Docking MFD, which shows the relative position and velocity of the target port:

  1. Select the target port (PRT) and tune its transponder (TUNE), or press RCV to receive.
  2. Close in slowly with RCS translation (arrow keys), steering the relative position to the centre of the display.
  3. Line up the ports' directions, and arrive at less than a metre per second.
  4. To separate, press U or the UNDK button.
Docking approach
Scenario 13: a tug approaching a station over Earth.

Aircraft

Ships of class aircraft fly with an atmospheric model: every lifting surface produces lift and drag according to its angle of attack, and stalls beyond its limit. Engines marked air-breathing lose thrust as the air thins.

The Skylark is a light twin. Scenario 19_skylark_takeoff starts you on the runway at Chippenham:

  1. Release the brakes (B), set takeoff flaps (F) and apply full throttle.
  2. Steer with the rudder (A D); the nose wheel steers on the ground.
  3. At roughly 70 m/s, pull back gently (S) to rotate. Keep the climb gentle, and retract the flaps once safely airborne.

The Skylark's cockpit has the traditional six-pack (airspeed, attitude, altimeter on the top row; turn coordinator, heading and vertical speed below), with an Engine MFD and a Surface MFD to the right. Press C for the 2D panel, and again for the 3D cockpit, where the MFD buttons can be clicked.

Scenario 20_skylark_approach puts you on the ILS 3.3 km from the runway. Tune the localizer and glideslope on the HSI or VOR MFD, and fly them down to touchdown.

Skylark takeoff
Skylark lined up on Chippenham's runway.

Aircraft only fly in an atmosphere: Skylark will not climb into space.

Spaceports & navaids

Four spaceports sit on Earth, each with a pad, runway and buildings: Chippenham and Twickenham (UK), Helsinki (Finland) and Wagga Wagga (Australia). Scenarios 15 to 18 start you on each pad.

Helsinki spaceport
Helsinki spaceport.

Navaids

TypeUseInstrument
VORBearing to a station, with a tunable OBSVOR, HSI
NDBNon-directional beacon (below 1 MHz); points the wayADF
ILSLocalizer and glideslope for a runway directionHSI, VOR
VTOL beaconPad guidance for landing verticallyVTOL

Frequencies are shown in the base's definition, and each radio can be tuned with the ± buttons on the MFD.

Views & cameras

Press C to cycle between the chase view, a 2D dashboard, a 3D cockpit and the cameras you have set up (see Camera editor below). Drag the right mouse button to look around, and [ ] to zoom.

3D cockpit
3D cockpit with Orbit and Surface MFDs.

Camera window (F2)

Press F2 to open the camera list. It contains every ship in the universe (external view and any cockpit or interior cameras) and every camera at every base: control tower, pad, runway threshold and an overview. Click one to cut to it; External returns you to the chase view.

Camera editor

The View menu (and the Camera editor button in the F2 window) opens the camera editor, where you build your own cameras. They are saved in ~/.config/kosmos/cameras.json, listed under My cameras in F2, and C steps through them after the ship's own views. There are two kinds:

Either kind can be attached to the ship you fly, to any other ship, or to any planet or moon. Start in a camera with --user-camera N or open the editor with --camera-editor.

Camera editor
The camera editor: add an orbiting or mounted camera, pick what it is attached to, and set its distance, angles and field of view.
Camera window
The F2 camera window.
Tower camera
The Chippenham control tower camera.

MFDs (multi-function displays)

MFDs are the ship's instrument screens. Press F5 to cycle the display: off, two framed panels at the bottom of the screen with clickable buttons, or heads-up (shapes and text over the scene). In the 2D cockpit the MFDs are part of the dashboard to start with, and F5 steps dashboard, heads-up, off. F6 and F7 cycle the left and right modes; F8 and F9 toggle their power. In the 3D cockpit the buttons are pressed by clicking on the screen.

Each ship only offers the displays that make sense for it. Aircraft (class aircraft) do not list the orbital modes (Orbit, Map, Ascent, Align, Sync, Transfer, Docking), and spacecraft do not list or show the airspeed, vertical speed, turn and heading gauges. Altitude and attitude stay for both. Addons can change this per ship.

MFD panels
Framed MFD panels showing Orbit (left) and Surface (right).
ModeShows
SystemsPower bus, battery, tanks, and each cabin's pressure, gases and crew health, with a button to open a test leak. Goes dark if the ship loses all electrical power
Attitude IndicatorThe classic blue-and-brown ball: pitch ladder, roll scale and pointer, with pitch, heading and roll below
AirspeedKnots on a 0 to 500 dial, from the surface speed
Vertical SpeedClimb and descent in feet per minute, zero at 9 o'clock
HeadingA rotating compass card under a fixed aircraft symbol
Turn CoordinatorA miniature aircraft banking with the turn rate (lined up with the marks at 3°/s), and the slip ball
EngineThrottle, thrust, propellant, fuel flow, endurance and the battery for the active stage
AltimeterA three-pointer clock face: the long needle turns once per kilometre, the short one per 10 km and the rim marker per 100 km, with a digital readout and vertical speed
OrbitYour orbit, in its own plane, with apsides and orbital elements
SurfaceAltitude, speed, vertical speed and attitude relative to the ground
MapGround track on the body
AttitudeAttitude indicator, with buttons to set the SAS mode
AscentGraph of altitude, speed and pitch against time since the display was opened or reset
Align PlanesOrbit plane alignment with the target
Sync OrbitOrbit synchronisation with the target
TransferTransfer planning to the target
OrbitCompOrbital computer: orbit plot, manoeuvre nodes, Hohmann and ejection planning
DockingDocking port approach
Com/NavRadio frequencies and signal list
VORTwo VOR receivers with OBS adjustment
HSIHorizontal situation indicator with ILS needles
VTOLPad beacon guidance with zoom
ADFAutomatic direction finder for NDBs

Launch with --mfd 0|1|2, --mfd-left ID and --mfd-right ID to choose the display style and the starting modes.

Orrery & galaxy maps

Orrery (Tab)

A top-down map of the solar system with every body's orbit. Press F to focus a body, [ ] to zoom and drag with the right button to rotate.

Galaxy (G)

Kosmos generates a catalogue of 24,409 stars: Sol, thirteen real stars (including Sirius, Proxima, TRAPPIST-1, Betelgeuse and Rigel), 400 invented nearby stars and a two-armed spiral disc. Use Left/Right to choose a star, [ ] to zoom, and Enter to jump (the Galaxy map teleports; the ship's quantum drive is the in-universe way to travel). You arrive in a 200 km orbit around that system's Earth-like home world. Each system is generated from its star, so it is the same every time.

Sirius, Proxima, TRAPPIST-1, Betelgeuse and Rigel are hand-authored in data/systems/; the rest are generated.

Galaxy map
The galaxy map.

Quantum jump drive

The quantum drive is Kosmos's interstellar travel. A ship whose ship.json has an engine of type hyperjump carries one; of the bundled ships, that is the Argo. The drive makes no thrust and no plume. It only jumps.

Quantum navigation window
View → Quantum navigation: every star within the drive's range, nearest first.

Making a jump

  1. Fly the Argo (start it with --ship Argo, or press V to switch to it in a scenario).
  2. Open View → Quantum navigation in the menu bar. (--quantum opens the window at startup.)
  3. The window shows the drive's range and a table of the nearest stars within it (up to 64): name, spectral class, number of planets and distance in light years. Click one to select it.
  4. Press Engage quantum jump. The button is disabled if the star is out of range or is the system you are already in.

The world pauses for a few seconds of hyperspace effect while the new system loads, then you arrive and the window stays open so you can keep hopping. A ship with no quantum drive sees a "no quantum jump drive" notice instead of a list.

Range

The default range is 50 light years. An engine's range_ly field sets it per ship (see the Modders manual). Stars beyond range are not offered, so long journeys are made as a chain of jumps. The galaxy has 24,409 stars, shown on the G map.

Where you arrive

You arrive in orbit of the best world in the new system, chosen in this order:

  1. the home world, if it is a rocky planet with a real atmosphere (a 200 km orbit);
  2. otherwise the rocky planet whose atmosphere is nearest Earth's density (Mars- or Venus-like);
  3. otherwise any rocky planet;
  4. otherwise a moon of a gas giant (100 km);
  5. otherwise the first planet, whatever it is.

The altitude is never more than half the body's radius, so tiny worlds get a tighter orbit. The jump clears your target, switches the autopilot off and resets time warp to 1×. Your ship keeps its propellant, and the previous system is unloaded.

Related options

--system INDEX|NAME starts in a given system without a jump, --orbit-body auto picks the arrival world exactly as a jump does, and --test-jump N jumps to star number N a second into the run (a testing aid). The galaxy map is documented under Orrery & galaxy maps.

The menu bar is pinned open along the top of the screen. Untick View → Keep menu bar visible and it slides away, returning when you move the mouse to the very top edge.

Menu bar
The menu bar over a flight view.
MenuWhat it does
FileOpen a scenario from the built-in list or from a .json file, save the current situation as a scenario, restart, and quit.
EditUndo and redo in the open editor; shortcuts to Settings and Properties.
ViewToggle Full screen and show or hide every window (Cameras, Settings, Properties, Lua console, Multiplayer, Quantum navigation) and both editors. 2D Panels lists the instrument panels the current ship defines (the Skylark has Flight instruments and Navigation) and shows the chosen one in the 2D cockpit.
ToolsScenario editor, Base editor, screenshot, and reload of your own scenarios and bases.
HelpA key reference and the About box.

Save scenario records where every ship is now. Orbits are saved as circular at the current altitude, so an eccentric orbit is rounded off. Your saved files go in ~/.config/kosmos/scenarios/ and appear in File → Open scenario after you save.

Scenario & base editors

Both live under Tools. Edits can be undone and redone, and one drag or one typed change counts as one step.

Scenario editor

Scenario editor
The scenario editor.

Base editor

Base editor
The base editor's Site tab.

Moving a site, changing its levelled ground, and new beacons take effect after you restart Kosmos.

Settings (F3)

The settings window controls display and sound. Values live in the property tree under /sim/settings/ and are saved when you quit.

SettingPropertyDefault
Body labels/sim/settings/labelsoff
Ship labels/sim/settings/ship-labelsoff
Orbit line/sim/settings/orbit-lineon
Key help text/sim/settings/help-texton
Sound/sim/settings/soundon
Volume/sim/settings/volume20 %

You can also change time warp from this window.

Sound has three layers: the rocket engine rumble, RCS hiss, and a wind that blows when you are on the ground or flying low in an atmosphere. Wind gets stronger with airspeed and is drowned out by the engines. Audio starts after the first frame is drawn, so the start-up is silent.

Settings window
The F3 settings window, over Mars.

Property browser (F4)

Everything the simulator knows is in a tree of properties, such as /controls/throttle or /ships/ship[0]/altitude. The F4 browser lets you explore the tree, read any value and write to writable ones.

Some properties are tied to live simulation values and ignore writes. Keyboard controls rewrite /controls/pitch, yaw, roll, rcs-* and brake every frame, so changes to those are overridden while a key is being polled; /controls/throttle is not.

Property browser
The F4 property browser.

Multiplayer (F12)

Up to four players share a sky as ghost ships: each runs their own simulation and sees the others, drawn in 3D, labelled with name and distance and listed in the HUD. There is no collision or docking between players.

Lua console (F11)

The Lua console is an in-game script editor. Scripts run in the simulator's Lua state, so they can read and write the property tree with the props table.

Lua console
The F11 Lua console with its bundled example scripts.

Using it

Choosing when a script runs

The Run on list picks the event that triggers the script. Tick Armed to enable it:

EventRuns
ManualOnly when you press Run
On scenario load / ship changeEach time the flown ship changes
Every frameOnce per rendered frame
TimerEvery N seconds
When a property changesWhenever the named property's value changes

Inside a script, these globals describe the event: event (the trigger name), dt (seconds since last run), and for property triggers event_path and event_value.

-- throttle_watch.lua: runs when /controls/throttle changes
print(event_path .. " = " .. event_value)

-- Read and write properties
local alt = props.get("/ships/ship[0]/altitude")
props.set("/controls/throttle", 0.5)

A script that raises an error disarms itself, so a bug cannot flood the console every frame. Fix it and arm it again.

Bundled examples live in data/scripts/: hello_props (manual), throttle_watch (property) and status_ticker (timer). Saved scripts go in ~/.config/kosmos/scripts/ alongside a small .json file holding the trigger.

Autopilot

Autopilots are ordinary Lua scripts supplied by the ship's addon. Kestrel's ascent autopilot flies from the pad to a 200 km circular orbit. Press P to enable it and watch the status line. Any manual throttle cut disables it. You can read its progress in /autopilot/status.

Scenarios

Forty-eight scenarios are bundled, including default, which is what you get with no options. Start one with --scenario ID; F10 steps through them. Scenarios live in sub-folders, one per world, shown as submenus under File → Open scenario; the menu re-reads the folder, so files you add or edit outside Kosmos appear without a restart.

IDScenarioShips
defaultDefault start (Chippenham pad); loaded with no optionsKestrel
01_launch_padEarth: launch padKestrel
02_earth_orbitEarth: low orbit fleetKestrel, Wren, Argo, Salyut
03_moon_orbitMoon: 100 km orbitArgo
04_tranquilityMoon: Tranquility BaseAres Spider
05_luna_probeMoon: Luna probe landedLuna E3
06_lunar_stationMoon: Lunar SalyutLunar Salyut, Ares Spider
07_mars_orbitMars: orbitLunar Salyut
08_mars_landingMars: Gale CraterAres Spider
09_venus_orbitVenus: orbitArgo
10_mercuryMercury: landedLuna E3
11_io_orbitIo: orbitWren
12_titanTitan: orbitArgo
13_docking_approachEarth: docking approachSalyut, Wren
14_wren_rendezvousMoon: Wren rendezvousLunar Salyut, Wren
15_chippenhamEarth: Chippenham spaceportKestrel
16_twickenhamEarth: Twickenham spaceportKestrel
17_helsinkiEarth: Helsinki spaceportKestrel
18_waggaEarth: Wagga Wagga spaceportKestrel
19_skylark_takeoffSkylark takeoff, ChippenhamSkylark
20_skylark_approachSkylark ILS approach, ChippenhamSkylark
21_mars_high_orbitMars: high orbit (9,000 km)Wren
22_translunarEarth to Moon: translunar coastApollo-Soyuz
23_phobosPhobos: orbitWren
24_deimosDeimos: orbitWren
25_europaEuropa: orbitArgo
26_ganymedeGanymede: orbitArgo
27_callistoCallisto: orbitArgo
28_amaltheaAmalthea: orbitWren
29_mimasMimas: orbitWren
30_enceladusEnceladus: orbitWren
31_tethysTethys: orbitArgo
32_dioneDione: orbitArgo
33_rheaRhea: orbitArgo
34_hyperionHyperion: orbitWren
35_iapetusIapetus: orbitArgo
36_phoebePhoebe: orbitWren
37_mirandaMiranda: orbitWren
38_arielAriel: orbitArgo
39_umbrielUmbriel: orbitArgo
40_titaniaTitania: orbitArgo
41_oberonOberon: orbitArgo
42_tritonTriton: orbitArgo
43_proteusProteus: orbitWren
Mars high orbit
Scenario 21: a tug high above Mars.

Ship systems

Crewed ships carry electrical power, consumables and pressurised cabins, and they can fail. Open the Ship systems window with F1 (or View → Ship systems), or put the Systems MFD on a screen (F6/F7 or the SEL button). Ships without any systems simply show “no systems on this ship”. Kestrel, Salyut, Ares Spider, the Luna probe, Apollo-Soyuz, Skylark and Argo all have them.

Ship systems window
The Ship systems window (F1): power, tanks, loads, a cabin and its gas grid.

Power

Everything electrical hangs on one bus. Sources feed it, loads draw from it, and a battery smooths the difference.

SourceBehaviour
Solar cellsOutput depends on panel area, efficiency, the distance to the star and the angle between the panel and the Sun. They produce nothing in the shadow of a planet or moon (an eclipse) or when edge-on to the Sun.
RTGConstant heat-to-electric power that decays slowly with the isotope’s half-life (87.7 years for plutonium-238). Works anywhere, in shadow or far from the Sun, which is why deep-space probes carry one.
Fission and fusion reactorsStart up when the other sources cannot meet demand, up to their rated power, and burn fuel as they go. Fission fuel is a few kilograms; fusion burns deuterium. When the fuel is gone they stop.
Fuel cellAlso dispatched on demand. Burns hydrogen and oxygen from the tanks and makes water.
BatteryCharges from any surplus and discharges to cover a shortfall, at a limited rate.

When there is not enough power, loads are shed by priority. Priority 0 (cabin regulator, CO2 scrubber, avionics) is dropped last; lower-priority loads such as lighting go first. A shed load is shown as “(shed)” in the window. If the whole bus is dead the MFDs and the ship’s lights go dark. Time warp is safe: the power model runs in small substeps, so a battery or a solar eclipse is handled correctly at any warp.

Tanks

Gas and water tanks hold oxygen, nitrogen, water, hydrogen and deuterium. Crew use oxygen and water; the cabin regulator draws oxygen and nitrogen to keep the cabin at its set pressure; fuel cells and electrolysers convert between water, hydrogen and oxygen. Propellant tanks for the engines are separate and work as before.

The cabin

A cabin (a pressure vessel) is a sealed box of air. The simulation tracks oxygen, nitrogen and carbon dioxide in it, and spreads them through the box on a small 3D grid, so gas really does move: CO2 builds up near the crew and drifts through the cabin, and a leak drains the cabin through the hole. Vacuum outside acts as a sink.

Hazards and alarms

The window and HUD report a cabin as nominal or in trouble. Moderate hazards are oxygen below 16 kPa or above 50 kPa, total pressure below 50 kPa, and CO2 above 4 kPa. Acute hazards are oxygen below 12 kPa, total pressure below 30 kPa and CO2 above 8 kPa. Crew health drops over about half an hour in a moderate hazard and about three minutes in an acute one, and recovers over an hour once the air is good again. Alarms blink in red on the HUD: POWER SHORTAGE, BATTERY LOW, O2 TANK LOW, <CABIN> LEAK and the cabin’s hazard (for example CABIN O2 LOW, CABIN CO2 HIGH or CABIN LOW PRESSURE).

What failure does

The consequences are a setting, so you can fly as you like.

ModeEffect
offSystems run but crew health never changes.
warn (default)Alarms and readouts only. Nothing happens to the crew.
fatalWhen crew health reaches zero the crew is lost and the flight ends (“CREW LOST”).

Choose it with the combo box at the top of the Ship systems window, with --life-support off|warn|fatal on the command line, or per scenario in the scenario editor (Life support). The scenario wins over the command line.

The Systems MFD

Systems MFD
The Systems MFD (left) with a cabin-leak alarm on the HUD.

The MFD shows the bus state (POWERED or BROWN-OUT), supply and demand in watts, the battery and the tanks as bars, and for each cabin its pressure, oxygen and CO2 partial pressures, crew health and leak rate. LEAK5 (the top-left button) opens a 5 cm² hole so you can practise.

Try it

This is a game-level model: gas is ideal, temperature is constant and there is no thermal or radiation model. It is meant to make you plan consumables and power, not to replace a mission simulator.

The fleet

ShipClassLaunch massNotes
KestrelLauncher219.5 tThree stages (booster, upper stage, capsule); ascent autopilot
WrenTug8.0 t25 kN engine; one docking port
ArgoTransfer stage20.5 t150 kN engine; 16 t of propellant for interplanetary legs; quantum jump drive (50 ly)
Ares SpiderLander10.0 t60 kN descent engine; top docking port
SalyutStation20.0 tTwo docking ports
Lunar SalyutStation37.0 tStation with a large engine and solar array
Luna E3Probe0.38 tSmall lander probe
SkylarkAircraft4.0 tLight twin with two air-breathing engines

Use --ship "NAME" to start with a particular ship, and V to switch between ships in a scenario.

Command line

OptionMeaning
--scenario IDStart a scenario (none given: default); --list-scenarios lists them
--ship NAMEStart with this ship
--system INDEX|NAMEStart in a galaxy star system (0 or "Sol" is the hand-authored one)
--starsPrint the 20 nearest stars and exit
--quantumOpen the Quantum navigation window at startup
--test-jump NQuantum-jump to star N a second into the run (testing)
--galaxy-mapStart in the galaxy map
--orbit, --orbit-body B, --orbit-alt KMStart in orbit around a body at an altitude; --orbit-body auto picks the best world as a quantum jump does
--target NAMESet the target ship or body
--set PATH=VALUESet a property after startup (repeatable; value is a bool, number or string)
--cockpit, --cockpit3dStart in the 2D or 3D cockpit
--mfd 0|1|2, --mfd-left ID, --mfd-right IDMFD display style and modes
--base-cam id:idxStart looking through a base's camera
--menu, --scenario-editor, --base-editorPin the menu bar (the default, except with --hide-info), or open an editor at start
--no-tilesDraw Earth from its single image instead of streaming the Celestia tiles
--no-detailDisable the fine ground-detail texture blended into terrain near the camera
--no-reliefDisable body normal maps and Earth tile normal-map relief
--check-dataLoad, save and reload every scenario and base; report any that do not round-trip
--camera-window, --settings-window, --property-window, --lua-windowOpen the F2/F3/F4/F11 windows at start
--max-texture NLargest body texture accepted (default 16384)
--selftest SECS, --autopilot, --selftest-throttle T, --selftest-warp NHeadless test run; --selftest-warp sets the time-warp step used while the autopilot coasts to apoapsis
--fullscreenStart in full screen at the desktop resolution (also Alt+Enter or View → Full screen). The window can be resized freely; the view follows.
--user-camera N, --camera-editorStart looking through the Nth camera from the camera editor / open the editor
--panel NStart in the 2D cockpit showing the ship's Nth panel (0 is the main one)
--shot-stages NStage the ship N times before a screenshot
--shot FILE, --shot-at SECS, --shot-throttle TSave a screenshot after some seconds, optionally with the throttle set to T
--warp-to SECSRun the ship on rails until the simulation clock reaches this many seconds, then take the screenshot
--sunlitAfter the scenario loads, swing every ship round its planet to the sunlit side (for daylight screenshots in orbit)
--date "YYYY-MM-DD HH:MM:SS", --mjd NStart on a real GMT date (or Modified Julian Date, as in Orbiter): planets and Moon take their true positions and the Earth is turned for the time of day. With no date (and none in the scenario) the game starts at the real current GMT time. Start only; try 44_apollo11_launch. Planets rotate during the run (the Sun moves, bases and landed ships turn with the ground); Earth and Mars have their real axial tilt and are turned for the start date
--earth-turn DEGTurn the home planet by this many degrees, moving the Sun's position over a base: about 300 gives daylight at Chippenham and 20 gives night, when the base and ship lights switch on
--orbit-body BODY, --orbit-alt KM, --orbit-half, --orbit-phase DEG, --ambient FStart --ship in a circular orbit; --orbit-half picks the lit half, --orbit-phase the position round it; --ambient sets the fill light
--map, --map-focus BODY, --map-scale SStart in the orrery map, focused on a body at a zoom scale (for screenshots)
--root DIRUse this folder as the Kosmos root (its data/ and addons/) instead of the one next to the executable
--host [PORT], --join HOST[:PORT], --name NAMEHost or join a multiplayer game (UDP 7777 by default) and set your name
--lobby, --irc HOST, --channel #NAME, --advertise ADDR:PORTOpen the Multiplayer window; choose the lobby IRC server and channel; the address announced for a hosted game
--hud MODEStart with the HUD in orbit, surface or docking mode
--no-cloudsSkip the cloud layers (faster start, helps on weak GPUs)
--show-infoStart with the on-screen text (title, telemetry, key reminders) showing; it is hidden by default (toggle with I)
--hide-infoHide the on-screen text and the orbit line, and let the menu bar slide away (for screenshots); overrides --show-info
--cam-fov DEG, --cam-antisun, --cam-sunwardField of view (default 50); point the camera away from, or towards, the star
--cam-pitch R, --cam-yaw R, --cam-distance MSet the chase camera (radians, metres)

High-resolution terrain

Kosmos ships with low-resolution runtime textures and procedural terrain for every body. For real elevation and close-up imagery, Kosmos can read Orbiter high-resolution planet packs directly: the same Elev.tree (heights) and Surf.tree (surface imagery) archives Orbiter uses. They are optional and are not included in the download because of their size and licence terms, so you add them yourself.

  1. Obtain the Orbiter 2016 high-resolution packs for the bodies you want (Earth, Moon, Mars). Check each pack’s licence terms.
  2. Unpack each pack as its own folder inside data/orbiter/, next to the executable. The folder name must end with the body’s name, for example data/orbiter/Orbiter 2016 High Res: Earth.
  3. Check that each folder holds Elev.tree and, for imagery, Surf.tree.
  4. Start Kosmos. The console prints Earth terrain from Orbiter data (and so on) for each body it found.
data/orbiter/
  Orbiter 2016 High Res: Earth/   Elev.tree  Surf.tree
  Orbiter 2016 High Res: Moon/    Elev.tree  Surf.tree
  Orbiter 2016 High Res: Mars/    Elev.tree  Surf.tree

You can install only some of them; without an Orbiter pack, terrain is procedural and the orbital image comes from the bundled texture or any optional override you have installed. Orbiter terrain tiles stream in as you approach, so the first low pass over new ground may show coarser detail for a moment. The optional Celestia source tree lives in data/celestia/: Earth colour tiles (and optional specular and normal tiles) can stream directly from data/celestia/hires/. Close-up terrain compares Orbiter and available Celestia colour maps per location and uses whichever has finer texels; Orbiter elevation still shapes the ground. For other Celestia maps, use the import tools to install an image into data/textures/ or data/textures-hires/; moon sources under data/celestia/moons/ are not scanned at runtime or included in release packages. See the Developers manual for map lookup and import details.

Other bodies can use the same format: give the body "terrain": "orbiter" in sol.json and place a matching folder in data/orbiter/. See the Modders manual.

Files & settings

PathContents
~/.config/kosmos/settings.jsonSaved F3 settings
~/.config/kosmos/scripts/Your Lua console scripts
data/scenarios/Bundled scenarios
data/bases/Spaceport definitions
data/scripts/Example console scripts
data/sol.jsonThe solar system
addons/Ships, MFD modes and extra content
data/celestia/Optional Celestia sources; moon packs are grouped under moons/<planet>/<Moon>/ and excluded from release packages
data/orbiter/Optional Orbiter high-resolution terrain packs
data/textures/Installed runtime fallback images
data/textures-hires/Optional installed texture overrides

On Linux, settings follow $XDG_CONFIG_HOME if set; on Windows they use %APPDATA%.

Troubleshooting

ProblemWhat to try
Time warp will not go upYou are thrusting, landed or in an atmosphere. Cut the engines and climb or orbit first.
"Vessel lost"You hit the ground or burned up. Press R to reset.
Keys do nothingA text box in an F-key window has focus; click the scene or close the window.
Ground looks soft or blurry close upInstall the Orbiter high-resolution packs (see above). Otherwise, textures are limited by --max-texture and your GPU; the terrain mesh gives way to a textured sphere above 300 km altitude.
Startup is slowIf Orbiter terrain packs are installed, their elevation and image archives take time to load; the first start takes longest.
Planet names are not shownBody labels are off by default; switch them on in F3.