Edit on GitHub

GameService Server Room List

Summary

This packet lists all rooms currently present (open or closed) on a given sub-server.

This packet is sent periodically by the server without prompting when changes occur, such as from Gameservice Client 0x000A Room Settings Change.

Structure

gameservice_server_0047_room_list

Name Type Summary
room_count u1
list_type u1
unknown_a s2 Always -1 (0xFFFF).
rooms room[room_count]

Subtypes

room

Name Type Summary
room_name strz[64]
room_privacy u1
unknown_b bytes[2]
room_user_max u1 Upper user limit of room.
room_user_count u1 Current user count of room.
unknown_c bytes[18]
room_hole_amount u1 Hole amount; current hole in chat rooms.
room_type u1
room_number u2
room_hole_progression u1
room_course u1
room_shot_timer_ms u4 0 if event or not applicable. Individual shot timer, in milliseconds.
room_game_timer_ms u4 0 if event or not applicable. Overall game timer, in milliseconds.
unknown_special_room_value bytes[4] 00,00,00,00 in VS and Chat, 00,00,xx,2C in Tournament and Battle.
unknown_e bytes[76] All 0x00.
unknown_f u4 All examples show 100 (0x00000064).
unknown_g u4 All examples show 100 (0x00000064).
room_master_user_id s4 User ID of room master. -1 (0xFFFFFFFF) if no master (deletion, event).
room_class s1 Unconfirmed. Appears to identify special event rooms vs standard multiplayer rooms.
room_artifact_id u4 From pangya_xx.iff/Item.iff. Item ID for active artifact.
unknown_h u4 Appears to vary from 0 to 3.
event_number u4 0 if non-event.
event_number_rounded u4 Only top 3 bytes of event_number. Low byte zeroed.
event_shot_timer_ms u4 0 if non-event. Individual shot timer, in milliseconds.
unknown_event_j u4 0 if non-event. All examples show 1 (0x00000001).

Enums

list_type

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

room_privacy

Key Value
room_privacy::private_needs_password 0
room_privacy::public 1

room_type

Key Value
room_type::vs 0
room_type::chat 2
room_type::tournament 4
room_type::battle 10

hole_progression

Key Value
hole_progression::front_start 0
hole_progression::back_start 1
hole_progression::random_start 2
hole_progression::shuffle_all 3

room_course

Key Value
room_course::blue_lagoon 0
room_course::blue_water 1
room_course::sepia_wind 2
room_course::wind_hill 3
room_course::wiz_wiz 4
room_course::west_wiz 5
room_course::blue_moon 6
room_course::silvia_cannon 7
room_course::ice_cannon 8
room_course::white_wiz 9
room_course::shining_sand 10
room_course::pink_wind 11
room_course::deep_inferno 13
room_course::ice_spa 14
room_course::lost_seaway 15
room_course::eastern_valley 16
room_course::ice_inferno 18
room_course::wiz_city 19
room_course::abbot_mine 20
room_course::random_course 127

room_class

Key Value
room_class::grand_prix_room 20
room_class::standard_room 255

Definition

meta:
  id: gameservice_server_0047_room_list
  title: GameService Server Room List
  encoding: ASCII
  endian: le
  imports:
    - ../../common/pstring
seq:
  - id: room_count
    type: u1
  - id: list_type
    type: u1
    enum: list_type
  - id: unknown_a
    type: s2
  - id: rooms
    type: room
    repeat: expr
    repeat-expr: room_count
types:
  room:
    seq:
      - id: room_name
        type: strz
        size: 64
      - id: room_privacy
        type: u1
        enum: room_privacy
      - id: unknown_b
        size: 2
      - id: room_user_max
        type: u1
      - id: room_user_count
        type: u1
      - id: unknown_c
        size: 18
      - id: room_hole_amount
        type: u1
      - id: room_type
        type: u1
        enum: room_type
      - id: room_number
        type: u2
      - id: room_hole_progression
        type: u1
        enum: hole_progression
      - id: room_course
        type: u1
        enum: room_course
      - id: room_shot_timer_ms
        type: u4
      - id: room_game_timer_ms
        type: u4
      - id: unknown_special_room_value
        size: 4
      - id: unknown_e
        size: 76
      - id: unknown_f
        type: u4
      - id: unknown_g
        type: u4
      - id: room_master_user_id
        type: s4
      - id: room_class
        type: s1
        enum: room_class
      - id: room_artifact_id
        type: u4
      - id: unknown_h
        type: u4
      - id: event_number
        type: u4
      - id: event_number_rounded
        type: u4
      - id: event_shot_timer_ms
        type: u4
      - id: unknown_event_j
        type: u4
enums:
  list_type:
    0: list_initial
    1: list_additions
    2: list_removals
    3: list_modifications
  room_privacy:
    0: private_needs_password
    1: public
  room_type:
    0: vs
    2: chat
    4: tournament
    10: battle
  hole_progression:
    0: front_start
    1: back_start
    2: random_start
    3: shuffle_all
  room_course:
    0: blue_lagoon
    1: blue_water
    2: sepia_wind
    3: wind_hill
    4: wiz_wiz
    5: west_wiz
    6: blue_moon
    7: silvia_cannon
    8: ice_cannon
    9: white_wiz
    10: shining_sand
    11: pink_wind
    13: deep_inferno
    14: ice_spa
    15: lost_seaway
    16: eastern_valley
    18: ice_inferno
    19: wiz_city
    20: abbot_mine
    127: random_course
  room_class:
    20: grand_prix_room
    255: standard_room

Examples

No examples available. Contribute one?