Factions
Star Atlas has three factions — ONI, MUD, and Ustur — and a player belongs to one. Faction is a capability-only entry, imported directly.
import { getFaction, maybeGetFactionStanding } from '@aephia/atlas-kit/factions';What this entry covers
Section titled “What this entry covers”It is broader than “which faction is this player in”:
- identity and configuration — the faction itself
- economics — its economic state
- diplomacy — relations between factions
- standing — a profile’s standing with a faction
- treasuries and asset ownership — what a faction holds
- King-system ownership — which faction controls which system
const faction = await getFaction(ctx, factionId);const relations = await getFactionRelations(ctx);const standing = await maybeGetFactionStanding(ctx, profileAddress, factionId);maybe means it can be absent
Section titled “maybe means it can be absent”maybeGetFactionStanding returns undefined rather than throwing when a
profile has no standing recorded. That is the SDK’s convention throughout:
get* asserts existence, maybe* treats absence as a legitimate answer.
Use maybe* when absence is expected, and get* when it would be a bug.
Gotchas
Section titled “Gotchas”Faction 0 is not a faction. NPC-owned entities decode with faction: 0.
Their identity comes from the owning profile, not that field.
Standing is per profile, not per character. It belongs to the wider Star Atlas identity rather than to the SAGE character.
Relations are between factions, not players. Diplomacy describes the factions’ stances toward each other.