Fire in Stationeers follows fixed rules. Know them, and you understand why a room full of carbon dioxide keeps burning anyway, and why things catch fire on Venus that are harmless next door on Mars. The rules come from analysing the game code of 0.2.6428.
When gas burns
Gas only burns when all three conditions are met at the same time:
- There is ignition – a spark or autoignition.
- There is fuel and an oxidiser, at least 0.00001 mol of each.
- The cell is not currently suppressed by a fire extinguisher.
Fuels are Methane (volatiles), Hydrogen and alcohol. Oxidisers are Oxygen, Nitrous Oxide and ozone. Hydrazine even burns on its own.
Gas ignites by itself when there is more than 1 mol of fuel and the temperature is high enough: 300 °C for volatiles and hydrogen, 400 °C for alcohol. With more than 1 mol of nitrous oxide the threshold drops by 250 K, with ozone by 150 K.
Important in practice: the share of inert gas does not matter. There is no minimum oxygen fraction. A room with 90 % carbon dioxide keeps burning as long as fuel and oxygen are above the tiny limit.
What it produces
Per tick at most 20 % of the scarcer partner burns. The products depend on the pair:
Heat is released as well: 286 kJ per mol of volatiles, 306 kJ per mol of hydrogen, 566 kJ per mol of alcohol. With nitrous oxide or ozone as the partner the heat doubles.
From fire to pressure: a worked example
A room of eight large cells has 64 m³, so 64,000 litres. It holds air at 101.3 kPa and 20 °C, about 2,661 mol. Through a leak, 100 mol of volatiles get in. The pressure barely rises, to about 105 kPa. Then there is a spark.
- According to the combustion table, 2 mol of methane and 1 mol of oxygen become 3 mol of pollutant and 6 mol of CO2. So 100 mol of fuel and 50 mol of oxygen become 150 + 300 = 450 mol of exhaust.
- 100 · 286 kJ = 28.6 MJ are released.
- All the gas in the room has a combined heat capacity of about 66 kJ/K. The temperature rises by 28,600 / 66 ≈ 430 K to about 725 K.
- With 3,061 mol at 725 K, the gas equation gives p = n · R · T / V = 3,061 · 8.3144 · 725 / 64,000 ≈ 288 kPa.
Against vacuum, a Iron Wall (Type 1) only holds 200 kPa of pressure difference, a Composite Wall (Type 1) 300 kPa. The iron wall breaks, the composite wall just holds. The calculation ignores heat loss to the walls, so it is an upper bound – but it shows why a small leak in a closed room is dangerous.
Pressure without fire
Things can also blow without a flame when a container exceeds its limit:
| Container | Limit | What happens |
|---|---|---|
| Canister | 10,132.5 kPa | damage after more than 5 ticks, then it bursts |
| gas pipe, including tanks in the pipe network | 60,795 kPa | under stress from about 48,600 kPa |
| liquid pipe | 6,079.5 kPa | pressure shoots up when it is nearly full |
Since version 0.2.6143 the buildable tanks are part of the pipe network, so the gas pipe limit applies to them. Older tanks with their own gas space, still standing in old saves, take 5 damage per tick from 60,795 kPa difference to the world and, when they break, release their entire contents into a single cell at once. If that is fuel next to breathing air, it burns.
Items that catch fire
Many items are flammable. According to the game code they catch fire in two ways:
- Via the flash point: something is already burning in the cell, and the item is hotter than its flash point. Higher pressure lowers this threshold, because the flash point is divided by the pressure ratio to 101.325 kPa.
- Via autoignition: the item is hotter than its autoignition temperature and the gas cell contains more than 10 MJ of heat energy. No oxygen is needed for this.
Some values from the game data:
| Item | Flash point | Autoignition |
|---|---|---|
| Battery Cell (Nuclear), Duct Tape | 50 °C | 100 °C |
| bread, canned food, water bottle | 100 °C | 300 °C |
| Eva Suit | 120 °C | 300 °C |
| Space Helmet, Gas Mask | 210 °C | 350 °C |
| battery cell small and large | 700 °C | 1,200 °C |
| Hardsuit, HARM suit | not flammable | – |
Venus is the textbook case. The air is a constant 737 K, so 464 °C – more than the Eva Suit's autoignition point. But an 8,000-litre gas cell there only holds about 6.9 MJ of heat energy, below the 10 MJ threshold. Any extra heat source, such as a generator's waste heat, can push it over.
A burning item uses 0.3 mol of oxygen per tick and produces carbon dioxide. It goes out once its cell has at most 0.3 mol of oxygen left or the pressure drops below 1.5 kPa.
Detecting fire
The Gas Sensor reports Combustion not only for a real fire but already for a spark. According to the game code the Wall Heater creates a spark every tick – next to one, the sensor reports fire all the time. Temperature is more reliable.
The following program reads the temperature of all gas sensors named "Sensor Store" and switches klaxon and flashing light once it gets too hot. A hysteresis prevents flickering.
# Fire alarm: watch temperature, switch klaxon and flashing light
define SENSOR -1252983604 # gas sensor (StructureGasSensor)
define KLAXON -828056979 # klaxon speaker (StructureKlaxon)
define LIGHT -1535893860 # flashing light (StructureFlashingLight)
define NSENSOR HASH("Sensor Store") # name of the sensors
define NKLAXON HASH("Klaxon Store") # name of the klaxons
define NLIGHT HASH("Light Store") # name of the flashing lights
define TALARM 333.15 # 60 C alarm on
define TCALM 313.15 # 40 C alarm off
define SOUND 28 # Mode 28 = FireFireFire
alias temp r0
alias alarm r1
alias hot r2
alias cool r3
alias last r4
move last -1 # forces the first write
start:
yield
lbn temp SENSOR NSENSOR Temperature 0
bnan temp start # no sensor with this name
sgt hot temp TALARM
slt cool temp TCALM
select alarm hot 1 alarm # too hot: alarm on
select alarm cool 0 alarm # cool again: alarm off
beq alarm last start # nothing changed: do not write again
move last alarm
sbn KLAXON NKLAXON Mode SOUND
sbn KLAXON NKLAXON On alarm
sbn LIGHT NLIGHT On alarm
j start
It only writes when the alarm state changes: according to the game code, every write to Mode or On restarts the klaxon's sound, even with the same value. What you can adjust: TALARM and TCALM and the three names. Batch mode 0 returns the average of all sensors with the same name. A fire in one corner shows up later in the average of a large room – so prefer several small zones with names of their own. The basics are in IC10: control a device by name and in the academy under Hysteresis.
What really puts it out
- Remove the fuel or the oxygen. Below 0.00001 mol combustion stops. Pumping a room empty is therefore a sure way to put the fire out.
- The Fire Extinguisher (Reusable). It suppresses fire in your cell and the open neighbouring cells for 10 ticks (5 s) and removes up to 20,000 J of heat. Burning creatures are put out as well, burning items are not.
- What does not work is pumping in carbon dioxide or nitrogen on its own. Water has no direct effect either.
Keep fire extinguishers at hand, for example in a Fire Extinguisher Storage next to the door.
Checklist
- Never run fuel lines through rooms with breathing air.
- No wall heater next to a fuel line – it ignites every tick.
- Fill canisters and tanks with headroom below the pressure limit.
- Do not store nuclear cells and duct tape next to heat sources.
- Build fire detectors on temperature, not on
Combustion.
Next
- Heat, cold and radiation: damage, protection and hot worlds – hot worlds and their traps
- Atmosphere and pressure – pressure limits of walls and pipes
- Medicine and injuries: avoiding damage, using healing – when it has happened anyway
- Try the code: IC10 editor