With the Modular Consoles you build your own control rooms: wall panels, desks and cabinets with a module field on a 10 cm grid, fitted with 20 modules – buttons, switches, knobs, keypad, LEDs, annunciators, text displays, 7-segment displays, gauges, bar graphs, signal lights, buzzers and labels. Every module is a logic device of its own for IC10. All models are original designs in an industrial look, anthracite with a green accent strip. Labels and device names appear in German or English, depending on the game language.
Overview
Housings
| Housing | Size | Module field | Kits | Connector |
|---|---|---|---|---|
| Console Wall Panel 0.5 × 0.5 m | 20 cm deep, wall or frame | 4 × 4 grid | 1 | bottom |
| Console Wall Panel 1 × 0.5 m | 20 cm deep | 9 × 4 | 2 | bottom |
| Console Wall Panel 0.5 × 1 m | 20 cm deep | 4 × 9 | 2 | bottom |
| Console Wall Panel 1 × 1 m | 20 cm deep | 9 × 9 | 4 | bottom |
| Console Desk Flat 0.5 / 1 / 1.5 m | desk surface tilted 12°, front 0.55 m, back 0.65 m | 4 / 9 / 14 × 4 | 2 / 4 / 6 | back, at floor level |
| Console Desk Sloped 0.5 / 1 / 1.5 m | 35° slope from 0.55 m (front edge) to 0.87 m (top edge) | 4 / 9 / 14 × 5 | 2 / 4 / 6 | back, at floor level |
| Console Cabinet 0.5 / 1 m | 1.75 m high, vertical field from 0.34 to 1.54 m | 4 / 9 × 12 | 4 / 8 | back, at floor level |
The character sees from a height of about 1 m, and since 1.0.1 desks and cabinet are sized for that. Modules from older saves are kept and move along. The wall panels stand clear of a finished wall too. Desks and cabinets have a title plate. One connector for power and data supplies all modules on the housing.
Modules
| Module | Grid | Power | Operation |
|---|---|---|---|
| Console Illuminated Button | 1 × 1 | 1 W | click to press; momentary or latching, cap in 12 colours |
| Console Toggle Switch | 1 × 1 | 0.5 W | click the top or bottom half, 2 or 3 positions |
| Console Selector Switch | 2 × 2 | 0.5 W | click the left or right half, 2 to 5 positions, free labels |
| Console Key Switch | 1 × 1 | 0.5 W | turns only with an access card in hand, optionally one card colour only; click turns on, with Alt back |
| Console Emergency Stop | 2 × 2 | 0.5 W | mushroom button, latches when pressed, another click releases it |
| Console Fader | 1 × 3 | 0.5 W | click on the track sets the slider, mouse wheel ± one step |
| Console Rotary Knob | 2 × 2 | 0.5 W | 270° scale, left or right half ± one step, with Alt 10 steps |
| Console Keypad | 2 × 3 | 3 W | digits, OK hands the code over, the arrow key deletes the last digit |
| Console LED | 1 × 1 | 0.5 W | off, on, blinking, fast blinking; 12 colours or any RGB colour |
| Console LED Bar | 1 × 3 | 2 W | 10 segments as bar, dot or bit pattern |
| Console Annunciator | 2 × 1 | 2 W | light field with two lines of text, a new alert flashes, click acknowledges |
| Console Text Display Small | 2 × 1 | 3 W | 2 lines with placeholders for values and texts |
| Console Text Display Large | 4 × 2 | 8 W | 4 lines, each at least 25 mm high |
| Console 7-Segment Display | 3 × 1 | 3 W | 6 digits: decimal, integer, hex, mm.ss, hh.mm, text |
| Console Analogue Gauge | 2 × 2 | 1 W | 270° scale with title, unit and red zone, the needle settles with damping |
| Console Bar Graph | 2 × 3 | 2 W | vertical light bar with scale |
| Console Signal Light | 1 × 2 | 2 W | red, yellow, green, optionally blinking |
| Console Buzzer | 1 × 1 | 5 W | every sound of the klaxon, click switches it on or off for testing |
| Console Label Small | 2 × 1 | 0.5 W | two lines of your own text, optionally backlit |
| Console Label Wide | 4 × 1 | 1 W | 40 cm wide, for headings |
One grid unit is 10 × 10 cm. Labels are at least 15 mm high, display lines at least 25 mm – readable while standing.
Requirements
- Stationeers 0.2.6428, BepInEx 5.4.23.5, StationeersLaunchPad 1.0, see Installation
- Mod in the active mod pack
- In multiplayer: the server and all players
Building and recipes
| Kit | Machine | Cost | builds |
|---|---|---|---|
| Kit (Console Wall Panels) | Autolathe, tier 1 | 4 iron, 2 copper | wall panels in four sizes |
| Kit (Console Desks) | Autolathe, tier 1 | 6 iron, 2 steel, 2 copper | flat and sloped desks in three widths |
| Kit (Console Cabinets) | Autolathe, tier 1 | 6 iron, 3 steel, 2 copper | cabinets 0.5 and 1 m |
| Kit (Console Controls) | Electronics printer, tier 1 | 1 iron, 2 copper, 1 gold | illuminated button, toggle switch, selector switch, key switch, emergency stop, fader, rotary knob, keypad |
| Kit (Console Displays) | Electronics printer, tier 1 | 1 iron, 2 copper, 1 gold, 1 silicon | LED, LED bar, annunciator, text displays, 7-segment display, gauge, bar graph, signal light, buzzer, labels |
With every kit the mouse wheel picks the size or module. Large housings use several kits, see the "Kits" column above. A module uses one kit. The costs are in GameData/konsolen.xml in the mod folder.
Step by step
- Build the housing.
- Connect a cable with power and data to the connector.
- Hold a module kit (controls or displays) and pick the module with the mouse wheel.
- Aim at the module field. The slot under the crosshair is outlined green, occupied slots are reported.
- Click: the module snaps in and takes power and data from the housing.
- Click the module with the screwdriver: set name, label, colours, scales.
- In IC10 address the module with
lbn/sbn, the prefab hash andHASH("name").
While the field is empty it shows MODULE FIELD with short instructions.
Mounting
On a housing: modules snap to the 10 cm grid, on the sloped desk field too. They take power and data from the housing and appear on the data network as perfectly normal devices. IC10, the labeller, the Control Station and the data bridges of the Power Regulator and the Substation find them.
Free: like the game's console modules, every module can also be placed freely on a wall, frame, floor or ceiling. It then sits on a 19 cm deep surface box that also stands clear of a finished wall. The cable with power and data goes into the cell below.
Taking down: modules and housings are taken down with the hand drill. A housing can only be taken down once no modules are left on it (setting GehaeuseAbbauSperren). If a housing is destroyed, its modules drop out as kits.
Operation
- Click buttons, switch halves, the fader track or keys.
- The mouse wheel over switches and knobs adjusts them. The inventory does not scroll then.
- Alt turns the key switch back. On the rotary knob a click with Alt makes 10 steps.
- Lock blocks manual operation. IC10 may still switch as long as
SperreNurVonHandis on. - The emergency stop latches when pressed, even with Lock. It can only be released by hand and not while locked; IC10 can only read it.
Settings window
A click with the screwdriver opens the settings window.
- Module: device name (the name for
HASH("…")), label (device name, own text or none), colours, positions and their texts, scale with range, step, decimals, unit, title and red zone, display lines, value formats, sound, pulse time and an IC10 quick reference with HASH lines to copy. - Housing: name, title, brightness, grid lines on or off, list of modules.
The default label of a module is its device name. If you name a button "Pumpe Start", that text appears on the module.
Text displays
The lines of the text displays are templates with placeholders: {1} to {8} are values, {T1} to {T4} texts from IC10. {1} is also Setting. For every value you set decimals, unit, factor and k/M/G in the window. Newly built displays show {T1} to {T4}.
IC10
| Device | Prefab | Hash |
|---|---|---|
| Console Illuminated Button | StructureKonsoleLeuchttaster | -1849650245 |
| Console Toggle Switch | StructureKonsoleKippschalter | 1675646743 |
| Console Selector Switch | StructureKonsoleDrehschalter | 1245454636 |
| Console Key Switch | StructureKonsoleSchluesselschalter | -1584783676 |
| Console Emergency Stop | StructureKonsoleNotAus | 1891705350 |
| Console Fader | StructureKonsoleSchieberegler | -1777367042 |
| Console Rotary Knob | StructureKonsoleDrehregler | -1367089666 |
| Console Keypad | StructureKonsoleTastenfeld | -38617740 |
| Console LED | StructureKonsoleLed | 1642510011 |
| Console LED Bar | StructureKonsoleLedBalken | -2055648753 |
| Console Annunciator | StructureKonsoleLeuchtmelder | 1422230161 |
| Console Text Display Small | StructureKonsoleTextdisplayKlein | -475739772 |
| Console Text Display Large | StructureKonsoleTextdisplayGross | 1210980349 |
| Console 7-Segment Display | StructureKonsoleSiebensegment | 302359426 |
| Console Analogue Gauge | StructureKonsoleZeigerinstrument | -1650540271 |
| Console Bar Graph | StructureKonsoleBargraph | -1282929460 |
| Console Signal Light | StructureKonsoleAmpel | 510609328 |
| Console Buzzer | StructureKonsoleSummer | -1000720074 |
| Console Label Small | StructureKonsoleSchild2 | 1424950868 |
| Console Label Wide | StructureKonsoleSchild4 | -1114856607 |
| Console Wall Panel 0.5 × 0.5 m | StructureKonsoleWand1x1 | -1957159115 |
| Console Wall Panel 1 × 0.5 m | StructureKonsoleWand2x1 | -1994481300 |
| Console Wall Panel 0.5 × 1 m | StructureKonsoleWand1x2 | 307318415 |
| Console Wall Panel 1 × 1 m | StructureKonsoleWand2x2 | 270004438 |
| Console Desk Flat 0.5 / 1 / 1.5 m | StructureKonsolePultFlach1 / 2 / 3 | -1121899144 / 606633154 / 1395608660 |
| Console Desk Sloped 0.5 / 1 / 1.5 m | StructureKonsolePultSchraeg1 / 2 / 3 | 916690101 / -1347762929 / -659688039 |
| Console Cabinet 0.5 / 1 m | StructureKonsoleSchrank1 / 2 | 1815775449 / -181151389 |
Every module also has On, Power and Error, the controls Lock as well. Colours are colour numbers such as Color.Red.
| Module | LogicTypes |
|---|---|
| Illuminated Button | Setting 1 = pressed; Activate 1 after every press; Mode 0 momentary, 1 latching; Output lamp 0 automatic, 1 off, 2 on, 3 blink, 4 fast; Color |
| Toggle Switch | Setting position, 0 = down; Open 1 = not down; Mode 0 = 2 positions, 1 = 3 |
| Selector Switch | Setting position from 0; Mode number of positions 2–5; Ratio; Maximum |
| Key Switch | Setting position; Mode 0 = 2 positions, 1 = 3 |
| Emergency Stop | Setting 1 = tripped, read only |
| Fader, Rotary Knob | Setting value; Ratio 0–1; Minimum; Maximum |
| Keypad | Setting code after OK, write 0 = handled; Activate 1 for 1 s after OK; Quantity digits entered; Output feedback 0 none, 1 GRANTED, 2 DENIED, 3 PLEASE WAIT; Mode 1 = digits hidden; Color |
| LED | Setting 0 off, 1 on, 2 blink, 3 fast; Color; Output any colour as $RRGGBB, 0 = Color |
| LED Bar | Setting value; Minimum; Maximum; Mode 0 bar, 1 dot, 2 bit pattern; Color; Ratio |
| Annunciator | Setting 0 off, 1 on, 2 blink (new), 3 fast; Activate 1 for 1 s after acknowledging; Color |
| Text Display Small and Large | Setting = value 1; Color; plus get/put (below) and clr |
| 7-Segment Display | Setting number; Mode 0 decimal, 1 integer, 2 hex, 3 mm.ss, 4 hh.mm, 5 text; Color |
| Analogue Gauge | Setting reading; Ratio; Minimum; Maximum |
| Bar Graph | Setting value; Ratio; Minimum; Maximum; Color |
| Signal Light | Setting bits 1 green, 2 yellow, 4 red; Mode 1 = blink |
| Buzzer | On 1 = sounding; Mode or SoundAlert sound; Volume 0–100 |
| Label Small and Wide | On 1 = backlit; Color background colour |
| Housing | On all modules; Lock operation lock for all; Mode 1 = lamp test; Ratio brightness 0.1–1; Quantity number of modules |
Text display: get and put
| Address | Meaning |
|---|---|
| 0–7 | values {1} to {8} |
| 8–11 | text {T1}, 6 characters per address as STR("…") |
| 12–15 | text {T2} |
| 16–19 | text {T3} |
| 20–23 | text {T4} |
So a text has at most 24 characters. With the display's ReferenceId in r0, put r0 8 STR("PUMP") writes the first 6 characters of {T1}. clr empties all values and texts. In Mode 5 the 7-segment display shows a text stored in Setting with STR("…").
Example: pump with toggle switch, emergency stop and pressure gauge
On the desk there are a toggle switch "Pumpe", an LED "Pumpe", an emergency stop "Not-Aus" and a gauge "Druck". The volume pump and a pipe analyzer behind the pump are named "Pumpe" as well. The toggle switch switches the pump, the LED shows whether it runs. A pressed emergency stop switches it off, and the LED then blinks. Set the gauge's scale range with the screwdriver, for example 0 to 5000 kPa.
# Consoles: pump with toggle switch, LED, emergency stop and gauge
define KIPP 1675646743 # Console Toggle Switch
define LED 1642510011 # Console LED
define NOTAUS 1891705350 # Console Emergency Stop
define ZEIGER -1650540271 # Console Analogue Gauge
define PUMPE -321403609 # Volume Pump
define ANALYSE 435685051 # Pipe Analyzer
define BLINKT 2 # LED setting: blinking
alias schalter r0
alias notaus r1
alias druck r2
alias an r3
alias led r4
alias fehlt r5
start:
yield
lbn druck ANALYSE HASH("Pumpe") Pressure 0
bnan druck schalten
sbn ZEIGER HASH("Druck") Setting druck
schalten:
lbn schalter KIPP HASH("Pumpe") Setting 0
snan fehlt schalter
select schalter fehlt 0 schalter
lbn notaus NOTAUS HASH("Not-Aus") Setting 0
snan fehlt notaus
select notaus fehlt 1 notaus
select an notaus 0 schalter
sbn PUMPE HASH("Pumpe") On an
select led notaus BLINKT an
sbn LED HASH("Pumpe") Setting led
j start
If the toggle switch is missing, it counts as down. If the emergency stop is missing from the network, it counts as pressed – the pump then stays off.
Example: access code for a door
A keypad "Labor" opens the composite door "Labor" for 5 seconds when the right code is typed and confirmed with OK. The keypad shows GRANTED or DENIED.
# Consoles: keypad opens the lab door with the right code
define TASTEN -38617740 # Console Keypad
define TUER -793837322 # Composite Door
define CODE 4711 # access code
define FREIGABE 1 # feedback GRANTED
define ABGELEHNT 2 # feedback DENIED
define OFFEN 5 # seconds the door stays open
alias eingabe r0
start:
yield
lbn eingabe TASTEN HASH("Labor") Setting 0
bnan eingabe start
beqz eingabe start
sbn TASTEN HASH("Labor") Setting 0
beq eingabe CODE frei
sbn TASTEN HASH("Labor") Output ABGELEHNT
j start
frei:
sbn TASTEN HASH("Labor") Output FREIGABE
sbn TUER HASH("Labor") Open 1
sleep OFFEN
sbn TUER HASH("Labor") Open 0
j start
The code is a number: leading zeros do not count, "0815" arrives as 815. With Mode 1 the keypad hides the digits typed.
Console commands
Console with F3. Without an id, info, test and fenster act on the device you are looking at.
| Command | Effect |
|---|---|
konsole status | overview: modules, housings, settings |
konsole list | all modules with id, slot and Setting |
konsole housings | all housings with field size and state |
konsole info [id] | details and IC10 values |
konsole lamptest [id] | lamp test on the housing on or off |
konsole window [id] | open the settings window |
konsole target | housing slot under the crosshair: field, slot, free or taken |
konsole redraw | redraw all labels |
The German words work too: module, gehaeuse, test, fenster, ziel, neuzeichnen.
Configuration
File: BepInEx\config\dominik1199.konsolen.cfg, or via the mod settings in LaunchPad.
| Key | Default | Meaning |
|---|---|---|
| DruckPixelJeMeter | 1600 | resolution of labels and scales, 600 to 2400 |
| SichtweiteM | 30 | up to this distance lamps, needles and displays are updated continuously, 10 to 120 m |
| BlinktaktS | 0.8 | length of a blink cycle in s; fast blinking is twice as fast |
| LampenHelligkeit | 1 | base brightness of all lamps and displays, 0.2 to 2 |
| Mausrad | on | the mouse wheel over selector switches, knobs and faders adjusts them |
| TasterImpulsS | 0.6 | how long a momentary button reports "pressed", 0.5 to 10 s; adjustable per button |
| FensterSchriftgroesse | 1 | font size in the settings window, 0.8 to 2 |
| GehaeuseAbbauSperren | on | a housing can only be taken down once no modules are left |
| Klickton | on | click sound when operating |
| SperreNurVonHand | on | Lock only blocks manual operation; off = IC10 cannot change locked modules either |
| SummerHoerweiteM | 20 | how far a buzzer can be heard, 4 to 60 m (after a restart) |
| SummerLautstaerkeProzent | 100 | volume of all buzzers, 0 to 200 |
| GehaeuseGrundlastW | 5 | power use of a switched-on housing without modules in W |
| ModulLeistungFaktor | 1 | factor on the power use of all modules, 0 = modules need no power |
| MitspielerDuerfenEinstellen | on | server: players may change modules and housings in the settings window; operating always works |
Multiplayer
New devices: the server and all players need the mod. Operation and settings go through the server and are synchronised to everyone. See Multiplayer.
Known limitations
- A text on a text display has at most 24 characters (4 × 6 characters via
STR). - IC10 can only read the emergency stop, never release it. That is intended.
- Display modules have no operation lock, Lock only exists on the controls.
- Lamps, needles and displays are only updated continuously up to 30 m away (
SichtweiteM). - In vacuum the buzzer is silent, like every sound in the game.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Module does not snap in | slot taken or the module no longer fits on the field | pick another slot; konsole target shows slot and occupancy |
| "Finish building the housing first" | housing not finished | finish building the housing |
| All modules dark | housing off or without power | connect a cable with power and data, switch the housing on (On) |
| Housing cannot be taken down | modules still on it | take the modules down with the hand drill first |
| Switch cannot be operated | Lock active | release Lock on the housing or module |
| Key switch does not turn | no access card or the wrong one in hand | hold a matching access card |
| IC10 does not find the module | wrong name or wrong hash | check the name in the settings window, hash from the table above |
| Emergency stop cannot be released | Lock active | release Lock, then click |
| Mouse wheel scrolls the inventory | pointer not over the control or Mausrad off | aim directly at the switch or knob |
| Buzzer cannot be heard | too far away or vacuum | move closer, raise SummerHoerweiteM |