◉ TERMINAL SPACE PROGRAM

./terminal-space-program

Orbital mechanics,
in your terminal.

Kerbal Space Program for your terminal. Plan transfers to the Moon and the planets, fly a rocket off the pad by hand, rendezvous and dock, and bring a capsule home under parachute. Orbits and planets are drawn in braille dots, and the whole game is a single static Go binary.

Earth orbit · 1000× warp● v0.64.3
Recording of the game in a terminal: Earth drawn in coloured braille dots turns under 1000x time warp while a vessel goes round its 500 km orbit, with the apoapsis and periapsis marked.
▲ apoapsis ▼ periapsis ➤ vessel
⠁⠂⠄⡀⢀⠠⠐⠈⠁⠂⠄⡀⣀⣄⣆⣇⣿⣇⣆⣄⣀⡀⠄⠂⠁⠈⠐⠠⢀⡀⠄⠂⠁⠂⠄⡀⢀⠠⠐⠈

I love Kerbal Space Program and I love TUI applications, so I married the two for whenever I'm bored and have a terminal available.

Under the hood it's a real sim of gravity, fuel, atmospheric drag and timing. Unlike stock KSP, the default game is our own solar system at full scale, so launches are hard: low Earth orbit takes about 9.4 km/s. The Moon's orbit is inclined and Earth is tilted on its axis. The Sol launch vehicles are real rockets: Saturn V, SLS and Falcon 9.

Features

What's in the game

  • Patched-conic physics: Verlet integration in free flight, RK4 under thrust with rocket-equation mass loss, sphere-of-influence handoffs, atmospheric drag and surface contact.
  • Sol at full scale, with axial tilts, eclipses, and planet positions from J2000 orbital elements. Alpha Centauri, TRAPPIST-1 and Kepler-452 are in there too, and Tab switches between systems.
  • Lumen, a 1/10-scale system modelled on KSP's stock one: the home planet Kern with its moons Cursor and Glyph, and the red planet Rust. Orbit there takes about 3.4 km/s, and Lumen has its own fleet with a counterpart for every Sol vessel.
  • A launch catalog with the Apollo stack on a Saturn V, SLS with Orion, and Falcon 9 carrying a Dragon, a Cargo Dragon or 24 Starlink satellites, plus tugs, relays, landers and probes.
  • A Vehicle Assembly Building where you stack engines, tanks, command cores, antennas and structure into stages, with Δv, TWR and mass updating as you build. Your designs show up in the spawn form next to the built-in vessels.
  • Hand-flown launches from named pads (KSC, Baikonur and others) in a chase-cam view, with a KSP-style navball, staging you manage yourself, and parachutes that open on their own on the way down.
  • H plans a transfer to your target, and the Lambert solver and porkchop plot cover trips to other planets. The map previews the orbit each planned burn will leave you in. When your path enters another body's sphere of influence, the map draws the SOI pass.
  • K plans a rendezvous with another vessel. For the last few kilometres the Proximity view (o) shows both hulls at true scale while you line up the docking ports.
  • CommNet, with DSN ground stations and relays. A probe with no link won't take commands, though you can still plan and warp. A Starlink batch spreads itself round its orbit with L.
  • Flight School and a Challenge ladder of missions, under M.
  • Multiplayer over ssh. Host from your own game and your friends join from any terminal, each on their own clock.
  • Star systems, vessels, parts, missions and colour themes are JSON files. Put your own in the config directory to add to them or override them.
  • A boss key: ` swaps the screen for a fake developer shell, and typing exit brings the game back where you left it.

Get it

Install

The release binaries are static (CGO_ENABLED=0), so they run without Go installed and without any particular libc.

macOS & Linux · Homebrew

recommended
brew install --cask jasonfen/tap/terminal-space-program

Linux · .deb, .rpm, .apk, Arch

Each release has native packages for amd64 and arm64; swap amd64 for arm64 on ARM machines. To upgrade, run the same commands again.

# Debian / Ubuntu
curl -LO https://github.com/jasonfen/terminal-space-program/releases/latest/download/terminal-space-program-linux-amd64.deb
sudo apt install ./terminal-space-program-linux-amd64.deb

# Fedora / RHEL / openSUSE
sudo dnf install https://github.com/jasonfen/terminal-space-program/releases/latest/download/terminal-space-program-linux-amd64.rpm

# Alpine
curl -LO https://github.com/jasonfen/terminal-space-program/releases/latest/download/terminal-space-program-linux-amd64.apk
sudo apk add --allow-untrusted ./terminal-space-program-linux-amd64.apk

# Arch
curl -LO https://github.com/jasonfen/terminal-space-program/releases/latest/download/terminal-space-program-linux-amd64.pkg.tar.zst
sudo pacman -U ./terminal-space-program-linux-amd64.pkg.tar.zst

Windows · Scoop

scoop bucket add jasonfen https://github.com/jasonfen/scoop-bucket
scoop install terminal-space-program

NixOS · Nixpkgs

unstable

Packaged in nixpkgs unstable (scheduled for 26.11 stable). Try it without installing, or add pkgs.terminal-space-program to environment.systemPackages / home.packages.

nix run nixpkgs#terminal-space-program

Direct download

Download a release archive and run the binary inside. Swap linux-amd64 for your platform: linux-arm64, darwin-amd64, darwin-arm64, or windows-amd64 (.zip on Windows).

curl -L https://github.com/jasonfen/terminal-space-program/releases/latest/download/terminal-space-program-linux-amd64.tar.gz | tar xz
./terminal-space-program

All release downloads ↗

With the Go toolchain

Go 1.26+

A binary built this way prints dev (unknown) for --version.

go install github.com/jasonfen/terminal-space-program/cmd/terminal-space-program@latest

From source

Go 1.26+
git clone https://github.com/jasonfen/terminal-space-program
cd terminal-space-program
go build ./cmd/terminal-space-program
./terminal-space-program

A new game starts you as Apollo TLI-1, an S-IVB with the Lunar Module and the CSM still on top, in a 500 km orbit around Earth. Press t to target the Moon and H to plan the transfer, or fly it by hand. F1 lists every key.

▲ ● ➤ ▼

Orbital calculators

Four browser calculators that use the game's formulas and body data: constellation phasing, orbital period and speed, ground coverage, and CommNet link range. The phasing planner works out the numbers for dropping a ring of comsats from one carrier, which you fly by hand in the game.

Open the calculators