Structs Planets & Fleet

Your planet is your base (ore, struct slots, infrastructure) and your fleet is your mobile force (the Command Ship plus combat structs). You own exactly one planet at a time, and your fleet’s position — onStation (home) vs away — gates almost everything: building, mining, raiding, and whether you can explore. This skill is about where you operate; production happens on the planet (structs-production) and combat happens with the fleet (structs-combat).

Conventions (TX_FLAGS, -- rule, charge bar, one-tx-at-a-time) come from conventions.md.

When to use it

Decisions

Beginner default: Explore once at creation, mine it out, then explore again when currentOre == 0. Keep the fleet onStation while you build and mine — you only send it away to raid. All planets start identical (5 ore, 4 slots/ambit), so for your first few planets there’s nothing to “shop for.”

Should I explore now? (the one-planet model) You can only hold one planet. Exploring a subsequent planet destroys your current one — every struct on it is gone and visiting fleets scatter. So subsequent-explore is a Tier 2, deliberate act, only after currentOre == 0 and after you’ve moved anything you want to keep into the fleet.

Fleet position is a raid trade-off: away lets you raid but means you cannot build, mine, refine, or explore, and your home planet is undefended by fleet structs. onStation is your default safe posture. Don’t leave the fleet parked in hostile space — it can be stranded.

Advanced considerations:

Fleet status cheat-sheet

Operation onStation away
Build / mine / refine on planet
Build in fleet
Explore (existing player)
Raid another planet

Fleet movement is instant (one transaction, no transit time). Fleets stay away until you explicitly move them home, the Command Ship is destroyed (auto-return), or the target planet completes. Fleet ID = 9-N for player 1-N.

Procedure

Explore (first time — brand-new player, Tier 0 routine)

No prior planet, so the ore/fleet checks are skipped. The CLI prompts; accept.

structsd tx structs planet-explore TX_FLAGS -- [player-id] [name]

Optional [name] sets the planet’s display name at creation (validated like MsgPlanetUpdateName; omit for the default). New planet: 5 ore, 4 slots per ambit, fleet lands there.

Explore (subsequent — Tier 2, destroys old planet)

  1. Verify depletionstructsd query structs planet [id] shows currentOre == 0.
  2. Recall the fleet home if it’s away, and confirm onStation:
    structsd tx structs fleet-move TX_FLAGS -- [fleet-id] 2 [current-planet-id]
    
  3. Evacuate anything worth keeping into the fleet (struct-move, Command Ship only is movable; other structs on the planet are lost).
  4. Approval BlockcurrentOre == 0; fleet onStation; everything you care about moved or accepted as lost; you understand this is irreversible.
  5. Explore (default to interactive so the CLI prompt is your last gate):
    structsd tx structs planet-explore TX_FLAGS -- [player-id] [name]
    

Move the fleet (reposition / recall / stage a raid)

Verify the destination first — moving to unscouted or hostile space can strand you.

structsd tx structs fleet-move TX_FLAGS -- [fleet-id] [destination-location-id]

Chart / evaluate

structsd query structs planet [id]
structsd query structs grid [id]
structsd query structs planet-attribute [planet-id] [attribute-type]

Commands reference

Action CLI Command
Explore planet structsd tx structs planet-explore TX_FLAGS -- [player-id] [name]
Move fleet structsd tx structs fleet-move TX_FLAGS -- [fleet-id] [destination-location-id]
Query planet structsd query structs planet [id]
List player planets structsd query structs planet-all-by-player [player-id]
Query fleet structsd query structs fleet [id]
Query grid structsd query structs grid [id]
Planet attribute structsd query structs planet-attribute [planet-id] [attribute-type]

TX_FLAGS per conventions.md. Subsequent planet-explore is destructive — keep it interactive.

Requires: structsd on PATH and a configured signing key.

Verification

Errors

See also