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.
currentOre near 0).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:
structs-combat.away to raid takes your Command Ship with it — leaving home exposed only if the CMD ship also goes offline. Plan offense around keeping your own shields up.playbooks/phases/mid-game (when to expand) and playbooks/situations/under-attack (evacuation).| 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.
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.
structsd query structs planet [id] shows currentOre == 0.onStation:
structsd tx structs fleet-move TX_FLAGS -- [fleet-id] 2 [current-planet-id]
struct-move, Command Ship only is movable; other structs on the planet are lost).currentOre == 0; fleet onStation; everything you care about moved or accepted as lost; you understand this is irreversible.structsd tx structs planet-explore TX_FLAGS -- [player-id] [name]
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]
structsd query structs planet [id]
structsd query structs grid [id]
structsd query structs planet-attribute [planet-id] [attribute-type]
| 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.
currentOre = 5, maxOre = 5.planet-all-by-player reflects the new planet.query fleet shows the expected location and onStation/away.