structsd query structs [subcommand] [args]:
address [your-address] — resolves your address to a player ID. A result of 1-0 means no player exists for that address.player [id], player-allplanet [id], planet-all, planet-all-by-player [player-id], planet-attribute [planet-id] [type], planet-attribute-allstruct [id], struct-all, struct-attribute [id] [type], struct-type [id], struct-type-allfleet [id], fleet-all, fleet-by-index [index]guild [id], guild-all, guild-membership-application [id], guild-membership-application-allreactor [id], reactor-all, infusion [id], infusion-all, infusion-all-by-destination [dest-id], provider [id], provider-all, agreement [id], agreement-all, agreement-all-by-provider [provider-id]allocation [id], allocation-all, allocation-all-by-source [source-id], allocation-all-by-destination [dest-id], substation [id], substation-allgrid [id], grid-allblock-height| Entity | Query Command |
|---|---|
| Address → Player | structsd query structs address [address] (returns player ID; 1-0 = nonexistent) |
| Player | structsd query structs player [id], player-all |
| Planet | structsd query structs planet [id], planet-all, planet-all-by-player [player-id] |
| Planet attribute | structsd query structs planet-attribute [planet-id] [type], planet-attribute-all |
| Struct | structsd query structs struct [id], struct-all, struct-attribute [id] [type] |
| Struct type | structsd query structs struct-type [id], struct-type-all |
| Fleet | structsd query structs fleet [id], fleet-all, fleet-by-index [index] |
| Guild | structsd query structs guild [id], guild-all |
| Membership app | structsd query structs guild-membership-application [id], guild-membership-application-all |
| Reactor | structsd query structs reactor [id], reactor-all |
| Infusion | structsd query structs infusion [id], infusion-all, infusion-all-by-destination [dest-id] |
| Provider | structsd query structs provider [id], provider-all |
| Agreement | structsd query structs agreement [id], agreement-all, agreement-all-by-provider [provider-id] |
| Allocation | structsd query structs allocation [id], allocation-all, allocation-all-by-source, allocation-all-by-destination |
| Substation | structsd query structs substation [id], substation-all |
| Grid | structsd query structs grid [id], grid-all |
| Block height | structsd query structs block-height |
-all variants to discover current IDs.block-height; re-run queries if chain has progressed.memory/intel/players/, memory/intel/guilds/ if absent. Follow formats in memory/intel/README.If the Guild Stack is running locally, all reconnaissance queries can be done in < 1 second via PostgreSQL instead of CLI. This is essential for combat automation, real-time threat monitoring, and galaxy-wide scouting.
Example – find all players with stealable ore, ranked by amount:
SELECT p.id, p.guild_id, COALESCE(g_ore.val, 0) as ore
FROM structs.player p
JOIN structs.grid g_ore ON g_ore.object_id = p.id AND g_ore.attribute_type = 'ore'
WHERE g_ore.val > 0
ORDER BY g_ore.val DESC;
Example – enemy fleet composition at a planet:
SELECT s.id, st.class_abbreviation, s.operating_ambit, st.unit_defenses
FROM structs.struct s
JOIN structs.struct_type st ON st.id = s.type
JOIN structs.fleet f ON f.id = s.location_id
WHERE f.location_id = '2-105' AND s.is_destroyed = false AND s.location_type = 'fleet';
Important: The structs.grid table is key-value, not columnar. See knowledge/infrastructure/database-schema for the grid pattern and more query examples.
For setup: structs-guild-stack skill