Ultima Online Protocol :: Update Terrain
Packet # Packet Name Length Client Server Obsolete
0x40 Update Terrain 0x00C9 X
Data Type Description
byte 0x40 The packet number.
uint Block_Num The block number of the map grid. This can be derived by the following formula:

Block_Num = X / 8 * MapHeight + Y / 8

MapHeight is equal to the total number of tiles in the Y-axis divided by eight (0x0200 for map0.mul).
loop
{
    ushort tile_num
    sbyte z
}
This loop contains the information below for each map cell in the 8x8 grid.

tile_num: The map tile number.
z: The z-axis position of the map tile.
uint Header The map grid header.

Packet Description:
This is sent by the server to update an 8x8 map grid.

For this packet to work, the server must be an Edit Server and the map width and height must be correctly specified in the Login Confirm packet.