Wiki / Commands

Commands

Press : anywhere - the main menu, the ship editor, mid-flight, on the pause screen, over the interface - and the ship's CRT monitor opens on NOVA COMMANDS: one prompt that can read the run, change your settings, print the flight log, and, once you deliberately arm it, cheat.

Loop capture assets/loops/command-shell-open.webm ':' over live flight: the monitor, the NOVA COMMANDS header, the introduction typing itself out against the world it just froze, and 'ships' answered from the paused run.

Getting in and out

You do What happens
: The monitor opens on the prompt. It needs no ship, so it works in the menu and the editor too. Close it and you are back on exactly what it covered - the menu, the pause screen, the interface pane or your flight.
Esc (or gamepad Start) Power the monitor off and return to what was underneath.
Type close The same animated power-off.
Click the PWR button The same again, on the monitor's chin.
Tab Complete the command. It does not close the monitor.
Type clear Wipe the screen back to the introduction, read against the world as it is now.
Show explanation

Opened over the game, the monitor freezes it: the clocks stop, the cursor is freed, and Esc belongs to the monitor rather than the pause menu. Opened over the interface, it shares the interface's freeze - the world never runs a frame between the two, and closing the monitor puts you back on the same pane with its camera and selection intact. Opened on the main menu it stops nothing - the backdrop behind it keeps flying, because that is a view and not a game you are being kept out of - but the monitor is still the front-most thing on the screen, so the menu buttons under it wait until you close it.

Two places refuse the key. Mid-load there is nothing yet to inspect. While a ship section or a settings control waits for you to press a key to bind, : is the key being bound, so it does not open the monitor.

While the monitor is open, nothing you type reaches flight or the pane behind it.

The prompt

Key At the prompt
Tab Complete the command - repeated presses cycle the matches.
Enter Run the line.
Up / Down Walk the command history (the last 200 lines).
PgUp / PgDn, or the wheel Scroll the scrollback (it keeps 500 rows).
Esc Close the monitor.

The prompt reads cmd>. As you type, a dim ghost continues the line toward the nearest command, and a hint line under the prompt tracks what you have: an unknown word turns the input red and offers a did you mean suggestion, and a wrong argument shows the command's usage. Tab completes command names, subcommands, and the live ship and section ids an argument wants.

What the introduction tells you

NOVA OS v0.13.0 // COMMANDS
POST ......... command shell / ok
CORE ......... local game runtime / attached
REGISTRY ..... 28 commands / ready
WORLD ........ tutorial / paused
CHEATS ....... disabled / run clean
Hint: type `help` and press Enter.

WORLD names what you opened over - a scenario id, main menu, or no scenario - and whether it is running. CHEATS is the line that matters: disabled / run clean while your run still counts, enabled / run marked once it does not. The header carries the same fact in the top right, where CHEATS: OFF turns amber and reads CHEATS: ON.

The commands

Every command belongs to one of four classes, and the class is the whole permission model.

class what it may do marks your run
utility control the shell; abandon one scenario for another no
readonly look at the world and never touch it no
setting change the same saved settings the menu changes no
cheat change the live world; refused until armed arming does, once

Utility

command what it does
help [command] this text, or one command's usage, class, arguments and examples
commands [class] the whole catalog, or one class of it
clear restore the introduction
close close the terminal and return to what was underneath
scenario load <id> abandon this attempt and load a fresh scenario

Read-only

command what it does
status a compact run and world summary
scenario the current scenario, its state and its outcome
ships live ships by id
ship <id> one ship: side, hull, sections, magazines
sections <ship-id> that ship's sections, with health and ammunition
section <ship-id> <section-id> one section of one ship
objectives the open objectives
log the flight log: comms, objective updates and ship events
variables the scenario's variables
variable <name> one of them
bindings [action] every registry input action by its qualified name, such as flight.main_drive, and what it is bound to, or one of them; dynamic section.<id> inputs are not listed
settings every current setting
cheats status whether cheats are armed, and whether the run is marked

The flight log

log prints the flight log, oldest first. Each row carries its index and a label for its kind:

Row Meaning
0001 COMMS OKONO > Strip it clean. A comms line, with its speaker.
0002 OBJ + Strip it clean. An objective posted.
0003 OBJ x Strip it clean. An objective completed.
0004 SYS ! Combat lock lost: target out of lock range. Your ship's own report. Today that is a dropped combat lock, with its reason: target gone, out of range, behind cover, or no longer hostile.

The log is empty until something happens. It answers the question a player asks afterwards - "why did I lose my lock?" - without putting anything on screen mid-fight.

Settings

One rule: the command without a value prints the setting, the command with one changes it. A change here is the same change the settings menu makes, and it is saved the same way.

command what it does
graphics [low|medium|high] the graphics-quality preset
volume [master|music|world|interface [0..1]] one mixer channel
window [windowed|borderless] the window mode
bind <action> <source> rebind one action by its bare name, e.g. bind interface_toggle F1
bind reset <action> put an action back on its default

Cheats

Every one of these is refused until you run cheats enable. That command is the deliberate act, and it marks the run the moment it succeeds - there is no command that unmarks it.

command what it does
cheats enable arm cheats and mark this run, one way
ammo infinite <ship-id> <on|off> unlimited ammunition on one ship's weapons
ammo refill <ship-id> top up every finite magazine on a ship
ammo refill section <ship-id> <section-id> top up one magazine
item give <ship-id> <item-id> <quantity> add items to one ship's inventory, e.g. item give player_spaceship HullPlate 12
Show explanation

Why the mark is one-way. A run that was ever armed was never clean, whether or not you went on to use a cheat. Marking at the moment you ask, rather than at the moment you benefit, is what makes the mark honest - and it gives the refusal something true to say rather than pretending the command does not exist.

Why a fresh scenario clears it. A new attempt is a new run. scenario load <id> abandons the current attempt without giving it an outcome and without advancing campaign progress, then resets both the arming and the mark.

What ammo infinite off gives back. Turning it on suspends the magazine; turning it off restores the authored capacity full, and re-seeds the reload from the section's own configuration. It does not try to remember the count you had when you switched it on - a number from before the cheat is not a number the run earned either way, and a full magazine is the state you can reason about.

The ammo cheats do not touch your hold. The ordinary idle reload spends matching ammunition from the ship's own inventory (see Magazines); both ammo cheats bypass that and act on the magazine directly, spending and returning nothing from stock.

item give fills the hold instead. The item id is the name a scenario file writes: HullPlate, PdcRound, RailSlug, Torpedo, StoneOre, IronOre, WaterIce, CarbonOre, Rations or SalvagedParts, in that exact case. The quantity is a whole number above zero, and the items weigh what they always weigh (a hull plate 10 kg, a PDC round 0.2 kg, a rail slug 20 kg, a torpedo 150 kg). The whole quantity fits the ship's free hold or none of it is added: with 280 kg free, 29 hull plates are refused whole. An unknown ship, item or quantity adds nothing either. The idle reload then loads from the new stock as usual.

This is not the scenario language. A scenario author has a much larger vocabulary (spawning, despawning, allegiance, forced launches, outcomes). None of it is reachable from this prompt. The catalog above is the whole public surface, and a new scenario action does not appear here unless somebody deliberately adds it.

The monitor

Screenshot assets/wiki-command-shell.png The whole NOVACRT 9000 at the prompt: casing, vents, chin controls, a lit scrollback with the introduction, a command answer and a did-you-mean suggestion.

The monitor is a physical one - a NOVACRT 9000, per its brand plate - and its chin controls are real. They are clicked directly (everything above them, on the glass, is clicked through the curved picture), and their settings persist across sessions:

Control What it does
BRIGHT knob Four detents of picture brightness, from dim to blazing.
SCAN knob Four detents of scanline strength, from clean to heavy.
SND toggle Mutes every monitor sound; the indicator bulb goes dark.
PWR button Powers the monitor off - the LED flashes orange while the picture collapses.
Show explanation

The picture is a real tube, not a flat overlay: the terminal renders offscreen and is shown through one screen shader, so the green glyphs bloom into a phosphor halo, the image bows with barrel curvature under scanlines, grain and an edge vignette, a hum bar drifts, the mains flicker breathes, and a retrace beam sweeps by every few seconds. Your mouse works through all of it: clicks on the glass are mapped through the same curvature, so the control you see under the cursor is the one you hit.

The monitor sounds like it looks, when SND is up: a key tick per character, a heavier clack on Enter, an ok blip when a command runs and an error buzz when it does not, a completion tick per Tab step, the power sweep up and down, and a low ambient bed humming the whole time it is on. Around the glass, the casing carries its bezel, corner screws, a vent grille and the spec line P22 GREEN PHOSPHOR . 15 IN . TYPE CQ-4.

Driving it from outside

The development process channel carries the same lines. {"tick":120,"command":"graphics low"} is the text you would have typed, resolved by the same parser and run by the same dispatcher, and the acknowledgement names the command, its class and its result. There is no separate wire vocabulary to learn or to drift.