Edit on GitHub

MessageService Server Status Packet

Summary

This packet appears to serve many of the Messaging Server's duties, in terms of providing status updates and responses to interactions with the service.

See Also: MessageService Client 0x0017 User ID Lookup MessageService Client 0x0018 Friend Request

Structure

messageservice_server_0030_status_packet

Name Type Summary
subtype u2 Type of status update.
response switch(subtype)
case unconf_pending_friend_requests s0102_unk_pending_friend_requests Case when subtype == unconf_pending_friend_requests
case friend_request_response s0104_friend_request_response Case when subtype == friend_request_response
case unknown_0115 s0115_unk Case when subtype == unknown_0115
case user_id_lookup_response s0117_user_id_lookup_response Case when subtype == user_id_lookup_response

Subtypes

s0102_unk_pending_friend_requests

Sent after Client 0x0014 Hello (2/2).

Name Type Summary
unknown u1 Unknown
unk_pending_entries u2 Unknown, likely a 'pending entries' for multi-packet splitting.
unk_entry_count u4 Unknown, likely a entry count.
entries s0102_entry[unk_entry_count]

s0102_entry

This appears in both Server 0x0102 and Server 0x0104.

Name Type Summary
user_nickname strz[22] Target user's nickname.
string_friend strz[25] Says 'Friend'. May be indication of different kinds of entries?
user_id u4 Target user's ID
unknown_a bytes[99] Just $00 and $FF
unknown_b bytes[2]
unknown_c bytes[1] Increments as time passes since friend request was made.
unknown_d bytes[2]

s0104_friend_request_response

Name Type Summary
unknown_e bytes[4]
friend_request s0102_entry

s0115_unk

Sent after Client 0x0014 Hello (1/2).

Name Type Summary
user_id u4 Local user's ID
unknown_f bytes[11]
server_id u4 Current server's ID
unknown_g bytes[1]
unknown_h bytes[64] Might be padding.

s0117_user_id_lookup_response

Appears in response to Client 0x0017 User ID Lookup.

Name Type Summary
unknown_i bytes[4]
user_nickname pstring Target user's nickname
user_id u4 Target user's ID

Enums

subtype

Key Value
subtype::unconf_pending_friend_requests 258
subtype::friend_request_response 260
subtype::unknown_0115 277
subtype::user_id_lookup_response 279

Definition

meta:
  id: messageservice_server_0030_status_packet
  title: MessageService Server Status Packet
  encoding: ASCII
  endian: le
  imports:
    - ../../common/pstring
seq:
  - id: subtype
    type: u2
    enum: subtype
  - id: response
    type:
      switch-on: subtype
      cases:
        subtype::unconf_pending_friend_requests: s0102_unk_pending_friend_requests
        subtype::friend_request_response: s0104_friend_request_response
        subtype::unknown_0115: s0115_unk
        subtype::user_id_lookup_response: s0117_user_id_lookup_response
types:
  s0102_unk_pending_friend_requests:
    seq:
      - id: unknown
        type: u1
      - id: unk_pending_entries
        type: u2
      - id: unk_entry_count
        type: u4
      - id: entries
        type: s0102_entry
        repeat: expr
        repeat-expr: unk_entry_count
  s0102_entry:
    seq:
      - id: user_nickname
        type: strz
        size: 22
      - id: string_friend
        type: strz
        size: 25
      - id: user_id
        type: u4
      - id: unknown_a
        size: 99
      - id: unknown_b
        size: 2
      - id: unknown_c
        size: 1
      - id: unknown_d
        size: 2
  s0104_friend_request_response:
    seq:
      - id: unknown_e
        size: 4
      - id: friend_request
        type: s0102_entry
  s0115_unk:
    seq:
      - id: user_id
        type: u4
      - id: unknown_f
        size: 11
      - id: server_id
        type: u4
      - id: unknown_g
        size: 1
      - id: unknown_h
        size: 64
  s0117_user_id_lookup_response:
    seq:
      - id: unknown_i
        size: 4
      - id: user_nickname
        type: pstring
      - id: user_id
        type: u4
enums:
  subtype:
    258: unconf_pending_friend_requests
    260: friend_request_response
    277: unknown_0115
    279: user_id_lookup_response

Examples

No examples available. Contribute one?