The Cargo Lift is a large freight elevator with its own 3D models in three sizes: 2x2, 3x3 and 4x4 large grid – 4, 6 and 8 m along each side. At the very bottom stands the drive with platform, console and control cabinet; on top of it you stack shaft segments: each is 2 m high and one level. Wherever a piece has a barrier, there is a stop with a call box. The platform carries everything standing on it – players, loose items, crates, the rover and vehicles from other mods – smoothly and without bouncing, also in low gravity. Model labels, displays, buttons and device names appear in German or English – depending on the game language.
Overview
| Size | Shaft | Usable platform | Barrier opening | Load limit |
|---|---|---|---|---|
| 2x2 | 4 × 4 m | 3.82 × 3.82 m | 3.34 m | 2000 kg |
| 3x3 | 6 × 6 m | 5.82 × 5.82 m | 5.34 m | 5000 kg |
| 4x4 | 8 × 8 m | 7.82 × 7.82 m | 7.34 m | 10000 kg |
The load limit refers to the game's physics mass: a rover weighs 20 kg there, a crate 1 to 5 kg. The Rover Mk I (2.72 × 3.58 × 1.80 m) already fits the 2x2 – drive in lengthwise through the barrier.
| Part | Purpose |
|---|---|
| Drive | bottom shaft piece (level 0): four lattice columns with guide rails and racks, platform with console, railing and beacon, control cabinet with main switch, display and LEDs; connection for power and data |
| Shaft segment | 2 m of guide frame = one level, no power and no cables |
| Barrier with call box | selectable on drive and segment: none, one (front) or two (front and back, drive-through) |
Every size has drive and segment in all three barrier variants, 18 variants from 6 kits in total.
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
Building and recipes
| Kit | Machine | Cost |
|---|---|---|
| Kit (Cargo Lift Drive 2x2) | Electronics printer, tier 1 | 30 steel, 10 iron, 20 copper, 6 gold, 6 silicon |
| Kit (Cargo Lift Drive 3x3) | Electronics printer, tier 1 | 45 steel, 15 iron, 25 copper, 8 gold, 8 silicon |
| Kit (Cargo Lift Drive 4x4) | Electronics printer, tier 1 | 60 steel, 20 iron, 30 copper, 10 gold, 10 invar |
| Kit (Cargo Lift Shaft 2x2) | Autolathe, tier 1 | 8 steel, 5 iron, 2 copper, 1 gold |
| Kit (Cargo Lift Shaft 3x3) | Autolathe, tier 1 | 12 steel, 8 iron, 3 copper, 1 gold |
| Kit (Cargo Lift Shaft 4x4) | Autolathe, tier 1 | 16 steel, 10 iron, 4 copper, 2 gold |
The mouse wheel on the kit picks the variant: with one barrier, with two barriers or without. A drive always takes one kit and brings its barriers along. A shaft segment takes 1 kit without a barrier, 2 with one and 3 with two barriers. The costs are in GameData/frachtaufzug.xml in the mod folder.
Setup
- Place the drive on level ground. It snaps to the 2 m grid, so the shaft faces lie on wall and floor planes. The drive goes at the very bottom – it cannot be placed on top of a shaft.
- Run the cable to the control cabinet (see Power and data).
- Place shaft segments of the same size exactly on top of the drive or the topmost segment. Up to 32 segments above the drive are allowed (setting
MaxSegmente), that is 33 levels and 64 m of lift. - Close it off at the top: ceilings, floor plates and frames can be built normally above the top segment – aim at the top edge of the shaft. A ceiling is the upper end.
Rotating: C + mouse wheel or the game's rotate keys. The drive can face any direction. Segments face the same way as the drive or turned by 180°, because the racks sit on two diagonally opposite columns and have to line up. Turned by 180°, a segment's barrier is at the back. A segment turned by 90° cannot be placed.
Build walls around the shaft from the outside. A wall inside the shaft stops the platform. The shaft only occupies the small grid cells inside its footprint. On the shaft faces there is room for cables and pipes running along the shaft, except where the barrier, call box and control cabinet sit.
Deconstruct only from the top down, not while the lift is moving and not while the platform is inside the segment. The drive comes last. An unfinished segment ends the shaft – the levels above it only count once it is complete.
Levels and stops
- Level 0 is the drive, every segment above it adds one level.
- Wherever there is a barrier, there is a stop with a call box. If no piece has a barrier, every level is a stop.
- If any segment has a barrier but the drive does not, level 0 is not a stop. The console and call boxes then never go there, IC10 and the command console still can.
- The platform stops flush with the floor. The drive measures the floor next to the first barrier of each level up to 20 cm above the grid plane, on level 0 also under the drive, and stops 3 mm above it. While standing it measures again every 5 seconds. If a floor changes, the platform slowly follows at 0.1 m/s.
- On sides with a barrier the platform has its own lifting barrier, on the other sides a railing. Both barriers of a stop open and close together.
Power and data
One cable carries power and data at once. The control cabinet sits outside at the front right corner of the drive (seen from the front, facing the barrier); the cable comes in at floor level from the right to its side. The socket is labelled POWER + DATA. Segments need no connection.
| Size | Standby | Travel with empty platform | Maximum |
|---|---|---|---|
| 2x2 | 40 W | 1.5 kW | 4.5 kW |
| 3x3 | 60 W | 2.5 kW | 9 kW |
| 4x4 | 80 W | 4 kW | 18 kW |
- While travelling, the lifting power is added: mass × gravity × speed / 0.8, going down 30 % of that. The local gravity is used.
- Travel and lifting power together stay below the maximum. If that is not enough, the drive travels slower instead of drawing more. The tooltip then shows "power: … m/s".
- While the barriers move, 100 W are added. Switched off, the drive draws nothing.
- The travel demand applies as soon as a target is pending and stays during a power shortage – so it does not flicker back and forth on tight networks.
- Cable: the 2x2 always works with a normal cable (5 kW), the 3x3 and 4x4 with an empty platform too. For heavy loads on 3x3 and 4x4, lay heavy cable.
The same cable connects the drive to the data network. The DATA LED on the control cabinet shows whether a data cable is connected.
Controls
Call box
Every barrier has a call box outside at its left corner (seen from outside) with the buttons CALL and GATE, a display and the LEDs HERE, MOVING and FAULT.
- CALL brings the platform to this level. If it is already here, the barrier opens.
- Several calls are served one after another, up to 8 can wait. After each arrival the platform waits 4 seconds before the next call is served.
- GATE opens or closes the barrier – only while the platform stands at this level.
- The display shows the level, where the platform is, its state and below that ON ITS WAY, "Press CALL", "Barrier open/closed" or the fault.
Console on the platform
- UP / DOWN goes to the next stop above or below. If a target is already set, the next stop beyond the target counts – so each further press goes one stop further. Console commands take priority over waiting calls.
- GATE opens or closes the barrier, only at a stop.
- E-STOP brakes at once and holds; target and calls are cleared. While it is pressed the button flashes and all other buttons are locked. To release: press it again, switch the main switch off and on again, or
cargolift reset. - The display shows the level and the top level, state, load and item count, while travelling speed and power. Plus the LEDs READY and FAULT.
- The beacon flashes while travelling and while the barriers close.
Control cabinet
Main switch ON/OFF – switching on resets E-STOP and faults. The display shows state, level, power and load; the LEDs are RUN, MOVING, FAULT and DATA.
Course of a trip
Ready → open barriers close (2.5 s) → travel at 0.75 m/s with smooth start and stop (0.5 m/s²) → barriers open → ready. A warning tone sounds while closing, plus a running sound and a chime on arrival. In MANUAL mode (IC10 Mode = 1) the barrier does not open by itself on arrival – press GATE or CALL.
What rides along
Everything with physics on the platform rides along: players, loose items, crates, the rover and vehicles from other mods. The platform passes its movement on to everything standing on it. The load therefore stays still, does not bounce when going down and does not fall through – in low gravity too. In multiplayer each machine moves what it simulates itself: the server items, crates and empty rovers, each player themselves and the rover they are driving.
The load has to stay inside the railing (usable area, see overview). Anything sticking out over the edge prevents the trip. Players count as load too, both for mass and for item count.
Safety
| Check | When | Message | Result |
|---|---|---|---|
| Load sticks out over the edge | before the trip and every 0.2 s while travelling | LOAD OVERHANGS | does not start or stops |
| Mass above the load limit | before the trip | OVERLOAD | does not start |
| Something solid above the platform (wall, floor, terrain, device), checked up to 1.40 m or up to the top of the load | before the trip | OBSTACLE ABOVE | does not start |
| Something in the barrier, at the landing or at the platform edge | before the barriers close | BARRIER BLOCKED | barrier stays open |
| Obstacle in the braking distance: above the console or load, below the platform, a person too | constantly while travelling | OBSTACLE ABOVE / BELOW | braking at 2.5 m/s² and stop |
| Power loss | any time | NO POWER | brakes and holds, continues to the target once power is back |
| E-STOP or main switch OFF | any time | E-STOP / OFF | brakes and holds, target and calls are cleared |
The lift never falls. While a target is pending, it checks again every second (every 2 seconds for a blocked barrier) and carries on by itself as soon as the cause is gone. What triggers the fault – for example which item sticks out – is shown in the tooltip on the shaft under "Cause". After E-STOP or OFF the platform may stand between two levels. UP/DOWN or CALL gets it moving again.
IC10
Only the drive is on the data network, the segments have no connection. Every variant has its own prefab hash (table below): for lbn/sbn use the hash of the drive variant you actually built.
| LogicType | Read | Write |
|---|---|---|
Setting | target level, without a target the current level | target level – goes there at once, priority over waiting calls |
ElevatorLevel | level the platform stands at, or the nearest one | same as Setting |
ElevatorSpeed | travel speed in m/s | 0.1 to 1.5 m/s (HoechstGeschwindigkeitMs), kept in the save |
Activate | 1 = travelling or closing the barriers | 0 = stop at the next stop before the target (never beyond it); if the platform is still at the level, the trip is cancelled. 1 = continue to the target last set with Setting/ElevatorLevel, e.g. after Activate = 0 or E-STOP. Without a remembered target, 1 does nothing. |
Open | 1 = barrier at the stop is open | 1/0 = open/close the barrier, only while standing at a stop |
Mode | 0 AUTO, 1 MANUAL | same; MANUAL does not open the barrier on arrival |
Lock | 1 = locked | 1 = console, all call boxes and the main switch locked, displays show LOCKED (IC10). E-STOP always stays usable, IC10 and the command console keep working. Stored in the save. |
On | main switch | off and on again resets E-STOP and faults |
Ratio | height 0 to 1 (0 bottom, 1 top level) | – |
Maximum | number of levels (drive + segments) | – |
Mass | load in kg (physics mass) | – |
Quantity | things on the platform, players included | – |
Idle | 1 = ready, no target, no waiting calls | – |
Error | 1 = fault (not when merely switched off) | – |
Power | 1 = power available | – |
RequiredPower | current power demand in W | – |
IC10 can send the lift to any level, also one without a barrier – nothing opens there. Values outside the range are limited to 0 up to the top level; the top level is Maximum − 1.
get
With get you read further values from the drive's memory. Writing with put is not possible.
| Address | Content |
|---|---|
| 0 | fault code: 0 none, 1 no power, 2 E-STOP, 3 obstacle above, 4 obstacle below, 5 load overhangs, 6 barrier blocked, 7 overload, 8 off |
| 1 | state: 0 ready, 1 barrier closing, 2 moving, 3 barrier opening, 4 stopped |
| 2 | height of the platform above the drive in m |
| 3 | target level, −1 = none |
| 4 | speed in m/s, upwards positive |
| 5 | load in kg |
| 6 | things on the platform |
| 7 | power demand in W |
| 8 | number of levels |
| 9 | stops as a bit mask (bit 0 = level 0) |
| 10 | sides with a barrier as a bit mask: 1 front, 4 back |
| 11 | waiting calls |
| 12 | E-STOP pressed (1) |
| 13 | remembered IC10 target for Activate = 1, −1 = none (since 1.0.1) |
Example: empty platform returns to its home level
The drive (2x2 with barrier) is named "Lastenaufzug", a small LED display "Aufzugetage", a flashing light "Aufzugstoerung". If the platform stands empty and ready at another level for 60 seconds, the chip sends it down. The display shows the level, the flashing light signals faults. The comments are in German, as usual in these examples.
# Frachtaufzug: leere Plattform nach Wartezeit zur Heimetage holen
# Geräte: Frachtaufzug-Antrieb 2x2 mit Schranke "Lastenaufzug",
# LED-Anzeige klein "Aufzugetage", Blinklicht "Aufzugstoerung"
define ANTRIEB 1785258439 # Frachtaufzug-Antrieb 2x2 mit Schranke
define ANZEIGE -815193061 # LED-Anzeige klein
define LICHT -1535893860 # Blinklicht
define HEIM 0 # Heimetage (0 = Antrieb unten)
define WARTEN 60 # Sekunden leer und bereit bis zur Heimfahrt
define TAKT 0.5 # Sekunden je Durchlauf (ein yield = ein Tick)
alias etage r0
alias bereit r1
alias dinge r2
alias fehler r3
alias zeit r4
alias ok r5
alias tmp r6
start:
yield
# --- 1. Antrieb lesen ---
lbn etage ANTRIEB HASH("Lastenaufzug") ElevatorLevel 0
bnan etage start
lbn bereit ANTRIEB HASH("Lastenaufzug") Idle 0
lbn dinge ANTRIEB HASH("Lastenaufzug") Quantity 0
lbn fehler ANTRIEB HASH("Lastenaufzug") Error 0
# --- 2. Etage anzeigen, Störung melden ---
sbn ANZEIGE HASH("Aufzugetage") Setting etage
sbn LICHT HASH("Aufzugstoerung") On fehler
# --- 3. Leer, bereit und nicht daheim? Dann Zeit zählen ---
seqz ok dinge
and ok ok bereit
sne tmp etage HEIM
and ok ok tmp
bnez ok zaehlen
move zeit 0
j start
zaehlen:
add zeit zeit TAKT
blt zeit WARTEN start
# --- 4. Heimfahrt auslösen ---
sbn ANTRIEB HASH("Lastenaufzug") Setting HEIM
move zeit 0
j start
define values to adjust: HEIM (home level) and WARTEN (seconds). For another size or variant just swap ANTRIEB. While someone or something is on the platform, the time does not count. If the chip cannot find the drive, it reads NaN and waits.
Example: fault code and height with get
Same drive, two small LED displays "Aufzugfehler" and "Aufzughoehe". The chip fetches the drive's ReferenceId and uses get to read the fault code (address 0) and the platform height (address 2). The code shows red as soon as one is present – 8 (off) included –, otherwise green.
# Frachtaufzug: Fehlercode und Plattformhöhe über get anzeigen
# Geräte: Frachtaufzug-Antrieb 2x2 mit Schranke "Lastenaufzug",
# LED-Anzeigen klein "Aufzugfehler" und "Aufzughoehe"
define ANTRIEB 1785258439 # Frachtaufzug-Antrieb 2x2 mit Schranke
define ANZEIGE -815193061 # LED-Anzeige klein
define ADRFEHLER 0 # get-Adresse 0: Fehlercode (0 = keiner)
define ADRHOEHE 2 # get-Adresse 2: Höhe der Plattform in m
define GRUEN 2 # Farbe Color.Green
define ROT 4 # Farbe Color.Red
alias id r0
alias code r1
alias hoehe r2
alias farbe r3
start:
yield
# --- 1. Antrieb finden (ReferenceId) ---
lbn id ANTRIEB HASH("Lastenaufzug") ReferenceId 0
bnan id start
# --- 2. Speicher des Antriebs lesen ---
get code id ADRFEHLER
get hoehe id ADRHOEHE
# --- 3. Code rot bei Störung, sonst grün; Höhe anzeigen ---
select farbe code ROT GRUEN
sbn ANZEIGE HASH("Aufzugfehler") Setting code
sbn ANZEIGE HASH("Aufzugfehler") Color farbe
sbn ANZEIGE HASH("Aufzughoehe") Setting hoehe
j start
Prefab hashes
| Variant | 2x2 | 3x3 | 4x4 |
|---|---|---|---|
| Drive without barrier | 1310690206 | 1836572734 | -2056326562 |
| Drive with barrier | 1785258439 | 1987110786 | 574157913 |
| Drive with 2 barriers | -357546584 | -333780815 | -45110274 |
| Shaft without barrier | -1450059361 | -1963347393 | 1658888287 |
| Shaft with barrier | -383313178 | -180413277 | -1586032776 |
| Shaft with 2 barriers | -1504044531 | -1594837228 | -1314524069 |
| Kit drive | -1734602913 | -1141611265 | 1408071327 |
| Kit shaft | 2131909982 | 1551513342 | -1268570978 |
The prefab names follow the pattern StructureFrachtaufzug2x2Antrieb, …AntriebTor (one barrier), …AntriebTore (two barriers), likewise …Schacht, …SchachtTor, …SchachtTore; the kits are ItemKitFrachtaufzug2x2Antrieb and ItemKitFrachtaufzug2x2Schacht.
Console commands
Open the console with F3. The commands act on the nearest lift, status shows all of them. go, reset and measure only work on the host or server or in single player.
| Command | Effect |
|---|---|
cargolift status | all lifts, nearest first: state, distance, levels with stop height (* = stop) |
cargolift info | sizes, usable platform, power, load limit, speeds, local gravity |
cargolift help | short guide |
cargolift load | what stands on the nearest platform: count, mass, highest point, what sticks out |
cargolift go 2 | send the nearest lift to a level (0 = bottom) |
cargolift reset | release the E-STOP of the nearest lift |
cargolift measure | detect the shaft and floor heights again |
cargolift on its own shows the status. Since 1.0.1 every command exists in English; the German names (frachtaufzug, hilfe, ladung, fahre, nothalt, vermessen) work too, in any game language. The output follows the game language.
Configuration
File: BepInEx\config\dominik1199.frachtaufzug.cfg, or via the mod settings in LaunchPad. Changes take effect at once.
| Key | Default | Meaning |
|---|---|---|
GeschwindigkeitMs | 0.75 | travel speed of newly built lifts in m/s, 0.2 to 3; per lift via ElevatorSpeed |
HoechstGeschwindigkeitMs | 1.5 | upper limit for ElevatorSpeed in m/s, 0.3 to 3 |
BeschleunigungMs2 | 0.5 | smooth start and stop in m/s², 0.1 to 3 |
NotHaltMs2 | 2.5 | braking on E-STOP, obstacle or power loss in m/s², 0.5 to 10 |
SchrankenzeitS | 2.5 | time to open or close the barriers in s, 0.5 to 10 |
MaxSegmente | 32 | this many shaft segments above the drive belong to the lift, 1 to 128 |
BereitschaftW2x2 / 3x3 / 4x4 | 40 / 60 / 80 | standby power in W, 0 to 2000 |
FahrleistungW2x2 / 3x3 / 4x4 | 1500 / 2500 / 4000 | power while travelling with an empty platform in W, the lifting power is added |
HoechstleistungW2x2 / 3x3 / 4x4 | 4500 / 9000 / 18000 | the drive never draws more; with a heavy load it travels slower |
Wirkungsgrad | 0.8 | efficiency for the lifting power, 0.1 to 1 |
TraglastKg2x2 / 3x3 / 4x4 | 2000 / 5000 / 10000 | maximum load mass in kg of physics mass, 0 = unlimited |
SichtweiteM | 30 | displays and LEDs are updated up to this distance, 10 to 200 m |
Painting
All parts can be painted with the spray can. Frame and housings take the colour, on the drive also the platform frame, railing and console housing. Displays, LEDs, warning stripes and labels keep their colour. Each segment is painted on its own. The colour is stored in the save and synced to all players.
Multiplayer
New parts: the server and all players need the mod, and it also runs on dedicated servers. The server calculates travel and safety. Players receive state and movement and move the platform on their own machine, so riders stand still. Displays, LEDs, barriers and sounds run on every machine. Height, target, remembered IC10 target, waiting calls, mode, speed, E-STOP, lock (Lock) and barrier are stored in the save – if it was saved between two levels, a pending trip continues after loading. See Multiplayer.
Known limitations
- Segments can only be placed facing the same way as the drive or turned by 180°, so barriers are always at the front and/or back.
- At most 32 segments above the drive, configurable up to 128.
- A floor is only levelled out up to 20 cm above the grid plane.
- The load limit uses the game's physics mass, not real tonnes. With the default values it is rarely reached.
- At most 8 calls wait, further ones are dropped.
- Console and call box only go to stops. Levels without a barrier can only be reached via IC10 or the command console.
- The drive's memory is read-only (
get),putdoes not work. - Lifts further away (setting
SichtweiteM) keep their display and LEDs until you come closer.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Buttons report "Drive is OFF" | main switch off | switch on the main switch on the control cabinet |
| NO POWER | no cable or network too weak | cable from the right at floor level to the control cabinet, check the network |
| E-STOP, all buttons locked | E-STOP pressed | press it again on the console, switch the main switch off and on, or cargolift reset |
| "Locked - IC10 control only", displays show LOCKED (IC10) | Lock set via IC10, the main switch is locked too – E-STOP still works | set Lock to 0 |
| BARRIER BLOCKED | something stands in the barrier, at the landing or at the platform edge | clear it – it tries again every 2 seconds |
| LOAD OVERHANGS | load reaches beyond the railing | move it further to the middle; cargolift load and the tooltip show what sticks out |
| OVERLOAD | load above the limit | load less or raise TraglastKg… (0 = unlimited) |
| OBSTACLE ABOVE | wall, floor or device in the shaft, or load too tall for the ceiling | build walls from the outside, remove the obstacle; the cause is in the tooltip |
| OBSTACLE BELOW | someone or something under the platform | clear the shaft below the platform |
| Segment cannot be placed | turned by 90°, no drive below or more than MaxSegmente | rotate with C + mouse wheel, place on a drive or segment of the same size |
| Drive cannot be placed | there is already a shaft below | the drive goes at the very bottom |
| Segment cannot be deconstructed | segment above, platform inside or lift moving | deconstruct from the top down, send the platform down first |
| DOWN says "already at the bottom stop" | level 0 is not a stop because the drive has no barrier | build a drive with a barrier or reach level 0 via IC10/console |
| Platform does not stop flush | floor more than 20 cm above the grid plane or just rebuilt | adjust the floor, cargolift measure |
| Ceiling or frame ends up in the wrong place | the build cursor hits the platform or the load | aim at the top edge of the shaft |
| Travels slower than set | maximum power reached (tooltip "power: …") | less load or raise HoechstleistungW… |