overlayed.sand.readyForGameEvents() must be called before any events will be emitted.
Each event is marked with its retention — see Retained vs transient.
logged_in
Retained
Menu
account_id and player_joined.player_id are different ids and never match. Use platform_id to
tie the logged-in account to an in-match player.
game_state_changed
Retained
Menu
The expedition status. menu means no expedition is active.
party_changed
Retained
Menu
party_member_joined
Retained
Menu
Key: account_id
One per party member, including the local player. display_name can arrive empty; a later event for
the same account_id fills it in.
party_member_left
Transient
Releases: party_member_joined
storage_changed
Retained
Menu
A full storage snapshot. crowns, mechanical_parts, pneumatic_parts, and computing_modules
are totals for items that also appear in items — adding them to the items total double-counts.
storage_item_changed
Transient
tech_tree_changed
Retained
Menu
is_available means researchable right now, so an already-unlocked node reports it false.
tech_tree_item_unlocked
Transient
walker_changed
Retained
Menu
The walker the account has built. walker_id matches trampler_acquired.master_server_id.
match_started
Retained
Match
server_start_time is when the match began, not when you joined it.
match_ended
Transient
Releases: all match-level events
world_time_changed
Retained
Match
player_joined
Retained
Match
Key: platform_id
One per player on the player list, which keeps players after they disconnect — there is no leave
event. player_id never equals logged_in.account_id; correlate on platform_id.
Retained
Match
Key: extraction_id
Extractions can arrive throughout the match, not all at match_started.
Transient
Releases: extraction_added
storm_changed
Retained
Match
Emitted on stage and state transitions only.
inventory_changed
Retained
Match
Key: player_id
What a player is carrying right now, one event per party member. Only the local player and their
party are reported. player_id matches player_joined.player_id, not logged_in.account_id, which
is the master server’s id and a string.
Slots 0-15 are the fixed ones — 0 is the hand, 1 and 2 are weapons, 3 is armor, 4 is the backpack,
5-9 are tools and 10-15 are the belt. Anything higher is a grid slot. Empty slots are omitted, so
slots_used is the length of slots.
amount is the stack size for a stack but the loaded rounds for a weapon, and 0 for a container
the player is holding. What a carried container holds is not reported.
inventory_slot_changed
Transient
One slot of one party member changed. A slot that swapped what it holds reports the new stack
arriving rather than the old one growing, so delta equals amount in that case. An emptied slot
reports an empty definition, an amount of 0, and the negative of what it held.
inventory_equipped_changed
Retained
Match
Key: player_id
What a party member has in their hands. slot is the selected slot and definition is what sits
in it, which is empty when the slot is. A slot of 255 means the game has not reported a
selection yet.
trampler_acquired
Retained
Match
Key: trampler_id
master_server_id matches walker_changed.walker_id when non-zero. creator_player_id is the
blueprint’s author, not the driver, and matches player_joined.player_id.
trampler_changed
Retained
Match
Key: trampler_id
Emitted about every 10 seconds whether or not the trampler moved — a new event is not proof of
motion.
trampler_lost
Transient
Releases: trampler_acquired, trampler_changed