Skip to content

Zone Protocol

Pazaz edited this page May 16, 2024 · 45 revisions

Network Traffic

Under each UPDATE_ZONE line is the build area-relative coordinate.
Zone base: build area x, build area z, level

Logging in

Loading 3206, 3224, 2. This is right by lumbridge bank booths. There are normal log spawns nearby

Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 24, 24, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 24, 32, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 24, 40, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 24, 48, 0
Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Zone base: 24, 48, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 24, 56, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 24, 64, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 32, 56, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 32, 64, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 48, 24, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 48, 32, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 48, 40, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 48, 48, 2
Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Zone base: 48, 48, 2
Packet received: OBJ_ADD
Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Zone base: 48, 48, 2
Packet received: OBJ_ADD
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 48, 56, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 48, 64, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 48, 72, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 56, 24, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 56, 32, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 56, 40, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 56, 48, 2
Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Zone base: 56, 48, 2
Packet received: OBJ_ADD
Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Zone base: 56, 48, 2
Packet received: OBJ_ADD
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 56, 56, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 56, 64, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 56, 72, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 64, 24, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 64, 32, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 64, 40, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 64, 48, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 64, 56, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 64, 64, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 64, 72, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 72, 24, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 72, 32, 2
Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Zone base: 72, 32, 2
Packet received: OBJ_ADD
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 72, 40, 2
Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Zone base: 72, 40, 2
Packet received: OBJ_ADD
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 72, 48, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 72, 56, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 72, 64, 2
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 72, 72, 2

Logging in after someone has lit 2 normal logs (same location)

Packet received: UPDATE_ZONE_FULL_FOLLOWS
Packet received: LOC_ADD_CHANGE
Packet received: LOC_ADD_CHANGE

Loading 3217, 3276, 0. This is in between both lumbridge farms

Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 24, 24, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 24, 32, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 24, 40, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 24, 48, 0
Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Zone base: 24, 48, 0
Packet received: OBJ_ADD
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 24, 56, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 24, 64, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 24, 72, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 32, 24, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 32, 32, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 32, 40, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 32, 48, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 32, 56, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 32, 64, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 32, 72, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 40, 24, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 40, 32, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 40, 40, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 40, 48, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 40, 56, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 40, 64, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 40, 72, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 48, 24, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 48, 32, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 48, 40, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 48, 48, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 48, 56, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 48, 64, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 48, 72, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 56, 24, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 56, 32, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 56, 40, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 56, 48, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 56, 56, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 56, 64, 0
Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Zone base: 56, 64, 0
Packet received: OBJ_ADD
Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Zone base: 56, 64, 0
Packet received: OBJ_ADD
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 56, 72, 0
Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Zone base: 56, 72, 0
Packet received: OBJ_ADD
Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Zone base: 56, 72, 0
Packet received: OBJ_ADD
Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Zone base: 56, 72, 0
Packet received: OBJ_ADD
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 64, 24, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 64, 32, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 64, 40, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 64, 48, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 64, 56, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 64, 64, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 64, 72, 0
Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Zone base: 64, 72, 0
Packet received: OBJ_ADD
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 72, 24, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 72, 32, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 72, 40, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 72, 48, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 72, 56, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 72, 64, 0
Packet received: UPDATE_ZONE_FULL_FOLLOWS
Zone base: 72, 72, 0

Ranged attack

Packet received: UPDATE_ZONE_PARTIAL_ENCLOSED
Partial zone update: MAP_PROJANIM
Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Packet received: OBJ_ADD
Packet received: UPDATE_ZONE_PARTIAL_ENCLOSED
Partial zone update: MAP_PROJANIM
Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Packet received: OBJ_COUNT

Agility shortcut

Packet received: UPDATE_ZONE_PARTIAL_ENCLOSED
Partial zone update: LOC_MERGE

Dropping item

Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Packet received: OBJ_ADD

Picking up dropped item

Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Packet received: OBJ_DEL

Dropping a stackable item on the same item

Packet received: UPDATE_ZONE_PARTIAL_FOLLOWS
Packet received: OBJ_COUNT

Picking up static item spawn

Packet received: UPDATE_ZONE_PARTIAL_ENCLOSED
Partial zone update: OBJ_DEL

Static item respawning

Packet received: UPDATE_ZONE_PARTIAL_ENCLOSED
Partial zone update: OBJ_ADD

Lighting static logs

Packet received: UPDATE_ZONE_PARTIAL_ENCLOSED
Partial zone update: OBJ_DEL
Partial zone update: LOC_ADD_CHANGE

Lit logs disappearing

Packet received: UPDATE_ZONE_PARTIAL_ENCLOSED
Partial zone update: LOC_DEL

Observations

  1. PARTIAL_ENCLOSED is used to send this tick's changes. A new shared buffer must be created each tick there are changes.
  2. FULL_FOLLOWS clears the zone of changes and is sent while loading. Static map changes that happened in the past are sent here while loading.
  3. Static OBJ events are enclosed with PARTIAL_ENCLOSED.
  4. Dynamic OBJ events are not enclosed and get sent individually with PARTIAL_FOLLOWS.
  5. Static changes and transient events (projanim, locmerge) are sent with PARTIAL_ENCLOSED.

Static means "in the map data at startup"
Dynamic means "changed at runtime"