Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Vision

What a client can see, and how a server tells it. A client draws what a server says it sees and nothing else: the fog of war a client draws is only a picture, and what lies inside it is whatever the server has brought into view.

Bringing a unit into view

A server brings a unit into what a client’s side can see with EnterSight.

In 1.0.0.25–1.0.0.96

EnterSight states where the unit stands or which path it walks, and nothing of its looks, shields, health or resource.

In 1.0.0.97–1.0.0.129

EnterSight also states the unit’s items.

In 1.0.0.126

EnterSight states the unit’s shields and where it stands or which path it walks, and nothing of its health or resource. A client reads every part of the body whatever its length, so a server MUST NOT end one early. For a turret, an inhibitor, a nexus or a prop it reads no body at all.

A client does not draw a champion that no EnterSight has placed: given only its CreateChampion, a client shows the champion’s portrait and spells and nothing on the field. One EnterSight after the CreateChampion draws it, with its name and health bar over it.

EnterLocalSight brings a unit into what one client alone can see. EnterTeamSight brings an object into the view of a whole side.

In 1.0.0.25–1.0.0.60

EnterLocalSight states nothing of the unit.

In 1.0.0.96–1.0.0.129

EnterLocalSight states the unit’s health.

In 1.0.0.126

EnterLocalSight states the unit’s maximum health beside its health, and nothing of its resource.

Losing sight

LeaveSight and LeaveTeamSight take a unit out of the matching view, and leave it held (see Objects and identifiers). Particles come into and leave a side’s view with ParticleEnterTeamSight and ParticleLeaveTeamSight.

In 1.0.0.58–1.0.0.126

LeaveLocalSight changes nothing a client shows, whichever unit it names.

Regions

A region is a patch of ground with sight of its own, which can reveal hidden units within it. A server places one with RegionAdded or fastens one to a unit with RegionAttached, moves it with RegionMoved and takes it away with RegionRemoved; Objects and identifiers says how regions are named and when one ends. A region granting sight has a client clear its map’s cover over it.

In 1.0.0.126–1.0.0.129

A client makes only circular regions.

In 1.0.0.126

A region fastened to a unit with a radius of 3000 or less is blocked by walls, and any other sees over them; nothing in a region chooses this.

Drawing the fog

FogSet and FogToggled change how a client draws its fog of war.

In 1.0.0.58–1.0.0.129

A client draws its fog of war, or the map with no darkening, as FogSet and FogToggled say. Neither changes what the client can see.

Who is told what

A client acts on a message about whichever unit it names, its own champion or another, so what a client knows is whatever a server sends it. A server decides, message by message, which clients to tell.

UnitDiedOnMap, InventorySnapshotOnMap, FloatingTextOnMap and SpellSlotChangedForOwner do not exist, so a server sends both audiences of UnitDied, InventorySnapshot, FloatingText and SpellSlotChanged under the one command each.

Messages about a champion’s own state, its gold, its inventory, its spells’ levels, cooldowns and charges, and whether it can shop, are applied to the champion they name on any client that receives them, but a client shows some of them only for its own champion:

  • ShopEnabled changes the shop only for the client’s own champion.

GoldGained naming the client’s own champion, with an amount above 0 and a source the client holds, shows the gold over the source.

In 1.0.0.25–1.0.0.60

Any other GoldGained shows the gold gained or lost over the unit it names, whichever unit that is. ItemAdded announces no purchase, a client’s own or another’s.

In 1.0.0.58–1.0.0.60

LevelUp shows its effect over any champion the client can see, and does nothing for another unit.

In 1.0.0.96–1.0.0.129

ItemAdded and InventorySlot announce a purchase only for the client’s own champion; an ally’s purchase is called out where the message asks for it.

In 1.0.0.126

LevelUp shows its effect over any champion the client can see, and does nothing for another unit.

A server SHOULD send SpellCooldown, SpellCharges and GoldGained about a champion only to the client whose champion it is.

A client also acts on what it is told about a unit it holds but cannot see:

  • a particle on a hidden unit is created but not drawn until the unit comes into view, unless the particle is bound to a target the client can see;
  • floating text over a hidden unit is dropped;
  • an animation plays on a hidden unit, which comes into view part way through it.

A server SHOULD NOT send a client what its side cannot see, beyond what keeps its world consistent.

Messages

Each message of this system in this book, with each layout it has across the book’s patches and every note its definition carries. A layout is the message’s body, after the header its channel’s family puts in front (see Messages).

EnterSight

What a server sends when a unit comes into what a side can see. The header names the unit this is about.

Definition.

In 1.0.0.25–1.0.0.57

Command 55 on events, sent by the server, reliable.

What a server sends to bring a unit into what a client can see. A client draws a unit only once this has named it, except turrets, which it draws regardless; the header names the unit. It states everything a client needs to draw the unit at once.

FieldTypePresent whenWhat it is
viewrecordremaining setEverything else a client needs to draw the unit. A server sends it for a champion, a minion or another unit with a mind, which a client reads past the end of the message without it. For any other unit a server ends the message before it, and a client reads none of the body.
view.movementStaterecordremaining setWhere the unit stands, followed by the direction it faces.
view.movementState.movementKindu8What follows the sync id: 0 nothing, 1 a path walked at a set speed, 2 a path, 3 a point the unit stands at. A client reads nothing more for any other value. Values: 0 nothing, 1 movingAtASpeed, 2 moving, 3 standing.
view.movementState.syncIdu32The number of this statement about the unit; a client takes a path or a point only where it is not behind the last one the unit took.
view.movementState.movementMovementmovementKind = 2Every point after the first.
view.movementState.movementAtSpeedMovementAtSpeedmovementKind = 1Where the unit is going, and how a server makes it travel. WaypointGroupAtSpeed carries the same shape.
view.movementState.atXf32movementKind = 3Along one ground axis, in world units; the height is the ground’s.
view.movementState.atZf32movementKind = 3Along the other ground axis.
view.movementState.facingXf32movementKind = 3Which way it faces, along one ground axis.
view.movementState.facingZf32movementKind = 3Which way it faces, along the other.
Vectors (4)

a-fourth-on-1-0-0-25, a-third-on-1-0-0-25, another-on-1-0-0-25, one-on-1-0-0-25

In 1.0.0.58–1.0.0.60

Command 55 on events, sent by the server, reliable.

What a server sends to bring a unit into what a client can see. A client draws a unit only once this has named it, except turrets, which it draws regardless; the header names the unit. It states everything a client needs to draw the unit at once.

FieldTypePresent whenWhat it is
viewrecordremaining setEverything else a client needs to draw the unit. A server sends it for a champion, a minion or another unit with a mind, which a client reads past the end of the message without it. A client ignores it for a turret, and reads nothing of it for any other unit.
view.movementStaterecordremaining setWhere the unit stands, followed by the direction it faces.
view.movementState.movementKindu8What follows the sync id: 0 nothing, 1 a path walked at a set speed, 2 a path, 3 a point the unit stands at. A client reads nothing more for any other value. Values: 0 nothing, 1 movingAtASpeed, 2 moving, 3 standing.
view.movementState.syncIdu32The number of this statement about the unit; a client takes a path or a point only where it is not behind the last one the unit took.
view.movementState.movementMovementmovementKind = 2Every point after the first.
view.movementState.movementAtSpeedMovementAtSpeedmovementKind = 1Where the unit is going, and how a server makes it travel. WaypointGroupAtSpeed carries the same shape.
view.movementState.atXf32movementKind = 3Along one ground axis, in world units; the height is the ground’s.
view.movementState.atZf32movementKind = 3Along the other ground axis.
view.movementState.facingXf32movementKind = 3Which way it faces, along one ground axis.
view.movementState.facingZf32movementKind = 3Which way it faces, along the other.
Vectors (4)

a-fourth-on-1-0-0-58, a-third-on-1-0-0-58, another-on-1-0-0-58, one-on-1-0-0-58

In 1.0.0.61–1.0.0.82

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.61–1.0.0.7355
1.0.0.74–1.0.0.8056
1.0.0.8156
1.0.0.8259

What a server sends to bring a unit into what a client can see. A client draws a unit only once this has named it, except turrets, which it draws regardless; the header names the unit. It states everything a client needs to draw the unit at once.

FieldTypePresent whenWhat it is
viewrecordremaining setEverything else a client needs to draw the unit. A server sends it for a champion, a minion or another unit with a mind, which a client reads past the end of the message without it, and ends the message after the items for any other unit.
view.movementStaterecordremaining setWhere the unit stands, followed by the direction it faces.
view.movementState.movementKindu8What follows the sync id: 0 nothing, 1 a path walked at a set speed, 2 a path, 3 a point the unit stands at. A client reads nothing more for any other value. Values: 0 nothing, 1 movingAtASpeed, 2 moving, 3 standing.
view.movementState.syncIdu32The number of this statement about the unit; a client takes a path or a point only where it is not behind the last one the unit took.
view.movementState.movementMovementmovementKind = 2Every point after the first.
view.movementState.movementAtSpeedMovementAtSpeedmovementKind = 1Where the unit is going, and how a server makes it travel. WaypointGroupAtSpeed carries the same shape.
view.movementState.atXf32movementKind = 3Along one ground axis, in world units; the height is the ground’s.
view.movementState.atZf32movementKind = 3Along the other ground axis.
view.movementState.facingXf32movementKind = 3Which way it faces, along one ground axis.
view.movementState.facingZf32movementKind = 3Which way it faces, along the other.
Vectors (20)

a-fourth-on-1-0-0-72, a-third-on-1-0-0-72, another-on-1-0-0-72, one-on-1-0-0-72, a-fourth-on-1-0-0-75, a-third-on-1-0-0-75, another-on-1-0-0-75, one-on-1-0-0-75, a-fourth-on-1-0-0-79, a-third-on-1-0-0-79, another-on-1-0-0-79, one-on-1-0-0-79, a-fourth-on-1-0-0-81, a-third-on-1-0-0-81, another-on-1-0-0-81, one-on-1-0-0-81, a-fourth-on-1-0-0-82, a-third-on-1-0-0-82, another-on-1-0-0-82, one-on-1-0-0-82

In 1.0.0.83–1.0.0.96

Command 59 on events, sent by the server, reliable.

What a server sends to bring a unit into what a client can see. A client draws a unit only once this has named it, except turrets, which it draws regardless; the header names the unit. It carries no other messages.

FieldTypePresent whenWhat it is
viewrecordremaining setEverything else a client needs to draw the unit. A server sends it for a champion, a minion or another unit with a mind, which a client reads past the end of the message without it. For any other unit a client reads nothing of it.
view.movementStaterecordremaining setWhere the unit stands, followed by the direction it faces.
view.movementState.movementKindu8What follows the sync id: 0 nothing, 1 a path walked at a set speed, 2 a path, 3 a point the unit stands at. A client reads nothing more for any other value. Values: 0 nothing, 1 movingAtASpeed, 2 moving, 3 standing.
view.movementState.syncIdu32The number of this statement about the unit; a client takes a path or a point only where it is not behind the last one the unit took.
view.movementState.movementMovementmovementKind = 2Every point after the first.
view.movementState.movementAtSpeedMovementAtSpeedmovementKind = 1Where the unit is going, and how a server makes it travel. WaypointGroupAtSpeed carries the same shape.
view.movementState.atXf32movementKind = 3Along one ground axis, in world units; the height is the ground’s.
view.movementState.atZf32movementKind = 3Along the other ground axis.
view.movementState.facingXf32movementKind = 3Which way it faces, along one ground axis.
view.movementState.facingZf32movementKind = 3Which way it faces, along the other.
Vectors (4)

a-fourth-on-1-0-0-96, a-third-on-1-0-0-96, another-on-1-0-0-96, one-on-1-0-0-96

In 1.0.0.97–1.0.0.110

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.97–1.0.0.10260
1.0.0.103–1.0.0.10661
1.0.0.107–1.0.0.10962
1.0.0.110185

What a server sends to bring a unit into what a client can see. A client draws a unit only once this has named it, except turrets, which it draws regardless; the header names the unit. It states everything a client needs to draw the unit at once.

FieldTypePresent whenWhat it is
itemCountu8How many items follow. A client reads this and the rest for a champion, a minion or another unit with a mind; for a turret, a map prop or a building it reads nothing at all.
itemscount in itemCount × HeldItemWhat the unit carries, one entry a slot.
viewrecordremaining setEverything else a client needs to draw the unit. A server sends it for a champion, a minion or another unit with a mind, which a client reads past the end of the message without it, and ends the message after the items for any other unit.
view.movementStaterecordremaining setWhere the unit stands, followed by the direction it faces.
view.movementState.movementKindu8What follows the sync id: 0 nothing, 1 a path walked at a set speed, 2 a path, 3 a point the unit stands at. A client reads nothing more for any other value. Values: 0 nothing, 1 movingAtASpeed, 2 moving, 3 standing.
view.movementState.syncIdu32The number of this statement about the unit; a client takes a path or a point only where it is not behind the last one the unit took.
view.movementState.movementMovementmovementKind = 2Every point after the first.
view.movementState.movementAtSpeedMovementAtSpeedmovementKind = 1Where the unit is going, and how a server makes it travel. WaypointGroupAtSpeed carries the same shape.
view.movementState.atXf32movementKind = 3Along one ground axis, in world units; the height is the ground’s.
view.movementState.atZf32movementKind = 3Along the other ground axis.
view.movementState.facingXf32movementKind = 3Which way it faces, along one ground axis.
view.movementState.facingZf32movementKind = 3Which way it faces, along the other.
Vectors (16)

a-fourth-on-1-0-0-99, a-third-on-1-0-0-99, another-on-1-0-0-99, one-on-1-0-0-99, a-fourth-on-1-0-0-106, a-third-on-1-0-0-106, another-on-1-0-0-106, one-on-1-0-0-106, a-fourth-on-1-0-0-109, a-third-on-1-0-0-109, another-on-1-0-0-109, one-on-1-0-0-109, a-fourth-on-1-0-0-110, a-third-on-1-0-0-110, another-on-1-0-0-110, one-on-1-0-0-110

In 1.0.0.111–1.0.0.125

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.111–1.0.0.116186
1.0.0.117–1.0.0.118187
1.0.0.119–1.0.0.123188
1.0.0.124192
1.0.0.125193

What a server sends to bring a unit into what a client can see. A client draws a unit only once this has named it, except turrets, which it draws regardless; the header names the unit. It states everything a client needs to draw the unit at once.

FieldTypePresent whenWhat it is
itemCountu8How many items follow. A client reads this and the rest for a champion, a minion or another unit with a mind; for a turret, a map prop or a building it reads nothing at all.
itemscount in itemCount × HeldItemWhat the unit carries, one entry a slot.
viewrecordremaining setEverything else a client needs to draw the unit. A server sends it for a champion, a minion or another unit with a mind, which a client reads past the end of the message without it, and ends the message after the items for any other unit.
view.hasShieldsu8Not zero where three f32 values follow; zero sets all three to zero. Values: 0 no, 1 yes.
view.magicShieldf32hasShields setHow much of the unit’s shielding turns aside one sort of damage.
view.physicalShieldf32hasShields setHow much turns aside the other.
view.shieldf32hasShields setHow much turns aside either.
view.movementStaterecordremaining setWhere the unit stands, followed by the direction it faces.
view.movementState.movementKindu8What follows the sync id: 0 nothing, 1 a path walked at a set speed, 2 a path, 3 a point the unit stands at. A client reads nothing more for any other value. Values: 0 nothing, 1 movingAtASpeed, 2 moving, 3 standing.
view.movementState.syncIdu32The number of this statement about the unit; a client takes a path or a point only where it is not behind the last one the unit took.
view.movementState.movementMovementmovementKind = 2Every point after the first.
view.movementState.movementAtSpeedMovementAtSpeedmovementKind = 1Where the unit is going, and how a server makes it travel. WaypointGroupAtSpeed carries the same shape.
view.movementState.atXf32movementKind = 3Along one ground axis, in world units; the height is the ground’s.
view.movementState.atZf32movementKind = 3Along the other ground axis.
view.movementState.facingXf32movementKind = 3Which way it faces, along one ground axis.
view.movementState.facingZf32movementKind = 3Which way it faces, along the other.
Vectors (25)

a-fifth-on-1-0-0-116, a-fourth-on-1-0-0-116, a-third-on-1-0-0-116, another-on-1-0-0-116, one-on-1-0-0-116, a-fifth-on-1-0-0-117, a-fourth-on-1-0-0-117, a-third-on-1-0-0-117, another-on-1-0-0-117, one-on-1-0-0-117, a-fifth-on-1-0-0-123, a-fourth-on-1-0-0-123, a-third-on-1-0-0-123, another-on-1-0-0-123, one-on-1-0-0-123, a-fifth-on-1-0-0-124, a-fourth-on-1-0-0-124, a-third-on-1-0-0-124, another-on-1-0-0-124, one-on-1-0-0-124, a-fifth-on-1-0-0-125, a-fourth-on-1-0-0-125, a-third-on-1-0-0-125, another-on-1-0-0-125, one-on-1-0-0-125

In 1.0.0.126–1.0.0.127

Command 194 on events, sent by the server, reliable.

What a server sends to bring a unit into what a client can see. A client draws a unit only once this has named it, except turrets, which it draws regardless; the header names the unit. It states everything a client needs to draw the unit at once.

FieldTypePresent whenWhat it is
itemCountu8How many items follow. A client reads this and the rest for a champion, a minion or another unit with a mind; for a turret, a map prop or a building it reads nothing at all.
itemscount in itemCount × HeldItemWhat the unit carries, one entry a slot.
viewrecordremaining setEverything else a client needs to draw the unit. A server sends it for a champion, a minion or another unit with a mind, which a client reads past the end of the message without it.
view.hasShieldsu8Not zero where three f32 values follow; zero sets all three to zero. Values: 0 no, 1 yes.
view.magicShieldf32hasShields setHow much of the unit’s shielding turns aside one sort of damage.
view.physicalShieldf32hasShields setHow much turns aside the other.
view.shieldf32hasShields setHow much turns aside either.
view.movementStaterecordremaining setWhere the unit stands; only a movementKind of 3 is followed by the direction it faces.
view.movementState.movementKindu8What follows the sync id: 0 nothing, 1 a path walked at a set speed, 2 a path, 3 a point the unit stands at. A client reads nothing more for any other value. Values: 0 nothing, 1 movingAtASpeed, 2 moving, 3 standing.
view.movementState.syncIdu32The number of this statement about the unit; a client takes a path or a point only where it is not behind the last one the unit took.
view.movementState.movementMovementmovementKind = 2Every point after the first.
view.movementState.movementAtSpeedMovementAtSpeedmovementKind = 1Where the unit is going, and how a server makes it travel. WaypointGroupAtSpeed carries the same shape.
view.movementState.atXf32movementKind = 3Along one ground axis, in world units; the height is the ground’s.
view.movementState.atZf32movementKind = 3Along the other ground axis.
view.movementState.facingXf32movementKind = 3Which way it faces, along one ground axis.
view.movementState.facingZf32movementKind = 3Which way it faces, along the other.
Vectors (9)

a-fifth-on-1-0-0-126, a-fourth-on-1-0-0-126, a-sixth-on-1-0-0-126, a-third-on-1-0-0-126, another-on-1-0-0-126, one-on-1-0-0-126, standing-on-1-0-0-126, walking-after-a-teleport-on-1-0-0-126, walking-on-1-0-0-126

In 1.0.0.128–1.0.0.129

Command 194 on events, sent by the server, reliable.

It states everything a client needs to draw the unit at once.

FieldTypePresent whenWhat it is
itemCountu8How many items the unit holds. A client reads this and the rest for a champion, a minion or another unit with a mind; for a turret, a map prop, a building or a missile it reads nothing after the carried messages.
itemscount in itemCount × HeldItemThe items themselves.
viewrecordremaining setEverything else a client needs to draw the unit. A server sends it for a champion, a minion or another unit with a mind, which a client reads past the end of the message without it, and ends the message after the items for any other unit.
view.hasShieldsu8Whether the three figures below follow. A zero leaves them out. Values: 0 no, 1 yes.
view.magicShieldf32hasShields setHow much of the unit’s shielding turns aside one sort of damage.
view.physicalShieldf32hasShields setHow much turns aside the other.
view.shieldf32hasShields setHow much turns aside either.
view.movementStaterecordremaining setWhere the unit is and what it is doing on the ground. A client reads it for a champion or a minion, and a server sends it for those; for another unit with a mind the message ends before it.
view.movementState.movementKindu8What the unit is doing on the ground, and so which shape follows. A champion stated as standing, with the place and facing below, is drawn there with its name and health bar over it. One stated as moving is drawn at the first point of its path and walks the rest. Values: 0 nothing, 1 movingAtASpeed, 2 moving, 3 standing.
view.movementState.syncIdu32The name this statement of movement answers to.
view.movementState.movementMovementmovementKind = 2Where the unit is going. Movement says how a path is read.
view.movementState.movementAtSpeedMovementAtSpeedmovementKind = 1Where the unit is going, and how a server makes it travel. WaypointGroupAtSpeed carries the same shape.
view.movementState.atXf32movementKind = 3Where the unit stands, along one ground axis, in world units.
view.movementState.atZf32movementKind = 3Where it stands, along the other, in world units.
view.movementState.facingXf32movementKind = 3Which way it faces, along one ground axis.
view.movementState.facingZf32movementKind = 3Which way it faces, along the other.

EnterLocalSight

What a server sends when a unit comes into what one client can see. The header names the unit this is about.

Definition.

In 1.0.0.25–1.0.0.60

Command 57 on events, sent by the server, reliable.

A client reads none of the body: it shows the unit and reads nothing more.

FieldTypePresent whenWhat it is
vitalsrecordremaining setThe unit’s health. A client reads nothing here.
vitals.maxHealthf32A client reads nothing here.
vitals.healthf32A client reads nothing here.
Vectors (2)

another-on-1-0-0-58, one-on-1-0-0-58

In 1.0.0.61–1.0.0.81

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.61–1.0.0.7357
1.0.0.74–1.0.0.8158

It carries no other messages: the body is the unit’s health alone, always present.

FieldTypePresent whenWhat it is
vitalsrecordremaining setThe unit’s health. Where a client already holds the unit, it reads these from body offset 2 whatever the carried size, so a server carries messages here only where they create the unit, and sends the vitals right after them.
vitals.maxHealthf32What the unit’s health tops out at.
vitals.healthf32What its health stands at. A client holds it to between zero and maxHealth.
Vectors (6)

another-on-1-0-0-72, one-on-1-0-0-72, another-on-1-0-0-75, one-on-1-0-0-75, another-on-1-0-0-81, one-on-1-0-0-81

In 1.0.0.82–1.0.0.96

Command 61 on events, sent by the server, reliable.

It carries no other messages: the body is the unit’s health alone, always present.

FieldTypePresent whenWhat it is
vitalsrecordremaining setThe unit’s health. A client reads it only for a unit with a mind; for any other unit it reads nothing of the body.
vitals.maxHealthf32What the unit’s health tops out at. A client keeps it at zero or above.
vitals.healthf32What its health stands at. A client holds it to between zero and maxHealth.
Vectors (2)

another-on-1-0-0-96, one-on-1-0-0-96

In 1.0.0.97–1.0.0.125

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.97–1.0.0.10262
1.0.0.103–1.0.0.10663
1.0.0.107–1.0.0.10964
1.0.0.110172
1.0.0.111–1.0.0.116173
1.0.0.117–1.0.0.118174
1.0.0.119–1.0.0.123175
1.0.0.124179
1.0.0.125180

It carries no other messages: the body is the unit’s health alone, always present.

FieldTypePresent whenWhat it is
vitalsrecordremaining setThe unit’s health. Where a client already holds the unit, it reads these from body offset 2 whatever the carried size, so a server carries messages here only where they create the unit, and sends the vitals right after them.
vitals.maxHealthf32What the unit’s health tops out at.
vitals.healthf32What its health stands at. A client holds it to between zero and maxHealth.
Vectors (18)

another-on-1-0-0-99, one-on-1-0-0-99, another-on-1-0-0-106, one-on-1-0-0-106, another-on-1-0-0-109, one-on-1-0-0-109, another-on-1-0-0-110, one-on-1-0-0-110, another-on-1-0-0-116, one-on-1-0-0-116, another-on-1-0-0-117, one-on-1-0-0-117, another-on-1-0-0-123, one-on-1-0-0-123, another-on-1-0-0-124, one-on-1-0-0-124, another-on-1-0-0-125, one-on-1-0-0-125

In 1.0.0.126–1.0.0.127

Command 181 on events, sent by the server, reliable.

It carries no other messages: the body is the unit’s health alone, always present.

FieldTypePresent whenWhat it is
vitalsrecordremaining setThe unit’s health.
vitals.maxHealthf32What the unit’s health tops out at.
vitals.healthf32What its health stands at. A client holds it to between zero and maxHealth.
Vectors (3)

another-on-1-0-0-126, entered-on-1-0-0-126, one-on-1-0-0-126

In 1.0.0.128–1.0.0.129

Command 181 on events, sent by the server, reliable.

FieldTypePresent whenWhat it is
vitalsrecordremaining setThe unit’s health. Where a client already holds the unit, it reads these from body offset 2 whatever the carried size, so a server carries messages here only where they create the unit, and sends the vitals right after them.
vitals.maxHealthf32What the unit’s health tops out at.
vitals.healthf32What its health stands at.

EnterTeamSight

What a server sends when a unit comes into the view of a whole side. The header names the object this is about.

Definition.

In 1.0.0.120–1.0.0.127

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.120–1.0.0.122226
1.0.0.123227
1.0.0.124236
1.0.0.125237
1.0.0.126–1.0.0.127238
FieldTypeWhat it is
sideu8Which side the unit came into the view of, as an index from 0 to 3. A server sends only 0 to 3; a larger index has no defined effect.
Vectors (5)

one-on-1-0-0-122, one-on-1-0-0-123, one-on-1-0-0-124, one-on-1-0-0-125, entered-on-1-0-0-126

In 1.0.0.128–1.0.0.129

Command 238 on events, sent by the server, reliable.

FieldTypeWhat it is
sideu8Which side the unit came into or out of the view of.

LeaveSight

What a server sends when a unit passes out of what a side can see. The header names the unit this is about.

Definition.

In 1.0.0.25–1.0.0.123

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.25–1.0.0.7356
1.0.0.74–1.0.0.8157
1.0.0.82–1.0.0.9660
1.0.0.97–1.0.0.10261
1.0.0.103–1.0.0.10662
1.0.0.107–1.0.0.10963
1.0.0.110–1.0.0.11680
1.0.0.117–1.0.0.11881
1.0.0.119–1.0.0.12382

What a server sends to take a unit out of what a client can see; the client stops drawing it. The header names the unit.

No body.

Vectors (10)

one-on-1-0-0-72, one-on-1-0-0-75, one-on-1-0-0-81, one-on-1-0-0-96, one-on-1-0-0-99, one-on-1-0-0-106, one-on-1-0-0-109, one-on-1-0-0-116, one-on-1-0-0-117, one-on-1-0-0-123

In 1.0.0.124–1.0.0.125

Command 84 on events, sent by the server, reliable.

What a server sends to take a unit out of what a client can see; the client stops drawing it, unless it is a turret. The header names the unit.

No body.

Vectors (1)

one-on-1-0-0-124

In 1.0.0.126–1.0.0.127

Command 84 on events, sent by the server, reliable.

What a server sends to take a unit out of what a client can see; the client stops drawing it, unless it is a turret. A client ignores it while playing a replay. The header names the unit.

No body.

Vectors (1)

one-on-1-0-0-126

In 1.0.0.128–1.0.0.129

Command 84 on events, sent by the server, reliable.

No body.

LeaveTeamSight

What a server sends when a unit passes out of the view of a whole side. The header names the object this is about.

Definition.

In 1.0.0.120–1.0.0.127

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.120–1.0.0.122227
1.0.0.123228
1.0.0.124237
1.0.0.125238
1.0.0.126–1.0.0.127239
FieldTypeWhat it is
sideu8Which side the unit passed out of the view of, as an index from 0 to 3. A server sends only 0 to 3; a larger index has no defined effect.
Vectors (5)

one-on-1-0-0-122, one-on-1-0-0-123, one-on-1-0-0-124, one-on-1-0-0-125, left-on-1-0-0-126

In 1.0.0.128–1.0.0.129

Command 239 on events, sent by the server, reliable.

FieldTypeWhat it is
sideu8Which side the unit came into or out of the view of.

ParticleLeaveTeamSight

What a server sends as a particle passes out of what one side can see. The header carries zero.

Definition.

In 1.0.0.123–1.0.0.125

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.123230
1.0.0.124239
1.0.0.125240

A client ignores the message where particle names none it holds.

FieldTypeWhat it is
particleu32The particle.
teamu8Which side, by an index.
Vectors (3)

one-on-1-0-0-123, one-on-1-0-0-124, one-on-1-0-0-125

In 1.0.0.126–1.0.0.127

Command 241 on events, sent by the server, reliable.

A client ignores the message where particle names none it holds, and fails where it names an object that is not a particle.

FieldTypeWhat it is
particleu32The particle.
teamu8Which side, by an index.
Vectors (1)

left-on-1-0-0-126

In 1.0.0.128–1.0.0.129

Command 241 on events, sent by the server, reliable.

FieldTypeWhat it is
particleu32The particle.
teamu8Which side, by an index.

LeaveLocalSight

What a server sends when a unit passes out of what one client can see. Sent for the receiving client’s own champion, it changes nothing the client shows. The header names the unit this is about.

Definition.

In 1.0.0.25–1.0.0.125

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.25–1.0.0.7358
1.0.0.74–1.0.0.8159
1.0.0.82–1.0.0.9662
1.0.0.97–1.0.0.10263
1.0.0.103–1.0.0.10664
1.0.0.107–1.0.0.10965
1.0.0.110–1.0.0.11655
1.0.0.117–1.0.0.11856
1.0.0.119–1.0.0.12357
1.0.0.124–1.0.0.12558

No body.

Vectors (11)

one-on-1-0-0-72, one-on-1-0-0-75, one-on-1-0-0-81, one-on-1-0-0-96, one-on-1-0-0-99, one-on-1-0-0-106, one-on-1-0-0-109, one-on-1-0-0-116, one-on-1-0-0-117, one-on-1-0-0-123, one-on-1-0-0-124

In 1.0.0.126–1.0.0.127

Command 58 on events, sent by the server, reliable.

It changes nothing a client shows for any unit, and a client ignores it while playing a replay.

No body.

Vectors (1)

left-on-1-0-0-126

In 1.0.0.128–1.0.0.129

Command 58 on events, sent by the server, reliable.

It changes nothing a client shows for any unit, and a client ignores it while watching a match.

No body.

RegionAdded

What a server sends to place a region on the ground. The header names no object: a server writes zero.

Definition.

In 1.0.0.25–1.0.0.62

Command 86 on events, sent by the server, reliable.

On this range a region stands where the message places it; RegionAttached places one that follows a unit. Every message adds a new region, even one matching a region the client holds; each counts down on its own.

FieldTypeWhat it is
kindu32Whose map shows the region: 0 side 100’s, 1 side 200’s, 2 everyone’s, 3 side 300’s, 4 any other. A client takes the value as it stands, so 100 or 200 here matches no one, and draws the region only where it is 2 or names the player’s own side.
clientIdu32Unused; a client reads nothing here.
sightRadiusf32How far the region shows the map around it, in world units, zero or more.
atXf32Where it stands, along one ground axis, in world units.
atYf32Its height, in world units.
atZf32Where it stands, along the other ground axis, in world units.
lifetimef32How long it lasts, in seconds. A client counts it down, taking each frame’s time off before it checks, and removes the region at the first count that reaches zero or less.
markeru32The id the client keeps the region under. Zero has the client pick one.
does4-byte bitsWhat the region does.
does.flagbit 0Where kind is 2 and this bit is set, a client also sets the bit after it.
does.secondbit 1Kept with the region; a client also sets it where kind is 2 and flag is set. It changes nothing a client shows.
does.unusedbit 2 to 31Its value has no effect; a server writes zero.
extrau32Kept with the region; it changes nothing a client shows. A server writes zero.
otherExtrau32Kept with the region; what it names is not recorded. A server sends zero.
Vectors (1)

one-on-1-0-0-61

In 1.0.0.63–1.0.0.81

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.63–1.0.0.7392
1.0.0.74–1.0.0.8193

On this range a region stands where the message places it; RegionAttached places one that follows a unit. A region matching one the client holds in kind, sightRadius, the first three bits of does, extra, otherExtra and position only gives that one the new lifetime.

FieldTypeWhat it is
kindu32Whose map shows the region: 0 side 100’s, 1 side 200’s, 2 everyone’s, 3 side 300’s, 4 any other. A client takes the value as it stands, so 100 or 200 here matches no one, and draws the region only where it is 2 or names the player’s own side.
clientIdu32Unused; a client reads nothing here.
sightRadiusf32How far the region shows the map around it, in world units, zero or more.
atXf32Where it stands, along one ground axis, in world units.
atYf32Its height, in world units.
atZf32Where it stands, along the other ground axis, in world units.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero, so zero or less removes it at once.
markeru32The id the client keeps the region under. Zero has the client pick one.
does4-byte bitsWhat the region does.
does.flagbit 0Where kind is 2 and this bit is set, a client also sets the bit after it.
does.secondbit 1Kept with the region; a client also sets it where kind is 2 and flag is set. It changes nothing a client shows.
does.unusedbit 2 to 31Its value has no effect; a server writes zero.
extrau32Kept with the region; it changes nothing a client shows. A server writes zero.
otherExtrau32A region sent again with the same value is taken as the one already shown; what else it names is not recorded. A server sends zero.
Vectors (3)

one-on-1-0-0-72, one-on-1-0-0-75, one-on-1-0-0-81

In 1.0.0.82–1.0.0.96

Command 97 on events, sent by the server, reliable.

On this range a region stands where the message places it; RegionAttached places one that follows a unit.

FieldTypeWhat it is
kindu32Whose map shows the region: 0 side 100’s, 1 side 200’s, 2 everyone’s, 3 side 300’s, 4 any other. A client takes the value as it stands, so 100 or 200 here matches no one, and draws the region only where it is 2 or names the player’s own side.
clientIdu32Unused; a client reads nothing here.
sightRadiusf32How far the region shows the map around it, in world units, zero or more.
atXf32Where it stands, along one ground axis, in world units.
atYf32Its height, in world units.
atZf32Where it stands, along the other ground axis, in world units.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero or less, so one that starts at zero or less goes at its first count.
markeru32The id the client keeps the region under. Zero has the client pick one.
does4-byte bitsWhat the region does.
does.flagbit 0Where kind is 2 and this bit is set, a client also sets the bit after it.
does.secondbit 1Kept with the region; a client also sets it where kind is 2 and flag is set. It changes nothing a client shows.
does.unusedbit 2 to 31Its value has no effect, and a client clears the first of these bits itself; a server writes zero.
extrau32Kept with the region; it changes nothing a client shows. A server writes zero.
otherExtrau32Kept with the region; what it names is not recorded. A server sends zero.
Vectors (1)

one-on-1-0-0-96

In 1.0.0.97–1.0.0.123

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.97–1.0.0.10298
1.0.0.103–1.0.0.10699
1.0.0.107–1.0.0.108100
1.0.0.109101
1.0.0.110116
1.0.0.111–1.0.0.116117
1.0.0.117–1.0.0.118118
1.0.0.119–1.0.0.123119

On this range a region stands where the message places it; RegionAttached places one that follows a unit. A region matching one the client holds in kind, sightRadius, the first three bits of does, extra, otherExtra and position only gives that one the new lifetime.

FieldTypeWhat it is
kindu32Whose map shows the region: 0 side 100’s, 1 side 200’s, 2 everyone’s, 3 side 300’s, 4 any other. A client takes the value as it stands, so 100 or 200 here matches no one, and draws the region only where it is 2 or names the player’s own side.
clientIdu32Unused; a client reads nothing here.
sightRadiusf32How far the region shows the map around it, in world units, zero or more.
atXf32Where it stands, along one ground axis, in world units.
atYf32Its height, in world units.
atZf32Where it stands, along the other ground axis, in world units.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero, so zero or less removes it at once.
markeru32The id the client keeps the region under. Zero has the client pick one.
does4-byte bitsWhat the region does.
does.flagbit 0Where kind is 2 and this bit is set, a client also sets the bit after it.
does.secondbit 1Kept with the region; a client also sets it where kind is 2 and flag is set. It changes nothing a client shows.
does.unusedbit 2 to 31Its value has no effect; a server writes zero.
extrau32Kept with the region; it changes nothing a client shows. A server writes zero.
otherExtrau32A region sent again with the same value is taken as the one already shown; what else it names is not recorded. A server sends zero.
Vectors (8)

one-on-1-0-0-99, one-on-1-0-0-106, one-on-1-0-0-108, one-on-1-0-0-109, one-on-1-0-0-110, one-on-1-0-0-116, one-on-1-0-0-117, one-on-1-0-0-123

In 1.0.0.124–1.0.0.127

Command 123 on events, sent by the server, reliable.

On this range a region stands where the message places it; RegionAttached places one that follows a unit. A region matching one the client holds in kind, sightRadius, the first three bits of does, extra, otherExtra and position only gives that one the new lifetime.

FieldTypeWhat it is
kindu32Whose map shows the region: 0 side 100’s, 1 side 200’s, 2 everyone’s, 3 side 300’s, 4 any other. A client takes the value as it stands, so 100 or 200 here matches no one, and draws the region only where it is 2 or names the player’s own side. A client watching the match takes the side it watches as its own, and draws every region while it watches both.
clientIdu32Unused; a client reads nothing here.
sightRadiusf32How far the region shows the map around it, in world units, zero or more.
atXf32Where it stands, along one ground axis, in world units.
atYf32Its height, in world units.
atZf32Where it stands, along the other ground axis, in world units.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero, so zero or less removes it at once.
markeru32The id the client keeps the region under. Zero has the client pick one.
does4-byte bitsWhat the region does.
does.flagbit 0Where kind is 2 and this bit is set, a client also sets the bit after it.
does.secondbit 1Kept with the region; a client also sets it where kind is 2 and flag is set. It changes nothing a client shows.
does.unusedbit 2 to 31Its value has no effect; a server writes zero.
extrau32Kept with the region; it changes nothing a client shows. A server writes zero.
otherExtrau32A region sent again with the same value is taken as the one already shown; what else it names is not recorded. A server sends zero.
Vectors (1)

one-on-1-0-0-126

In 1.0.0.128–1.0.0.129

Command 123 on events, sent by the server, reliable.

A region grants sight, blocks the way, or grows cover.

FieldTypeWhat it is
kindu32What sort of region it is. Where it is 2, the region belongs to the client clientId names; what other values mean is not recorded.
clientIdu32Unused; a client reads nothing here.
sightRadiusf32How far the region shows the map around it, in world units. Zero takes a default radius.
atXf32Where it stands, along one ground axis, in world units.
atYf32Its height, in world units.
atZf32Where it stands, along the other ground axis, in world units.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero or less. Whether one that starts at zero or less is kept is not recorded.
markeru32The region’s id, which RegionRemoved names; 4294967295 has the client pick one of its own. A region sent again with the same id, kind and radius changes the one held rather than adding another.
does4-byte bitsWhat the region does.
does.flagbit 0What this changes on a client is not recorded.
does.secondbit 1A second choice a client keeps with the region; it also sets it itself where kind is 2 and the bit below it is set.
does.unusedbit 2 to 31Unused; a server writes zero.
extrau32Kept with the region as it stands; what it does is not recorded. A server writes zero.
otherExtrau32Kept the same way; a server writes zero.

RegionAttached

What a server sends to place a region that follows a unit, showing the map around it until it runs out or the unit is gone.

Definition.

In 1.0.0.25–1.0.0.62

Command 85 on events, sent by the server, reliable.

Every message adds a new region, even one matching a region the client holds; each counts down on its own.

FieldTypeWhat it is
kindu32Whose map shows the region: 0 side 100’s, 1 side 200’s, 2 everyone’s, 3 side 300’s, 4 any other. A client takes the value as it stands, so 100 or 200 here matches no one, and draws the region only where it is 2 or names the player’s own side.
clientIdu32Unused; a client reads nothing here.
sightRadiusf32How far the region shows the map around it, in world units, zero or more. Zero takes the unit’s own sight radius, followed as it changes, or a default where it has none.
unitu32The unit the region follows. A client ignores the message where it does not know the unit.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero or less, so one that starts at zero or less goes at its first count.
markeru32The region’s id, which RegionRemoved names; zero has the client pick one of its own.
does4-byte bitsWhat the region does.
does.flagbit 0Set where the region shows the map; where kind is 2, a client sets both this bit and does.second, whatever was sent. What else it changes is not recorded.
does.secondbit 1Kept with the region; a client sets it wherever kind is 2. It changes nothing a client shows.
does.unusedbit 2 to 31Its value has no effect, because a client always sets this bit itself; a server writes zero.
extrau32Kept with the region; it changes nothing a client shows. A server writes zero.
otherExtrau32Kept with the region; what it names is not recorded. A server sends zero.
Vectors (1)

one-on-1-0-0-61

In 1.0.0.63–1.0.0.81

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.63–1.0.0.7391
1.0.0.74–1.0.0.8192

A region matching one the client holds in view, sightRadius, the first three bits of does, marker, sightFrom and unit only gives that one the new lifetime.

FieldTypeWhat it is
kindu32Whose map shows the region: 0 side 100’s, 1 side 200’s, 2 everyone’s, 3 side 300’s, 4 any other. A client takes the value as it stands, so 100 or 200 here matches no one, and draws the region only where it is 2 or names the player’s own side.
clientIdu32Unused; a client reads nothing here.
sightRadiusf32How far the region shows the map around it, in world units, zero or more. Zero takes the unit’s own sight radius, followed as it changes, or a default where it has none.
unitu32The unit the region follows. A client ignores the message where it does not know the unit.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero or less, so one that starts at zero or less goes at its first count.
markeru32The region’s id, which RegionRemoved names; zero has the client pick one of its own. A region that matches one the client holds in kind, sightRadius, the first three bits of does, extra, otherExtra and unit only renews that one’s lifetime; the id is not compared.
does4-byte bitsWhat the region does.
does.flagbit 0Set where the region shows the map; where kind is 2, a client also sets does.second. What else it changes is not recorded.
does.secondbit 1Kept with the region; a client also sets it where kind is 2 and flag is set. It changes nothing a client shows.
does.unusedbit 2 to 31Its value has no effect, because a client always sets this bit itself; a server writes zero.
extrau32Kept with the region; it changes nothing a client shows. A server writes zero.
otherExtrau32A region sent again with the same value is taken as the one already shown; what else it names is not recorded. A server sends zero.
Vectors (3)

one-on-1-0-0-72, one-on-1-0-0-75, one-on-1-0-0-81

In 1.0.0.82–1.0.0.96

Command 96 on events, sent by the server, reliable.

FieldTypeWhat it is
kindu32Whose map shows the region: 0 side 100’s, 1 side 200’s, 2 everyone’s, 3 side 300’s, 4 any other. A client takes the value as it stands, so 100 or 200 here matches no one, and draws the region only where it is 2 or names the player’s own side.
clientIdu32Unused; a client reads nothing here.
sightRadiusf32How far the region shows the map around it, in world units, zero or more. Zero takes the unit’s own sight radius, followed as it changes, or a default where it has none.
unitu32The unit the region follows. A client ignores the message where it does not know the unit.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero or less, so one that starts at zero or less goes at its first count.
markeru32The region’s id, which RegionRemoved names; zero has the client pick one of its own.
does4-byte bitsWhat the region does.
does.flagbit 0Set where the region shows the map; a client sets it, and does.second, wherever kind is 2. What else it changes is not recorded.
does.secondbit 1Kept with the region; a client also sets it wherever kind is 2. It changes nothing a client shows.
does.unusedbit 2 to 31Its value has no effect, because a client always sets this bit itself; a server writes zero.
extrau32Kept with the region; it changes nothing a client shows. A server writes zero.
otherExtrau32Kept with the region; what it names is not recorded. A server sends zero.
Vectors (1)

one-on-1-0-0-96

In 1.0.0.97–1.0.0.123

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.97–1.0.0.10297
1.0.0.103–1.0.0.10698
1.0.0.107–1.0.0.10899
1.0.0.109100
1.0.0.110–1.0.0.12337

A region matching one the client holds in view, sightRadius, the first three bits of does, marker, sightFrom and unit only gives that one the new lifetime.

FieldTypeWhat it is
kindu32Whose map shows the region: 0 side 100’s, 1 side 200’s, 2 everyone’s, 3 side 300’s, 4 any other. A client takes the value as it stands, so 100 or 200 here matches no one, and draws the region only where it is 2 or names the player’s own side.
clientIdu32Unused; a client reads nothing here.
sightRadiusf32How far the region shows the map around it, in world units, zero or more. Zero takes the unit’s own sight radius, followed as it changes, or a default where it has none.
unitu32The unit the region follows. A client ignores the message where it does not know the unit.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero or less, so one that starts at zero or less goes at its first count.
markeru32The region’s id, which RegionRemoved names; zero has the client pick one of its own. A region that matches one the client holds in kind, sightRadius, the first three bits of does, extra, otherExtra and unit only renews that one’s lifetime; the id is not compared.
does4-byte bitsWhat the region does.
does.flagbit 0Set where the region shows the map; where kind is 2, a client also sets does.second. What else it changes is not recorded.
does.secondbit 1Kept with the region; a client also sets it where kind is 2 and flag is set. It changes nothing a client shows.
does.unusedbit 2 to 31Its value has no effect, because a client always sets this bit itself; a server writes zero.
extrau32Kept with the region; it changes nothing a client shows. A server writes zero.
otherExtrau32A region sent again with the same value is taken as the one already shown; what else it names is not recorded. A server sends zero.
Vectors (5)

one-on-1-0-0-99, one-on-1-0-0-106, one-on-1-0-0-108, one-on-1-0-0-109, one-on-1-0-0-123

In 1.0.0.124–1.0.0.127

Command 38 on events, sent by the server, reliable.

FieldTypeWhat it is
kindu32Whose map shows the region: 0 side 100’s, 1 side 200’s, 2 everyone’s, 3 side 300’s, 4 any other. A client takes the value as it stands, so 100 or 200 here matches no one, and draws the region only where it is 2 or names the player’s own side. A client watching the match takes the side it watches as its own, and draws every region while it watches both.
clientIdu32Unused; a client reads nothing here.
sightRadiusf32How far the region shows the map around it, in world units, zero or more. Zero takes the unit’s own sight radius, followed as it changes, or a default where it has none.
unitu32The unit the region follows. A client ignores the message where it does not know the unit.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero or less, so one that starts at zero or less goes at its first count.
markeru32The region’s id, which RegionRemoved names; zero has the client pick one of its own. A region that matches one the client holds in kind, sightRadius, the first three bits of does, extra, otherExtra and unit only renews that one’s lifetime; the id is not compared.
does4-byte bitsWhat the region does.
does.flagbit 0Where kind is 2 and this bit is set, a client also sets does.second. The region shows the map whether or not it is set.
does.secondbit 1Kept with the region; a client also sets it where kind is 2 and flag is set. It changes nothing a client shows.
does.unusedbit 2 to 31Its value has no effect, because a client always sets this bit itself; a server writes zero.
extrau32Kept with the region; it changes nothing a client shows. A server writes zero.
otherExtrau32A region sent again with the same value is taken as the one already shown; what else it names is not recorded. A server sends zero.
Vectors (1)

one-on-1-0-0-126

In 1.0.0.128–1.0.0.129

Command 38 on events, sent by the server, reliable.

A region matching one the client holds in view, sightRadius, the first three bits of does, marker, sightFrom and unit only gives that one the new lifetime.

FieldTypeWhat it is
kindu32What sort of region it is. Where it is 2, the region belongs to the client clientId names; what other values mean is not recorded.
clientIdu32Unused; a client reads nothing here.
sightRadiusf32How far the region shows the map around it, in world units. Zero takes the unit’s own sight radius, or a default where it has none.
unitu32The unit the region follows. A client takes the region even where it does not hold the unit.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero or less. Whether one that starts at zero or less is kept is not recorded.
markeru32The region’s id, which RegionRemoved names; 4294967295 has the client pick one of its own. A region sent again with the same id, kind and radius changes the one held rather than adding another.
does4-byte bitsWhat the region does.
does.flagbit 0What this changes on a client is not recorded.
does.secondbit 1A second choice a client keeps with the region; it also sets it itself where kind is 2 and the bit below it is set.
does.unusedbit 2 to 31Unused; a server writes zero.
extrau32Kept with the region as it stands; what it does is not recorded. A server writes zero.
otherExtrau32Kept the same way; a server writes zero.

RegionRemoved

What a server sends to take away a region RegionAdded or RegionAttached placed. The header names no object: a server writes zero.

Definition.

In 1.0.0.25–1.0.0.62

Command 84 on events, sent by the server, reliable.

FieldTypeWhat it is
regionu32The region to take away, by the id RegionAdded or RegionAttached gave it. A client takes away every region it holds under that id.
Vectors (1)

one-on-1-0-0-61

In 1.0.0.63–1.0.0.81

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.63–1.0.0.7390
1.0.0.74–1.0.0.8191
FieldTypeWhat it is
regionu32The region to take away, by the name RegionAdded gave it.
Vectors (3)

one-on-1-0-0-72, one-on-1-0-0-75, one-on-1-0-0-81

In 1.0.0.82–1.0.0.96

Command 95 on events, sent by the server, reliable.

FieldTypeWhat it is
regionu32The region to take away, by the id RegionAdded or RegionAttached gave it. A client removes every region holding that id.
Vectors (1)

one-on-1-0-0-96

In 1.0.0.97–1.0.0.129

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.97–1.0.0.10296
1.0.0.103–1.0.0.10697
1.0.0.107–1.0.0.10898
1.0.0.10999
1.0.0.110–1.0.0.11653
1.0.0.117–1.0.0.11854
1.0.0.119–1.0.0.12355
1.0.0.124–1.0.0.12956
FieldTypeWhat it is
regionu32The region to take away, by the name RegionAdded gave it.
Vectors (8)

one-on-1-0-0-99, one-on-1-0-0-106, one-on-1-0-0-108, one-on-1-0-0-109, one-on-1-0-0-116, one-on-1-0-0-117, one-on-1-0-0-123, removed-on-1-0-0-126

FogSet

What a server sends to turn the drawing of the fog of war on or off. It changes only what is drawn. The header carries zero.

Definition.

In 1.0.0.98–1.0.0.103

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.98–1.0.0.102135
1.0.0.103137

A client turns its fog of war on.

No body.

Vectors (2)

one-on-1-0-0-99, one-on-1-0-0-103

In 1.0.0.104–1.0.0.129

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.104–1.0.0.106137
1.0.0.107–1.0.0.108138
1.0.0.109139
1.0.0.110171
1.0.0.111–1.0.0.116172
1.0.0.117–1.0.0.118173
1.0.0.119–1.0.0.123174
1.0.0.124178
1.0.0.125179
1.0.0.126–1.0.0.129180
FieldTypeWhat it is
shownu8Nonzero turns the fog of war on; zero turns it off.
Vectors (10)

one-on-1-0-0-106, one-on-1-0-0-108, one-on-1-0-0-109, one-on-1-0-0-110, one-on-1-0-0-116, one-on-1-0-0-117, one-on-1-0-0-123, one-on-1-0-0-124, one-on-1-0-0-125, drawn-on-1-0-0-126

FogToggled

What a server sends to turn the drawing of the fog of war off where it is on, or on where it is off. It changes only what is drawn: what can be seen is still what a server sends. It carries nothing of its own. The header carries zero.

Definition.

In every range of this book

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
1.0.0.25–1.0.0.62125
1.0.0.63–1.0.0.73128
1.0.0.74–1.0.0.81129
1.0.0.82–1.0.0.96133
1.0.0.97–1.0.0.102134
1.0.0.103–1.0.0.106136
1.0.0.107–1.0.0.108137
1.0.0.109138
1.0.0.110123
1.0.0.111–1.0.0.116124
1.0.0.117–1.0.0.118125
1.0.0.119–1.0.0.123126
1.0.0.124–1.0.0.129130

No body.

Vectors (14)

one-on-1-0-0-61, one-on-1-0-0-72, one-on-1-0-0-75, one-on-1-0-0-81, one-on-1-0-0-96, one-on-1-0-0-99, one-on-1-0-0-106, one-on-1-0-0-108, one-on-1-0-0-109, one-on-1-0-0-110, one-on-1-0-0-116, one-on-1-0-0-117, one-on-1-0-0-123, toggled-on-1-0-0-126