Symptom: Transaction broadcasts but struct not created
Cause: Command Ship not built or not online
Diagnosis:
Query fleet for Command Ship struct
Check Command Ship status
If status != ‘online’, Command Ship not ready
Solution:
Build Command Ship in fleet (if not built)
Complete Command Ship build (proof-of-work)
Activate Command Ship
Verify Command Ship status = ‘online’
Retry building
Reference: dependencies/command-ship.md
Building fails - Fleet not onStation
Symptom: Transaction broadcasts but struct not created
Cause: Fleet is away (not onStation)
Diagnosis:
Query fleet status
Check if fleet.status == ‘onStation’
If not, fleet is away
Solution:
Move fleet back to planet
Verify fleet.status == ‘onStation’
Retry building
Reference: dependencies/building.md
Building fails - Insufficient power
Symptom: Transaction broadcasts but struct not created
Cause: Insufficient power capacity
Diagnosis:
Query player power capacity
Calculate available power: (capacity + capacitySecondary) - (load + structsLoad)
Check struct power requirements: buildPower + passivePower
If available < required, insufficient power
Solution:
Increase power capacity (build power structs)
Reduce current load (deactivate structs)
Verify available power >= required
Retry building
Reference: dependencies/building.md
Building fails - No available slots
Symptom: Transaction broadcasts but struct not created
Cause: No available slots on planet for struct type
Diagnosis:
Query planet slot counts
Query existing structs on planet
Calculate available slots: planetSlots[slotType] - existingStructsInAmbit
If available <= 0, no slots
Solution:
Choose different planet
Remove existing struct (if possible)
Verify available slots > 0
Retry building
Reference: dependencies/building.md
Building fails: cannot handle new load requirements
Symptom: Build initiate rejects with cannot handle new load requirements (required: X, available: Y) (error key capacity_exceeded)
Cause: One error string covers two different build-initiate checks. The magnitude of the numbers tells you which one fired.
Diagnosis:
If required and available are tiny integers (often equal, e.g. 1/1), you hit the per-player build limit — you already own the maximum of that struct type (required = the type’s limit, available = how many you already have).
If the values are large (hundreds of thousands to millions), you hit the power-capacity check in milliwatts — required = the struct’s BuildDraw, available = remaining capacity (capacity + capacitySecondary) - (load + structsLoad).
Solution:
Build limit: most planet structs and the Command Ship cap at 1 per player. Only Orbital Shield Generator, Ore Bunker, and fleet combat structs stack. Build it on another player, or accept the cap.
Power capacity: add generation, deactivate structs, or connect a substation to raise capacity, then retry.