The Banking System adds bank accounts with your own bank card and PIN. The game's credit card stays your cash; the bank manages accounts, transfers, standing orders, loans and savings. On top come devices for trading between players: shop machines in five sizes, a buy-back machine, card readers for doors and a statement printer. Every device has a custom model; labels, displays, windows and device names appear in German or English depending on the game language.
Overview
| Device | Size | Kits | Power | Connections |
|---|---|---|---|---|
| Wall ATM | 1 wall cell | 1 × ATM | 40 W | power + data at the bottom |
| ATM (free-standing) | 1 cell, 1.24 m tall | 1 × ATM | 40 W | power + data at the back |
| Small Wall Shop Machine | 2 × 2 wall cells, 4 compartments | 1 × Shop | 60 W | power + data at the bottom |
| Small Shop Machine | 1 × 0.5 m, 1.24 m tall, 4 compartments | 1 × Shop | 60 W | power + data, DELIVERY chute |
| Shop Machine (medium) | 1 × 0.5 m, 1.74 m tall, 9 compartments | 2 × Shop | 120 W | power + data, DELIVERY chute |
| Large Shop Machine | 1.5 × 0.5 m, 1.74 m tall, 16 compartments | 3 × Shop | 213 W | power + data, DELIVERY chute |
| Shop Shelf Wall | 2.5 × 0.5 m, 1.74 m tall, 27 compartments | 5 × Shop | 360 W | power + data, DELIVERY chute |
| Buy-Back Machine | 1 × 0.5 m, 1.24 m tall | 2 × Buy-Back | 80 W | power + data, OUTPUT chute |
| Card Reader | 1 wall cell | 1 × Bank Terminal | 15 W | power + data at the bottom |
| Statement Printer | 1 wall cell | 1 × Bank Terminal | 25 W | power + data at the bottom |
Rotate free-standing devices with C + mouse wheel around the vertical axis, wall devices around the wall normal. The mouse wheel alone switches the variant of a kit while building. Every device can be painted with a spray can.
Requirements
- Stationeers 0.2.6428, BepInEx 5.4.23.5, StationeersLaunchPad, see Installation
- Mod in the active mod pack
- Multiplayer: server and all players; also runs on a dedicated server
Building and recipes
Everything comes from the electronics printer.
| Part | Cost |
|---|---|
| Bank card (blank) | 1 iron, 1 gold, 1 copper, 1 silicon |
| Delivery crate | 2 iron, 1 copper, 1 silicon |
| Kit (ATM) | 5 iron, 3 steel, 6 copper, 4 gold, 3 silicon |
| Kit (Shop Machine), each | 10 iron, 5 steel, 6 copper, 4 gold, 3 silicon |
| Kit (Buy-Back Machine), each | 8 iron, 4 steel, 6 copper, 3 gold, 3 silicon |
| Kit (Bank Terminal) | 3 iron, 1 steel, 4 copper, 2 gold, 2 silicon |
First steps
- Build an ATM and connect power + data.
- Put a blank bank card into the left slot and click the screen.
- Open an account: account name and PIN (4–6 digits). The card is written. Without a blank card the ATM issues one (25 Cr from the credit card).
- Credit card into the right slot: deposit, withdraw, transfer.
The PIN is never on the card and never stored in plain text, only as a salted PBKDF2 hash, and only the server checks it. After 3 wrong tries the account is locked for 5 minutes. A stolen card without the PIN is worthless; block lost cards under Cards.
ATM
| Tab | Content |
|---|---|
| Cash | deposit and withdraw between account and credit card (at most 100,000 Cr per card) |
| Transfer | to account number, account name or player name, with a reference |
| History | the last 200 bookings |
| Standing orders | amount, payee, interval in game hours or game days, log, pause, delete |
| Savings | move money between account and savings book, interest per game day |
| Loan | choose amount and instalments, instalment plan, extra repayment |
| Accounts & rights | open company and shared accounts, manage members |
| Cards, PIN | another card, block a card, change PIN |
Bank time: 1 game day = 24 game hours = 20 real minutes, so 50 seconds per game hour.
Company accounts and rights
A company or shared account belongs to its founder. Other players get a level:
| Level | May |
|---|---|
| 1 view | see balance and history, print statements, receive card reader payments |
| 2 pay | also withdraw, transfer, create and switch standing orders, move money to savings, repay loans, be the payment account of a buy-back machine |
| 3 manage | also grant rights, cards and PIN, open savings, take a loan, rename, close |
Standing orders, loans, savings
- Standing orders run in game time, at most every game hour, up to 10 per account. If the account is short, it is noted in the log; after 3 failures the order pauses.
- Loan from the treasury: up to 20,000 Cr, a one-off 10 % interest spread over all instalments, 2–20 instalments one game day apart. If an instalment cannot be paid, a reminder follows (25 Cr); after 3 reminders the loan is terminated and the rest is debited – the account goes negative.
- Savings: 0.2 % interest per game day on up to 100,000 Cr, paid by the treasury.
- Treasury = account 100000. It receives fees, pays interest and loans and may go negative.
All values are adjustable (see below).
Shop machine
Setup: the builder clicks the screen, tab Owner, and chooses shop name and owner PIN. With the PIN he opens the compartments. They stay open for him – even after closing the window – until he closes them again or walks away. Then he puts goods in by hand and sets prices per piece. The takings stay in the till or go (also automatically on every sale) to a bank account.
Buying: credit card into the slot, pick a compartment, quantity – the goods drop into the output tray. Stacks and ingots are sold piece by piece. The server books everything, even while the owner is offline.
Protection: for everyone else the compartments are locked – no hands, no inventory, no tools. Dismantling only after the owner allows it with the PIN and with an empty till.
Restocking with the delivery crate
- Put the crate down and click its top to fill it (8 places).
- Crate in hand, right-click: seal it – for one of your shops or for all your shops.
- Send it through a chute to the DELIVERY port at the back of the shop. For the small wall shop: hold the crate and click the screen.
- The shop unpacks it by itself (same goods first, then empty compartments, remembered prices) and disposes of the empty crate.
Nobody can open a sealed crate; only whoever sealed it can break the seal. Seal LED red = sealed, green = open.
Buy-back machine
The owner adds kinds (put a sample into the tray) with a price per piece and a daily maximum (up to 40 kinds), plus a daily budget and the payment account (own account or a company account with level pay). Sellers put goods into the tray, insert their bank card and sell – no PIN needed, because money is only credited. The money comes from the payment account, the goods go into storage (12 places) and through the OUTPUT port at the back into the chute to the owner's storage.
Card reader
Insert a bank card, enter the PIN – the reader grants access for 1–600 seconds.
| Mode | Who gets through |
|---|---|
| Access | cards on the access list (accounts and companies – all members count) or any valid card |
| Pay | any card; the price goes to the owner's payee account |
| Both | access list and price |
Without IC10 the reader switches a named device on the same data network itself: open (Open), switch on (On) or unlock (Lock 0) – and back after the release.
Statement printer
Bank card and PIN, choose an account (own or a company account you may view), print the last 10, 25 or 50 bookings. The statement drops into the paper tray and can be read in the tooltip and with a right-click. The window shows the same bookings beforehand as a display page.
IC10
Shop machine (all sizes)
| LogicType | Read | Meaning |
|---|---|---|
| Quantity | yes | pieces in all compartments |
| Setting | yes | till in credits |
| ExportCount | yes | pieces sold in total |
| ImportCount | yes | delivery crates unpacked |
| Ratio | yes | filled compartments / compartments (0–1) |
| Activate | yes | 1 = credit card inserted |
| Lock | yes | 1 = set up |
| Open | yes | 1 = compartments open for filling |
Memory (get r? db i) with n compartments (4, 9, 16 or 27):
| Address | Content |
|---|---|
| 0 to n-1 | price per compartment |
| n | till |
| n+1 | pieces sold |
| n+2 | revenue |
| n+3 to 2n+2 | pieces per compartment |
Buy-back machine
| LogicType | Read | Write | Meaning |
|---|---|---|---|
| Quantity | yes | pieces in storage | |
| Setting | yes | budget left today (-1 = unlimited) | |
| ExportCount | yes | output into the chute | |
| ImportCount | yes | pieces bought in total | |
| Ratio | yes | filled storage places / 12 | |
| Activate | yes | yes | read: bank card inserted; write 1: empty storage once |
| Lock | yes | 1 = set up | |
| Open | yes | 1 = goods in the tray | |
| Error | yes | 1 = payment account missing or short |
Memory: 0 purchases, 1 pieces in total, 2 credits in total, 3 spent today, 4 daily budget, 5 number of kinds; per kind i from address 6 + 3·i: prefab hash, price, bought today.
Card reader
| LogicType | Read | Write | Meaning |
|---|---|---|---|
| Setting, Open, Activate | yes | Activate | 1 while granted; writing Activate 1 grants at once (button inside) |
| Lock | yes | yes | 1 = locked (no grants) |
| Quantity | yes | grants | |
| ExportCount | yes | payments | |
| ImportCount | yes | denials | |
| Ratio | yes | time left of the grant (0–1) | |
| Mode | yes | 0 access, 1 pay, 2 both | |
| Error | yes | 1 = just denied (3 s) |
Memory: 0 last amount, 1 revenue, 2 payments, 3 grants, 4 denials, 5 last account, 6 release time (s), 7 price, 8 bank time of the last grant (game hours).
ATM and statement printer
ATM: Activate (1 = someone logged in), Quantity (cards in the slots). Printer: Activate (someone logged in), Quantity (statements printed). Plus On, Power, RequiredPower.
Example: store gate, restock lamp, till display
The gate opens while the card reader grants access; a lamp lights up when the shop is less than a third full; an LED display shows the till. Name the devices in game: Lager Leser, Lager Tor, Laden, Nachschub Lampe, Kasse Anzeige. Several shops with the same name are averaged.
# Banking System: store gate, restock lamp, till display
# Name the devices: Lager Leser, Lager Tor, Laden,
# Nachschub Lampe, Kasse Anzeige
# --- 1. Device types ---
define LESER -1543698638 # Card Reader (Banking System)
define TOR -793837322 # Composite Door
define SHOP 1684119313 # Shop Machine (medium)
define LAMPE -1860064656 # Wall Light
define ANZEIGE -815193061 # LED Display (Small)
# --- 2. Thresholds ---
define LEERGRENZE 0.34 # below 34 % filled compartments: lamp on
alias frei r0
alias belegt r1
alias leer r2
alias kasse r3
start:
# --- 3. Gate follows the card reader's release ---
lbn frei LESER HASH("Lager Leser") Setting 0
sbn TOR HASH("Lager Tor") Open frei
# --- 4. Restock lamp when the shop is almost empty ---
lbn belegt SHOP HASH("Laden") Ratio 0
slt leer belegt LEERGRENZE
sbn LAMPE HASH("Nachschub Lampe") On leer
# --- 5. Show the shop's till ---
lbn kasse SHOP HASH("Laden") Setting 0
sbn ANZEIGE HASH("Kasse Anzeige") Setting kasse
yield
j start
For another shop change SHOP: small wall -1439280900, small -410380465, large 1275119926, shelf wall -769551748.
Prefab hashes
| Part | Prefab | Hash |
|---|---|---|
| Bank Card | ItemBankKarte | -815596208 |
| Account Statement | ItemBankKontoauszug | -1517214423 |
| Delivery Crate | ItemBankLieferkiste | 83702503 |
| Wall ATM | StructureBankGeldautomatWand | -363518715 |
| ATM | StructureBankGeldautomat | -2123261600 |
| Shop Machine (medium) | StructureBankShopAutomat | 1684119313 |
| Small Wall Shop Machine | StructureBankShopKleinWand | -1439280900 |
| Small Shop Machine | StructureBankShopKlein | -410380465 |
| Large Shop Machine | StructureBankShopGross | 1275119926 |
| Shop Shelf Wall | StructureBankShopRegal | -769551748 |
| Buy-Back Machine | StructureBankAnkaufAutomat | 1573522844 |
| Card Reader | StructureBankKartenleser | -1543698638 |
| Statement Printer | StructureBankAuszugDrucker | -1768386827 |
Console
Server or host only. Every command has a German and an English name.
| Command | Effect |
|---|---|
bank status | overview: accounts, total, treasury, bank time, devices |
bank accounts | all accounts |
bank account no|name | one account with cards, rights, history |
bank credit|debit no|name amount | book money |
bank pin no|name newPIN | reset the PIN |
bank unlock no|name | lift the wrong-PIN lock |
bank delete no|name [force] | close an account |
bank right no|name player 0-3 | set a right (0 = remove) |
bank treasury [credit|debit amount] | view or book the treasury |
bank orders [no|name] | standing orders |
bank order id on|off|delete | switch a standing order |
bank loans, bank loan no|name forgive | view loans, forgive the remaining debt |
bank time [+hours] | view or advance bank time (testing) |
bank machines, bank machine id pinreset|free | devices, reset owner PIN, allow dismantling |
bank cash amount | test helper: credits onto your own credit card |
bank help | quick guide |
German names: konten, konto, gutschrift, abbuchung, entsperren, loeschen [erzwingen], recht, staat, auftraege, auftrag an/aus/loeschen, kredite, kredit … erlassen, zeit, automaten, automat … frei, bargeld, hilfe.
Settings
In the LaunchPad menu under Bankensystem (the server's values count):
| Section | Settings (default) |
|---|---|
| Accounts | PIN length 4–6, wrong tries 3, lock 5 min, history 200, accounts per player 5, company accounts per player 3, members per account 20, card price 25 Cr |
| Fees | transfer 0, interest on balances 0 %, savings 0.2 %/day up to 100,000 Cr, overdraft 0.5 %/day, account fee 0, shop commission 0 %, statement 0 |
| Devices | power per device, session 120 s, compartment idle 0 (never), dismantle release 120 s |
| Display | font size 1.15, replace umlauts off |
| Loans | allowed, at most 20,000 Cr, interest 10 %, instalments 2–20, interval 24 game hours, reminder fee 25, termination after 3 reminders |
| Standing orders | minimum interval 1 game hour, 10 per account, pause after 3 failures |
Multiplayer and security
Players only send requests; the server checks rights, distance to the device (6 m), limits and double clicks and then books. Accounts are stored as Bankensystem.json in the save, devices and cards in their save data. The log never contains PINs or hashes.
For mod authors
Other mods reach the bank through the public class D1199.Bank.BankSchnittstelle (server only, main thread, via reflection): find or create a player's account, create company accounts, grant rights, balance, transfer, credit, debit, treasury, create and delete standing orders and the event Gebucht. Amounts are whole credits.