Topic: Running multiple players (accounts) as one coordinated force Principle: Most per-player limits are not limits across players. Two accounts are not twice the work — they are twice the charge, twice the build slots, and a power-and-fire multiplier you cannot buy with a single account.
Many of the game’s hardest ceilings are per-player, and the chain rewards splitting work across accounts:
The cost is coordination and key hygiene. This playbook is how to get the multiplier without losing control (or your keys).
Each player needs its own signing key. Derive them deterministically so you can recover the whole team from one seed:
structsd keys add worker-2 --recover / account-index paths) so every account traces back to a single mnemonic you back up once.core, power, striker-1, striker-2). Future-you reads logs faster.Bring each account onto the chain via the guild proxy flow (MsgGuildMembershipJoinProxy): sign GUILD{id}ADDRESS{addr}NONCE0, POST to the guild, poll /structs/address/{addr} for the player id. The flow is idempotent — re-running for an address that already joined returns resource_already_exists, which you treat as success (adopt the existing player), not a failure. So a team-onboarding loop can be safely retried. See structs-onboarding and integration-notes — Proxy signup.
You do not need to expose every key’s full authority to coordinate them. Grant a low-trust worker key only the bits it needs:
hash_* bit to grind proofs on another player’s objects — not transfer or play rights.This lets one orchestrator drive many players while keeping each grant minimal. See structs-permissions for the full delegation recipes.
A team does not need every account to generate its own power. Concentrate generation and distribute capacity:
Watch the shared dependency: if the power player goes offline (load > capacity), every fed player can drop with it. Budget headroom and monitor the generator account first. See structs-energy for substations, allocations, and capacity budgeting.
The decisive team tactic: concentrate many accounts’ attacks on one target in the same window. Because each player has its own charge bar, N strikers land N attacks per cycle on a single struct — collapsing an enemy Command Ship or generator far faster than any solo account, which is rate-limited to one attack per charge cycle.
shieldsVulnerable, or a generator to force them offline).Spread defenders across accounts and ambits. Any built, online struct can defend a teammate’s struct if co-located; cross-ambit defenders still counter even when they can’t block. A team can blanket a key struct (a shared Command Ship, a refinery during its ore window) with counter coverage from every ambit at once. See combat.md — Assigning Defenders.
When raiding, remember the raid is per-fleet and the attackerDefeated rule punishes a lost Command Ship while away. In a team raid, the striker fleets soften the defense and the raiding account completes the proof — but each raiding Command Ship must stay protected, or that fleet is defeated and sent home empty. Never send all Command Ships away at once: a fleet that leaves station strips its own planet’s shields until it returns.
account sequence mismatch). Stagger per key, parallel across keys.memory/jobs/ with the key name in the filename, so a background mine on striker-2 is never confused with one on core.