Mother DocsMother Docs
Buy me a Coffee
Steam Workshop
Discord
  • Mother OS (Ingame Script)
Buy me a Coffee
Steam Workshop
Discord
  • Mother OS (Ingame Script)
  • Mother OS (Ingame Script)
    • Getting Started

      • Upgrade Guide
      • Installation
      • Command Line Interface (CLI)
      • Configuration
      • Modules
    • Core Modules

      • Activity Monitor
      • Almanac
      • Block Catalogue
      • Local Storage
      • Security
      • Intergrid Message Service
    • Extension Modules

      • Air Vent Module
      • Battery Module
      • Terminal Block Module
      • Cockpit Module
      • Connector Module
      • Display Module
      • Docking Module
      • Door Module
      • Flight Control Module
      • Gas Tank Module
      • Gyroscope Module
      • Hinge Module
      • Landing Gear Module
      • Light Module
      • Flight Planning Module
      • Piston Module
      • Programmable Block Module
      • Rotor Module
      • Sensor Module
      • Sound Block Module
      • Thruster Module
      • Timer Block Module
    • Command Cheatsheet
    • Compatibility
    • Examples
  • Powered By Mother

Configuration

  • Mother OS Configuration
  • Block Configuration
  • Hooks

Players can easily configure Mother using the Programmable Block's Custom Data. Where a Module has configuration settings, they will be documented in the module's section of this documentation.

Important

Don't forget to Recompile Mother when you update the Custom Data in the Programmable Block.

Mother OS Configuration

Mother > Custom Data
[general]
debug=false 

[security]
encrypt_messages=false
passcodes=Sup3rSecr3tP@ssw0rd

[Commands]
; single line command
hinge0=hinge/rotate Hinge 0 --speed=2

; single line routine
hinge45=hinge/rotate Hinge 45 --speed=2; rotor/rotate Rotor 20 --speed=1;

; multi-line routine
goto-ts-base=
| nav/set-flightplan "GPS:TopSecretBase:211.78:-52.93:59.19:#FF75C9F1:";
| fcs/start --speed=100;

[hooks]
; block hooks can be defined within Mother's Custom Data to trigger events on blocks.  This allows for localized automation of blocks.
AirlockOuterDoor.onOpen=
| light/blink "Airlock Light" fast; 
| vent/depressurize AirlockVent; 
| wait 10; 
| door/close OuterDoor;

Block Configuration

All Terminal Blocks have a Custom Data field. This is where you can define the block's configuration, tags, and hooks.

AirlockDoor > Custom Data
[general]
tags=airlock,door

[hooks]
onOpen=
| light/blink "Airlock Light" fast;
| vent/depressurize AirlockVent;

onClose=
| vent/pressurize AirlockVent;
| wait 2;
| light/blink "Airlock Light" off;

Hooks

Hooks are triggered when specific blocks change state. they can be defined within a block's Custom Data or within Mother's Custom Data.

Tips

You can use this to refer to the block itself when targeting it from within its own custom data.

Note

Hooks are defined within Modules where available. See the Connector Module, and Sensor Module for some examples.

For when the OuterDoor opens, a light will blink, a vent will depressurize, and the door will close.

OuterDoor > Custom Data
[hooks]
onOpen=
| light/blink "Airlock Light" fast; 
| vent/depressurize AirlockVent;
| wait 10; 
| door/close this;

onClose=
| vent/pressurize AirlockVent; 
| wait 2; 
| light/blink "Airlock Light" off;

or, we can define the hook in Mother's Custom Data:

OuterDoor > Custom Data

```ini title="Mother > Custom Data"
[hooks]
OuterDoor.onOpen=
| light/blink "Airlock Light" fast; 
| vent/depressurize AirlockVent; 
| wait 10; 
| door/close OuterDoor;

"Inner Door".onClose=
| vent/pressurize AirlockVent; 
| wait 2; 
| light/blink "Airlock Light" off;

Note

The pipe character | is used to indicate a new line in the Commands section. This is not required in the Programmable Block terminal but allows us to organize our commands and routines across multiple lines for readibility.

Last Updated:: 4/29/25, 9:42 PM
Contributors: Luke Morrison
Prev
Command Line Interface (CLI)
Next
Modules