Edit on GitHub

GameService Server Room Census


This packet maintains the list of all users in the currently joined room.

This is a response to any user sending:



Name Type Summary
list_type u1
unknown_a s2 All examples show -1 (0xFFFF).
list switch(list_type)
case list_initial census_initial Case when list_type == list_initial
case list_additions census_addition Case when list_type == list_additions
case list_removals census_removal Case when list_type == list_removals
case list_modifications census_modification Case when list_type == list_modifications
case list_lounge_initial census_lounge_initial Case when list_type == list_lounge_initial



Name Type Summary
user_count u1
users_initial user
user_additional_initial user_character_data Is either 1 byte (0x00) or 513 bytes long.


Name Type Summary
user_addition user
user_additional_addition user_character_data Is either 0 bytes or 513 bytes long.


Name Type Summary
connection_id_removal u4 Connection ID of the user to remove.


Name Type Summary
connection_id_modification u4 Connection ID of the user to modify. Note - not an error, it does appear twice in a row.
user_modification user


Unlike type 0x00 census_initial, a type 0x07 is sent for each user in a lounge, with only their record contained therein.

Name Type Summary
user_count_lounge u1 As all type 0x07s are individual records, this value is trivial, not structural.
user_lounge user
user_additional_lounge user_character_data Is always present at 513 bytes.


Name Type Summary
connection_id u4 Connection ID of the relevant user.
user_nickname strz Nickname of the relevant user.
guild_name strz Guild name to which the relevant user belongs.
room_user_slot u1 Every user in the room has a unique slot number, from 1 to the user_max.
unknown_c bytes All 0x00.
item_id_title u4 From pangya_xx.iff/Skin.iff. ID of the custom title badge.
item_id_character u4 From pangya_xx.iff/Character.iff. ID of the character used.
item_id_portrait_background u4 From pangya_xx.iff/Skin.iff. ID of the portrait background. 0 if unused.
item_id_portrait_frame u4 From pangya_xx.iff/Skin.iff. ID of the portrait frame. 0 if unused.
item_id_portrait_sticker u4 From pangya_xx.iff/Skin.iff. ID of the portrait sticker. 0 if unused.
item_id_portrait_slot u4 From pangya_xx.iff/Skin.iff. ID of the portrait slot. 0 if unused.
unknown_d bytes All 0x00.
item_id_title_b u4 Duplicate of item_id_title
unknown_e bytes
user_rank u1 Unconfirmed. From 0x00 ('Rookie F') through 0x46 ('Infinity Legend I').
unknown_f u1 All examples either 0 (0x00) or 40 (0x28).
unknown_g u1 All examples 10 (0x0A).
unknown_h bytes
guild_emblem_id strz If missing, 'guildmark'.
unknown_k u1
user_id u4
unknown_l bytes All 0x00.
unknown_m bytes Always C7,0A.
unknown_n u4 All examples either 0 (0x00000000) or 1 (0x00000001).
unknown_o f4
unknown_p f4
unknown_q f4
unknown_z u4 Seen 0-2.
garbage_r bytes Likely garbage data; contains local user's data.
item_id_mascot u4 From pangya_xx.iff/Mascot.iff. ID for user's mascot.
username_atnt strz
unknown_s bytes
unknown_t u4 All examples 66 (0x00000042).



Key Value
list_type::list_initial 0
list_type::list_additions 1
list_type::list_removals 2
list_type::list_modifications 3
list_type::list_lounge_initial 7


  id: gameservice_server_0048_room_census
  title: GameService Server Room Census
  encoding: ASCII
  endian: le
    - ../../common/id_bank
    - ../../common/pstring
    - ../../common/user_character_data
  - id: list_type
    type: u1
    enum: list_type
  - id: unknown_a
    type: s2
  - id: list
      switch-on: list_type
        list_type::list_initial: census_initial
        list_type::list_additions: census_addition
        list_type::list_removals: census_removal
        list_type::list_modifications: census_modification
        list_type::list_lounge_initial: census_lounge_initial
      - id: user_count
        type: u1
      - id: users_initial
        type: user
        repeat: expr
        repeat-expr: user_count
      - id: user_additional_initial
        type: user_character_data
      - id: user_addition
        type: user
      - id: user_additional_addition
        type: user_character_data
      - id: connection_id_removal
        type: u4
      - id: connection_id_modification
        type: u4
      - id: user_modification
        type: user
      - id: user_count_lounge
        type: u1
      - id: user_lounge
        type: user
      - id: user_additional_lounge
        type: user_character_data
      - id: connection_id
        type: u4
      - id: user_nickname
        type: strz
        size: 22
      - id: guild_name
        type: strz
        size: 21
      - id: room_user_slot
        type: u1
      - id: unknown_c
        size: 4
      - id: item_id_title
        type: u4
      - id: item_id_character
        type: u4
      - id: item_id_portrait_background
        type: u4
      - id: item_id_portrait_frame
        type: u4
      - id: item_id_portrait_sticker
        type: u4
      - id: item_id_portrait_slot
        type: u4
      - id: unknown_d
        size: 4
      - id: item_id_title_b
        type: u4
      - id: unknown_e
        size: 2
      - id: user_rank
        type: u1
        enum: id_bank::rank
      - id: unknown_f
        type: u1
      - id: unknown_g
        type: u1
      - id: unknown_h
        size: 4
      - id: guild_emblem_id
        type: strz
        size: 12
      - id: unknown_k
        type: u1
      - id: user_id
        type: u4
      - id: unknown_l
        size: 4
      - id: unknown_m
        size: 2
      - id: unknown_n
        type: u4
      - id: unknown_o
        type: f4
      - id: unknown_p
        type: f4
      - id: unknown_q
        type: f4
      - id: unknown_z
        type: u4
      - id: garbage_r
        size: 64
      - id: item_id_mascot
        type: u4
        enum: id_bank::item_id_mascot
      - id: username_atnt
        type: strz
        size: 128
      - id: unknown_s
        size: 4
      - id: unknown_t
        type: u4
    0: list_initial
    1: list_additions
    2: list_removals
    3: list_modifications
    7: list_lounge_initial


No examples available. Contribute one?