Production is the engine of everything: you mine ore from your planet, refine it into Alpha Matter, and Alpha Matter funds power, structs, trade, and guild collateral. The whole game’s PvP tension lives in one fact — ore is stealable, Alpha Matter is not — and mining/refining are multi-hour proof-of-work expeditions, so production is fundamentally a scheduling and risk problem, not a clicking problem.
Conventions (TX_FLAGS, the -- rule, the -D 3 PoW policy, the per-player charge bar, one-tx-at-a-time) are assumed from conventions.md. Read it once.
currentOre > 0.storedOre (a liability — refine it).Beginner default: One Ore Extractor + one Ore Refinery (both 1-per-player). Mine, and the instant mining lands, start refining — never let ore sit. Refine at -D 3. Keep your Command Ship online the whole time so the planet is unraidable (see structs-combat). That alone wins the early resource game.
The core trade-off — ore exposure vs. CPU: mined ore is vulnerable for the entire refine window. At -D 3 that’s ~34 hours but zero wasted CPU; at -D 8 it’s ~15 hours but burns real compute. Default to -D 3 and protect the window rather than racing it.
Advanced considerations:
structs-permissions).storedOre and raise the planetary shield. Stacking them hardens the refine window without touching your CPU budget.playbooks/situations/resource-rich and resource-scarce.Ore Extractor ──mine (~17h)──▶ storedOre (STEALABLE) ──refine (~34h)──▶ Alpha Matter (SECURE) ──▶ power / build / trade / stake
Both stages are expeditions: the compute helper hashes for hours then auto-submits its completion transaction (this is why -y is required on compute commands — there’s no shell to confirm when the proof lands). Log every job to memory/jobs/ and never block on PoW.
structsd query structs planet [planet-id]. If currentOre == 0, the planet is spent → go to Depletion below. Otherwise continue.structsd query structs struct [extractor-id] (status Online). Activate if needed (struct-activate, 2 charge).Launch the mine (background expedition, ~17h to D=3, difficulty 14,000).
Approval Block — confirm before launch: extractor id is correct; planet currentOre > 0; --from is the owner key; you accept an auto-submitted completion ~17h out even if state shifts.
nohup structsd tx structs struct-ore-mine-compute -D 3 --from [key] --gas auto --gas-adjustment 1.5 -y -- [extractor-id] \
> memory/jobs/mine-[extractor-id].log 2>&1 & echo $! > memory/jobs/mine-[extractor-id].pid
The instant mining lands, refine (~34h to D=3, difficulty 28,000). Ore is now stealable; this is the priority.
Approval Block — same five checks, applied to the ~34h refine window.
nohup structsd tx structs struct-ore-refine-compute -D 3 --from [key] --gas auto --gas-adjustment 1.5 -y -- [refinery-id] \
> memory/jobs/refine-[refinery-id].log 2>&1 & echo $! > memory/jobs/refine-[refinery-id].pid
structs-combat.structs-energy), stake/sell (structs-commerce), or hold reserve.Activating the extractor/refinery costs 2 charge each from your shared per-player bar. If you activate several structs back-to-back, space them by ~2 blocks. The compute (mine/refine) itself isn’t charge-gated; the activation that precedes it is.
When currentOre hits 0 the planet becomes complete: all its structs are destroyed and fleets are sent away. Before the last ore is mined, decide:
Then hand off to structs-planets-fleet to chart and claim a new planet. If an extractor/refinery is destroyed mid-job, progress pauses (mined/refined amounts aren’t lost) until you rebuild.
| Action | CLI Command |
|---|---|
| Mine (PoW + auto-complete) | structsd tx structs struct-ore-mine-compute -D 3 TX_FLAGS_APPROVED -- [extractor-id] |
| Refine (PoW + auto-complete) | structsd tx structs struct-ore-refine-compute -D 3 TX_FLAGS_APPROVED -- [refinery-id] |
| Mine/refine complete (manual, rare) | structsd tx structs struct-ore-mine-complete -- [id] / ...refine-complete -- [id] |
| Query planet ore | structsd query structs planet [planet-id] |
| Query struct | structsd query structs struct [id] |
| Query player (Alpha + storedOre) | structsd query structs player [player-id] |
TX_FLAGS / TX_FLAGS_APPROVED and the -D policy are defined in conventions.md. Mine/refine compute are the documented -y exception (they auto-submit) — your Approval Block is the gate.
Requires: structsd on PATH and a configured signing key.
currentOre decreases after a mine lands.storedOre rises after mine, returns to 0 after refine.ualpha, 1g = 1,000,000) rises after refine.storedOre; check currentOre / storedOre.awareness/async-operations.