The retail client's first application handshake packet. It carries the opaque Steam session ticket that a Steam-enabled game server must validate before accepting the player's identity.
C→SHandshakeLive-verified5 + N bytes
Exact field order
Packet 105 wire layout
The first byte is the application packet ID. The rows after it appear in decode order. Sizes exclude ENet headers, the outer wrapper prefix, LZF chunk framing, and compression effects.
Packet 105 SteamSessionTicket fields in byte order
#
Field
Encoding
Bytes
Purpose
0
packet_id
u8
1
Always 105 (0x69).
1
ticket_size
i32 LE
4
N: ticket length; reject negative values and lengths beyond the remaining packet.
2
ticket
opaque Steam ticket bytes
N
Ticket bytes supplied by the Steam client API. Treat as secret, bounded binary data rather than text.
Protocol convention
How to read this layout
LE means least-significant byte first.
fixed16 is two-byte sign-magnitude at 1/64 precision.
orientation16 uses the measured 1/8192 orientation mapping.
NUL strings consume their encoded byte length plus one 00 terminator.
Counted arrays repeat immediately in the order shown.