Skip to content

world/server/0x0063 #6

@sruon

Description

@sruon

I'm still going through the packet and reviewing what we know. I'll fill as I go but take everything with a grain of salt obviously.

0x7 Unity

Unity packets are sent both on zone-in (mostly empty) and when opening the Unity menu

initial_0x063.log
menu_0x063.log

  • First byte (after unknown06) represents the result set on which it is operating, 0 for the past week (completed results) or 1 for current week (partial results)
  • Second byte is some sort of subtype
enum class UNITY_DATATYPE : uint8_t
{
    Base    = 0x00,
    Members = 0x01,
    Points  = 0x02,
    // 0x03-0x0F: Various flags/empty data
    // 0x10-0x13: Data values
    Personal = 0x14,
    // 0x15-0x1F: More data values
};
  • It is followed by 6 bytes of padding for each subtype
  • Then depending on the subtype, data contains
    • 0x00: uint32_t timestamp representing seconds since Vanadiel epoch denoting the previous unity results calculation
    • 0x01:
      • uint16_t statusFlag of some sort - bits are set in the set of packets sent when opening the menu but not in the initial zone
      • uint32_t[11] representing the number of contributing members in each unity
    • 0x02:
      • uint16_t flag
      • uint32_t[11] representing the number of points for each unity
    • 0x14: uint16_t representing personal contributed points
    • Others: uint16_t representing what looks like ascii or unknown values

The client uses the points from 0x02 and divide them by the number of contributing members in 0x01 to generate the leaderboard

Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions