AOS REVIVALJoin Discord
Packet ID0680x44
UGC // wire record

UGCObjectives

Defines custom UGC objective identifiers and integer values for a mode.

InactivePlannedProvisionalVariable: 6 + objective records
Exact field order

Packet 68 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 68 UGCObjectives fields in byte order
#FieldEncodingBytesPurpose
0packet_idu81Always 68 (0x44).
1modeu81mode value.
2objective_counti32 LE4objective count value.
3objectives[].idNUL-terminated UTF-8 stringN + 1objectives[].id value.
4objectives[].valuei32 LE4objectives[].value value.
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.