stationeers.de Mod workshop · Dominik1199
DE Sign in
  1. Home
  2. Mod wiki
  3. Mod manuals
  4. Digital Valves – Guide

Mod manuals

Digital Valves – Guide

All 14 switchable valves – condensation, expansion, diverter, throttle, thermostatic, safety relief, distribution and merging – with controls, IC10 table, same-tank distillation (with script) and troubleshooting.

Last changed: Oct 23, 2026

v1.0.0 Digital Valves

The game has a digital version of the normal valve – but not of the condensation and expansion valve. This mod adds both as switchable valves plus six more valve types, each for gas and for liquid pipes. All of them work with a button, a logic switch or IC10, have their own model with coloured connections, a status LED and a data port.

Requirements

  • Stationeers 0.2.6428, BepInEx 5.4.23.5, StationeersLaunchPad 1.0, see Installation
  • Mod in the active mod pack
  • Multiplayer: server and all players with the same version

Quick start

  1. In the Hydraulic Pipe Bender (tier 1) make a Kit (Digital Valves Gas) or (… Liquid): copper 2, steel 5, invar 3.
  2. Take the kit, pick the valve with the mouse wheel, rotate with C + mouse wheel and place it into the pipe.
  3. The inlet is the stub whose arrow points at the housing. Yellow ring = gas, blue ring = liquid.
  4. Cable (power + data) at the socket with the red-green ring – on the inline valves on the side opposite the panel, on the diverter, distribution and merging valve on top. Every valve needs 5 W.
  5. Press ON/OFF on the panel. The LED turns yellow (ready) or green (open).

The valves

ValveConnectionsWhat it does
Digital Condensation ValveIN gas, OUT liquidLets condensate pass from the gas pipe into the liquid pipe – only while ON and powered.
Digital Expansion ValveIN liquid, OUT gasLets liquid into the gas pipe where it can evaporate – only while ON and powered.
3-Way Diverter ValveIN, A straight, B to the sideConnects the inlet with A or with B.
Throttle ValveIN, OUTOpening 0–100 % – how far the networks equalise per tick.
Thermostatic ValveIN (sensor), OUTOpens by itself when the inlet is warmer (or colder) than the set point.
Safety Relief ValveIN (protected), OUT (relief)Relieves above the set pressure, raises an alarm and counts trips.
Distribution ValveIN, A, B, COne inlet to three outlets, each switchable and 0–100 % open.
Merging ValveA, B, C, OUTThree inlets to one outlet, each switchable and 0–100 % open.

All except condensation and expansion come in a gas and a liquid version.

Digital condensation and expansion valve

The same code as the game valve runs here: per tick (0.5 s) at most 10 litres pass, at most half of the liquid at the inlet, and only as much as fits into the outlet line. The gas stays where it is. The mod only switches this tick off while the valve is off or unpowered.

That is the key to same-tank distillation: several condensation valves sit on the same tank, each on its own liquid line. Condensate only ends up where the valve is switched on.

3-way diverter valve

The PATH button toggles between A and B, LEDs A and B show the open path. When open it behaves like the game's Digital Valve: both networks equalise by volume within one tick, in both directions. Closed without power.

Throttle valve

The opening (Setting 0–100 %) is the share of the equalisation per tick: 100 % = like the Digital Valve, 50 % = half the way per tick, 0 % = closed. Buttons - and + change by 10 %, holding C by 1 %.

Thermostatic valve

The sensor sits at the inlet. Mode "opens above": open once the inlet is warmer than set point + ½ hysteresis, closed below set point − ½ hysteresis. Mode "opens below" the other way round. Hysteresis 1 K (IC10 put address 2). Buttons: -/+ 5 K (holding C 1 K), MODE. The valve works mechanically without power too; LED and data need power (can be switched off in the settings).

Safety relief valve

When the inlet pressure rises above the set pressure (Setting, preset gas 45,000 kPa, liquid 4,500 kPa) it opens and relieves into the network at the outlet until the pressure is the reseat margin (5 %) below. It never pushes against a higher back pressure. In a brim-full liquid line it drains liquid first (at most 10 L per tick). Every trip is counted; the alarm stays latched until RESET is pressed (holding C also clears the counter) or IC10 writes Activate 0. LED: flashing red while relieving, flashing orange while an alarm is latched. Works mechanically without power.

Distribution and merging valve

Each branch has a button A, B, C with an LED: click = open/close, holding C cycles the opening 25 → 50 → 75 → 100 %. Flow goes one way only, like the game's one-way valve: gas when the pressure on the feed side is higher, liquid when the fill level there is higher – never back. Branches are served in turn so none is preferred.

Status LED

The lamp on top of the housing shows the same as the status LED and can be seen from every direction.

LEDMeaning
offswitched off or no power
yellowready, closed
greenopen
pulsing greenopen, something is flowing right now
reda pipe is missing (IC10 Error = 1)
flashing redsafety relief valve relieving
flashing orangesafety relief valve: alarm latched

Sounds

The valves use sounds from the game, positioned at the device and at your volume setting – every player hears the same: a clack when opening and closing (like the Digital Valve), a click on every button, the "pressure high" announcement when the safety relief valve trips followed by a warning beep every 5 s until RESET, and a hiss while it relieves.

IC10

All valves sit on the data network with their names – best use lbn/sbn with the labeller name.

LogicTypeValvesMeaning
On (rw)allmain switch
Open (r)all1 = passing right now
PassedMoles (r)allmol in the last tick
Error, Power, RequiredPower, Lockallas in the game
PressureInput, TemperatureInput, Ratio…Input, TotalMolesInput …allpipe network values, also Input2, Output, Output2
VolumeOfLiquid (r)condensation, expansionliquid at the inlet (L)
Mode (rw)diverter0 = A, 1 = B
Setting (rw), Ratio, Maximumthrottleopening 0–100 %
Setting (rw), Mode (rw), Temperature (r)thermostaticset point in K, 0 = opens above / 1 = below, sensor in K
Setting (rw), Pressure (r), Activate (rw)safety reliefset pressure kPa, inlet pressure, alarm (write 0 = acknowledge)
Setting (rw)distribution, mergingswitched branches as bit mask: A = 1, B = 2, C = 4 (all = 7)
ClearMemory (w)allreset sums and counters

Memory (get/put):

AddressValvesContent
0 / 1allmol in the last tick / total
2condensation, expansionliquid at the inlet (L)
2thermostatichysteresis in K (put)
2, 3, 4safety reliefreseat margin % (put), trips, peak pressure kPa
2–4distribution, mergingopening A/B/C in % (put)
5–7, 8–10, 11–13, 14–16distribution, mergingpressure, temperature, mol, flow in the last tick per branch A/B/C

On the distribution valve Output = A and Output2 = B, on the merging valve Input = A and Input2 = B; branch C only via get.

Same-tank distillation

The game condenses a gas by the total pressure of the line: if the pressure is above the gas' minimum pressure and the temperature below its condensation temperature, all of it turns liquid – no matter how much of it is in the mix. Condensation temperatures (from the game data, Mole/MoleHelper):

Total pressureWaterPollutantCO2
1000 kPa513 K (240 °C)– (only from 1800 kPa)230 K (−43 °C)
2000 kPa560 K (287 °C)188 K (−85 °C)243 K (−30 °C)
3000 kPa590 K (316 °C)256 K (−17 °C)252 K (−22 °C)
4000 kPa612 K (338 °C)319 K (45 °C)258 K (−16 °C)
5000 kPa629 K (356 °C)378 K (105 °C)262 K (−11 °C)
6000 kPa644 K (371 °C)434 K (161 °C)266 K (−7 °C)

So water always condenses first. Pollutant only condenses before CO2 from about 2930 kPa – below that it is the other way round. Since the pressure drops while cooling and with every substance taken out, a carrier gas that does not condense helps (nitrogen, condenses only below about 173 K at 4000 kPa).

Setup:

  1. A tank (e.g. large tank) as the gas network. On it three Digital Condensation Valves, each with its own liquid line and tank. Labeller names: Destille Wasser, Destille Schadstoff, Destille CO2.
  2. An Air Conditioner in a loop with the tank (inlet at the tank, outlet back through a one-way valve, waste heat outside). Name Destille Kuehler.
  3. A small LED display Destille Stufe (shows the stage).
  4. All devices and an IC housing with the script below on the same data network.

How it runs: stage 1 keeps the gas 3 K above the condensation of pollutant and CO2 (at least 1 °C) – only water turns liquid, only the water valve is open. Stage 2 cools to 3 K above CO2 condensation: pollutant. Stage 3 cools to 3 K below CO2 condensation (never below −54 °C, CO2 would freeze): CO2. A stage is done when less than 0.1 % of the substance is left. Stage 4 = done, all valves closed, air conditioner off – when new gas arrives in the tank the script starts again. A valve only opens once nothing else is liquid (otherwise the script keeps the tank warm until it has evaporated again). The display shows −2 or −3 when the pressure is too low for that stage.

In the simulation (8 MPa, 10 % steam, 15 % pollutant, 35 % CO2, 40 % nitrogen) every substance ends up more than 99 % pure in its line.

# Digitale Ventile: Destillation in EINEM Tank
# Kuehlt ein Gasgemisch stufenweise ab und trennt Wasser, Schadstoff
# und CO2. Je Stufe ist nur EIN Kondensationsventil offen - das
# Kondensat landet nur in dessen Fluessigkeitsleitung. Anzeige: 1 Wasser,
# 2 Schadstoff, 3 CO2, 4 fertig (wartet auf Gas), -2/-3 Druck zu klein.
# Kondensation laut Spiel: Gesamtdruck p, T < exp((ln p - lnA) / B)
# --- 1. Geraete (Namen mit dem Etikettierer vergeben) ---
define DVK -47130250        # Digitales Kondensationsventil (3x)
define KLIMA -2087593337    # Klimaanlage           (Destille Kuehler)
define LED -815193061       # LED-Anzeige klein     (Destille Stufe)
define NW HASH("Destille Wasser")
define NS HASH("Destille Schadstoff")
define NC HASH("Destille CO2")
define NK HASH("Destille Kuehler")
define NA HASH("Destille Stufe")
# --- 2. Einstellungen ---
define ABST 3               # K Abstand zur naechsten Kondensation
define REST 0.001           # Restanteil: Stufe fertig / Kondensat rein
define NEU 0.01             # neues Gas ab diesem Anteil: Neustart
define FROSTW 274.15        # 1 C  Wasser darf nicht gefrieren
define FROSTS 174.15        # -99 C  Schadstoff friert bei 173,3 K
define FROSTC 219.15        # -54 C  CO2 friert bei 217,8 K
# --- 3. Spieldaten (Mole/MoleHelper): ln A, B, Mindestdruck kPa ---
define LNAS 0.731903        # Schadstoff
define BS 1.312022
define PMINS 1800
define LNAC -59.410058      # CO2
define BC 12.195838
define PMINC 517
define PMAX 6000            # kPa, darueber rechnet das Spiel nicht
alias stufe r0
alias p r1
alias ts r2
alias tc r3
alias ziel r4
alias rest r5
alias h r6
alias an r7
alias rein r8
alias machbar r9
move stufe 1
start:
yield
lbn p DVK NW PressureInput 0
snan h p
bnez h fehlt
# --- 4. Kondensationstemperatur Schadstoff und CO2 bei p ---
clamp h p PMINS PMAX
log h h
sub h h LNAS
div h h BS
exp ts h
slt h p PMINS
select ts h 0 ts            # unter 1800 kPa kein Schadstoff
clamp h p PMINC PMAX
log h h
sub h h LNAC
div h h BC
exp tc h
slt h p PMINC
select tc h 0 tc            # unter 517 kPa kein CO2
# --- 5. Zieltemperatur, Rest und Reinheit je Stufe ---
move rein 1
move machbar 1
lbn an DVK NW RatioLiquidCarbonDioxideInput 0
beq stufe 4 fertig
beq stufe 2 stufe2
beq stufe 3 stufe3
max ziel ts tc              # Stufe 1: ueber Schadstoff und CO2
max ziel ziel FROSTW
add ziel ziel ABST
lbn h DVK NW RatioLiquidPollutantInput 0
add h h an                  # erst oeffnen, wenn nichts anderes
slt rein h REST             # fluessig ist (sonst warm halten)
lbn rest DVK NW RatioSteamInput 0
lbn h DVK NW RatioWaterInput 0
j weiter
stufe2:
max ziel tc FROSTS          # ueber CO2, unter Schadstoff
add ziel ziel ABST
slt rein an REST
sgt machbar ts ziel         # Schadstoff kondensiert ueber Ziel?
lbn rest DVK NW RatioPollutantInput 0
lbn h DVK NW RatioLiquidPollutantInput 0
j weiter
stufe3:
sub ziel tc ABST            # unter CO2, ueber dem Gefrierpunkt
max ziel ziel FROSTC
sgtz machbar tc             # CO2 erst ab 517 kPa
lbn rest DVK NW RatioCarbonDioxideInput 0
move h an
weiter:
add rest rest h
slt h rest REST
add stufe stufe h           # Rest geschafft: naechste Stufe
j ausgabe
fertig:
lbn rest DVK NW RatioSteamInput 0
lbn h DVK NW RatioPollutantInput 0
add rest rest h
lbn h DVK NW RatioCarbonDioxideInput 0
add rest rest h
sgt h rest NEU
select stufe h 1 4
# --- 6. Ventile, Kuehler, Anzeige ---
ausgabe:
seq an stufe 1
and an an rein
sbn DVK NW On an
seq an stufe 2
and an an rein
sbn DVK NS On an
seq an stufe 3
sbn DVK NC On an
slt an stufe 4
sbn KLIMA NK On an
sbn KLIMA NK Setting ziel
sub h 0 stufe
select h machbar stufe h    # -Stufe: wartet auf Druck
sbn LED NA Setting h
j start
fehlt:
sbn DVK NW On 0             # Ventil fehlt: alles zu, Kuehler aus
sbn DVK NS On 0
sbn DVK NC On 0
sbn KLIMA NK On 0
sbn LED NA Setting 0
j start

What you can tune: ABST (distance to the condensation temperature, 3 K), REST (when a stage is done, 0.001 = 0.1 %), NEU (share of new gas that triggers a restart), the device names. If a valve is missing (wrong name, not on the data network) the script closes all valves, switches the air conditioner off and shows 0.

Console

CommandEffect
dv status [n]the n nearest valves with state, setting and flow
dv infosettings and IC10 overview
dv hilfeshort guide
dv selbsttesttest stand 30 m above you (host/single player only)

Settings

In the LaunchPad window or BepInEx\config\dominik1199.digitaleventile.cfg (in multiplayer the server's values apply):

SettingDefaultMeaning
StromW5power use per switched-on valve (W)
SelbsttaetigOhneStromonthermostatic and safety relief valves work without power

Multiplayer and saves

The server and all players need the mod in the same version. Settings, branch openings, counters and alarm are saved. The game's valves stay unchanged. Without the mod its valves disappear from the save.

Troubleshooting

ProblemSolution
LED redA pipe is missing or on the wrong stub – gas at yellow, liquid at blue.
LED off although ONNo power: cable at the socket (side or top, red-green ring), network powered.
Condensation valve passes nothingNothing is liquid in the gas network yet: check pressure and temperature (table above). VolumeOfLiquid shows the condensate.
Condensate in the wrong lineMore than one valve was on – in the script only one at a time gets On 1.
Distillation script shows −2Total pressure too low: pollutant only condenses before CO2 from about 2930 kPa. Add gas or nitrogen to the tank.
Distillation script shows −3Below 517 kPa CO2 does not condense. Raise the pressure.
Safety relief valve does not relieveBack pressure in the relief network too high, or main switch off.
Distribution valve delivers nothingBranch switched (LED green)? Opening above 0 %? Inlet pressure higher than outlet?
IC10 does nothingData cable at the socket, name in lbn/sbn exactly as in the labeller, main switch on.
Other players see no modelsEveryone needs the same mod version in the active mod pack.
Found a mistake? Let us know. Support
Esc
↑ ↓ selectEnter open/ opens search anywhere