---
title: "Packet 38: BlockManagerState"
description: "Carries BlockManager damaged, occupied, and user-owned dictionaries—not VXL topology or a removed-voxel resynchronization stream."
canonical: "https://aosplay.net/protocol-168/packets/38"
markdown: "https://aosplay.net/docs/protocol-168/packets/38.md"
last_updated: "2026-07-16"
protocol: "Ace of Spades Battle Builder 168"
packet_id_decimal: "38"
packet_id_hex: "0x26"
direction: "Inactive"
family: "Building"
implementation_status: "Planned"
evidence: "Provisional"
wire_size: "Variable; non-empty record format unresolved"
---

# Packet 38: BlockManagerState

> Carries BlockManager damaged, occupied, and user-owned dictionaries—not VXL topology or a removed-voxel resynchronization stream.

- **Decimal ID:** 38
- **Hex ID:** 0x26
- **Direction:** Inactive
- **Family:** Building
- **Status:** Planned
- **Evidence:** Provisional
- **Wire size:** Variable; non-empty record format unresolved

## Implementation note

The empty form is understood. Non-empty retail encoding remains explicitly unverified.

## Exact wire layout

The application packet ID is the first byte. The remaining rows are in decode order. Byte sizes exclude ENet headers, wrapper prefixes, LZF chunk framing, and compression effects.

| # | Field | Encoding | Bytes | Purpose | Condition |
| ---: | --- | --- | ---: | --- | --- |
| 0 | `packet_id` | u8 | 1 | Always 38 (0x26). | — |
| 1 | `record_count` | i32 LE | 4 | record count value. | — |
| 2 | `records[]` | packed block record | unverified | Generated reader and writer disagree about the colour-presence byte; do not treat the non-empty shape as stable. | — |

## Encoding conventions

- `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 documented order.

## Related resources

- [HTML packet page](https://aosplay.net/protocol-168/packets/38)
- [Complete packet catalog](https://aosplay.net/protocol-168/packets)
- [Packet catalog in Markdown](https://aosplay.net/docs/protocol-168/packets.md)
- [Protocol 168 guide](https://aosplay.net/protocol-168)
