Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Legend

The legend resource returns every mark shown in the character’s self-look profile:

curl "http://127.0.0.1:2626/clients/ZiLo/legend"

The direct CLI exposes the same server refresh for one injected client:

darpc legend --pid <pid>
darpc --output json legend --pid <pid>
LegendSnapshot {
    pid: u32,
    received_tick_ms: u32,
    marks: Vec<LegendMark>,
}

LegendMark {
    text: string,
    tag: string,
    color: u8,
    icon: LegendIcon,
}

icon is one of aisling, warrior, rogue, wizard, priest, monk, heart, victory, none, or unknown. color is the client color value. The text and tag are decoded from the values supplied by the game server.

Refresh behavior

Legend data arrives in the server’s self-look message and is not pushed again when a mark changes. For that reason, each request asks the game server for a new self-look before returning. Requests for the same client are coalesced for one second, so concurrent or rapidly repeated reads reuse the completed result instead of sending repeated refresh packets. The endpoint returns 504 Gateway Timeout if the server does not answer within three seconds.

Live events

Comparing a refreshed self-look with the retained legend produces these Server-Sent Events (SSE):

EventPayload
legend.mark_addedobservation, mark
legend.mark_changedobservation, previous, current
legend.mark_removedobservation, mark

The game normally adds marks and does not remove them, but removal is modeled so consumers can remain correct if a server ever returns a shorter legend. Reread /legend after stream resynchronization.