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

The interface

What a client shows its player besides the field: the view and camera, input locks, the minimap and text over the screen. Tips, quests, highlights and the tutorial are in Tutorial and guidance.

The view

A client reports where its view sits and which way it faces with Camera, which a server answers (see Ordering). A client tells a server what it has selected with SelectObject, and as it locks its view to its champion or releases it with CameraLock.

A server carries a client’s view from one place to another with MoveCamera. A server can also lock or free a client’s camera with CameraLockSet, which the client answers with CameraLock except while it holds its camera itself, and set a point a player’s view keeps to with CameraBehaviour.

In 4.20

A client reports a view drawn further out than it allows with ZoomReport; a server MAY ignore it.

Input

A server locks or unlocks kinds of input, such as movement, spells or the shop, with InputLock or InputLockToggled.

The minimap and text on screen

MinimapIcon changes what a client draws for a unit on its map. A server can float text over a unit (FloatingText, UnitText), warn a player who seems to be away (AfkWarning), and take the interface down (HudDisabled).

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).

Camera

What a client sends to say where its view sits and which way it faces. Each report is sent once where a server answers it, and again and again where a server does not. The header names no object: it carries zero.

Definition.

In every range of this book

Carried on requests, sent by the client, unreliable, under these commands:

BuildsCommand
4.1–4.1045
4.11–4.2046
FieldTypeWhat it is
positionXf32
positionYf32
positionZf32
directionXf32
directionYf32
directionZf32
clientIdu32The client id of the client the view belongs to.
syncIdu8Names this report, counting up as the view moves. A client sends the report again until a server returns the name.
Vectors (4)

looking-down-on-4-10, one-on-4-10, one-on-4-17, looking-down-on-4-20

SelectObject

What a client sends as the object it has selected changes. The header names no object: it carries zero.

Definition.

In every range of this book

Carried on requests, sent by the client, reliable, under these commands:

BuildsCommand
4.1–4.10174
4.11–4.20175
FieldTypeWhat it is
clientIdu32The client id of the client selecting: the one its Registered gave it. Zero is a client id like any other rather than an absence.
selectedu32The network object now selected, or zero where none is.
Vectors (4)

one-on-4-10, one-on-4-17, an-object-on-4-20, nothing-on-4-20

CameraLock

What a client sends as it locks its view to a unit or releases it. The header names no object: it carries zero.

Definition.

In 4.1–4.17

Carried on requests, sent by the client, reliable, under these commands:

BuildsCommand
4.1–4.10128
4.11–4.17129

A client sends it whenever its lock changes: by the player, or as the game forces a lock or lifts one. It sends none while playing a replay.

FieldTypeWhat it is
state1-byte bits
state.lockedbit 0Set while the view follows a unit.
state.unusedbit 1 to 7Unused; a client writes zero.
clientIdu32The client id of the client locking. Zero is a client id like any other rather than an absence.
Vectors (2)

one-on-4-10, one-on-4-17

In 4.18–4.20

Command 129 on requests, sent by the client, reliable.

FieldTypeWhat it is
state1-byte bits
state.lockedbit 0Set while the view follows a unit.
state.unusedbit 1 to 7Unused; a client may leave any value here, and a server ignores it.
clientIdu32The client id of the client locking. Zero is a client id like any other rather than an absence.
Vectors (2)

locked-on-4-20, released-on-4-20

MoveCamera

What a server sends to carry a client’s view from one place to another. The header names the champion of the player it is sent to.

Definition.

In 4.1–4.17

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

BuildsCommand
4.1–4.1036
4.11–4.1737

Where the header names a champion, only the client whose own champion it is moves its view; others take the message and do nothing. Where the header carries zero, a client moves its view to to over travelTime, how and from having no effect.

FieldTypeWhat it is
how1-byte bits
how.fromWhereItIsbit 0Set to start from where the camera stands, fromX, fromY and fromZ having no effect; clear to start from them.
how.unused1bit 1Unused; a server writes zero.
how.unusedbit 2 to 7Unused; a server writes zero.
fromXf32Where the view starts, along one ground axis, in world units.
fromYf32Where the view starts, in height, in world units.
fromZf32Where the view starts, along the other ground axis, in world units.
toXf32Where the view ends, along one ground axis, in world units.
toYf32Where the view ends, in height, in world units.
toZf32Where the view ends, along the other ground axis, in world units.
travelTimef32How long the view takes to get there, in seconds. The view moves at an even speed over the distance along the ground.
Vectors (2)

one-on-4-10, one-on-4-17

In 4.18–4.20

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

FieldTypeWhat it is
how1-byte bits
how.fromWhereItIsbit 0Set where the view starts from where it already is rather than from the place below.
how.unlockbit 1Set where the view is left free once it arrives.
how.unusedbit 2 to 7Unused; a server writes zero.
fromXf32Where the view starts, along one ground axis, in world units.
fromYf32Where the view starts, in height, in world units.
fromZf32Where the view starts, along the other ground axis, in world units.
toXf32Where the view ends, along one ground axis, in world units.
toYf32Where the view ends, in height, in world units.
toZf32Where the view ends, along the other ground axis, in world units.
travelTimef32How long the view takes to get there, in seconds. The view moves at an even speed over the distance along the ground.
Vectors (2)

another-on-4-20, one-on-4-20

CameraLockSet

What a server sends to lock the camera to the champion or free it. A client answers with CameraLock. The header names no object: a server writes zero.

Definition.

In every range of this book

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

BuildsCommand
4.1–4.10119
4.11–4.20120

A client ignores the message while something of its own holds the camera. It sends no CameraLock while playing a replay.

FieldTypeWhat it is
state1-byte bitsWhether the camera is locked.
state.lockedbit 0Set to lock the camera, clear to free it.
state.unusedbit 1 to 7Unused; a server writes zero.
Vectors (3)

one-on-4-10, one-on-4-17, one-on-4-20

CameraBehaviour

What a server sends to set a point a champion’s player’s view keeps to. The header names the champion.

Definition.

In every range of this book

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

BuildsCommand
4.1–4.10114
4.11–4.20115
FieldTypeWhat it is
xf32Along one ground axis, in world units.
yf32In height, in world units.
zf32Along the other ground axis, in world units.
Vectors (4)

another-on-4-10, one-on-4-10, one-on-4-17, one-on-4-20

ZoomReport

What a client sends when it notices it has drawn its view further out than it allows itself. It sends one and no more, and sends none while watching a match back. The header names the sender’s champion.

Definition.

In 4.20

Command 125 on requests, sent by the client, reliable.

FieldTypeWhat it is
signalu32What was noticed. A client sends zero.
flagsu32How it was noticed. A client sends zero.
Vectors (1)

one-on-4-20

InputLock

What a server sends to lock or unlock a kind of input on a client. The header carries zero.

Definition.

In every range of this book

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

BuildsCommand
4.1–4.10131
4.11–4.20132

A client ignores it while playing a replay.

FieldTypeWhat it is
categoryu32Which input, as a set of bits. Values: 1 cameraLocking, 2 movement, 4 abilities, 8 summonerSpells, 16 shop, 32 chat, 64 minimapMovement, 128 cameraMovement.
state1-byte bitsWhether to lock.
state.lockedbit 0Set to lock, clear to unlock.
state.unusedbit 1 to 7Unused; a server writes zero.
Vectors (4)

another-on-4-10, one-on-4-10, one-on-4-17, one-on-4-20

InputLockToggled

What a server sends to turn kinds of input off where they are on, or on where they are off. The header carries zero.

Definition.

In every range of this book

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

BuildsCommand
4.1–4.10154
4.11–4.20155

A client acts on the change at once only where exactly one lock is set; any other value still changes what is locked, and takes effect as the player next tries.

FieldTypeWhat it is
locksu32Each lock set flips. Values: 1 cameraLock, 2 movement, 4 spells, 8 summonerSpells, 16 shop, 32 chat, 64 minimapMovement, 128 cameraMovement.
Vectors (3)

one-on-4-10, one-on-4-17, one-on-4-20

MinimapIcon

What a server sends to change what a client draws for a unit on its map. The header names no object: it carries zero.

Definition.

In 4.1–4.13

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

BuildsCommand
4.1–4.10215
4.11–4.13216

A client does nothing unless unit is a unit it holds that can be attacked.

FieldTypeWhat it is
unitu32The unit this is about.
changeIconu81 to replace the unit’s minimap icon with icon; 0 leaves it, and icon has no effect.
icontext, 64 bytesThe name the client loads the mark under. Written out in full and padded with zero bytes to the width above.
changeBorderu81 to replace the unit’s ring with border, and what it does with borderScript; 0 leaves both, and neither has any effect.
bordertext, 64 bytesThe name the client loads the ring around the mark under, written and padded as above.
Vectors (2)

one-on-4-10, one-on-4-11

In 4.14–4.17

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

A client does nothing unless unit is a unit it holds that can be attacked.

FieldTypeWhat it is
unitu32The unit this is about.
changeIconu81 to replace the unit’s minimap icon with icon; 0 leaves it, and icon has no effect.
icontext, 64 bytesThe name the client loads the mark under. Written out in full and padded with zero bytes to the width above.
changeBorderu81 to replace the unit’s ring with border, and what it does with borderScript; 0 leaves both, and neither has any effect.
bordertext, 64 bytesThe name the client loads the ring around the mark under, written and padded as above.
borderScripttext, 64 bytesThe name the client loads the ring’s own doings under, written and padded as above.
Vectors (1)

one-on-4-17

In 4.18–4.20

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

FieldTypeWhat it is
unitu32The unit this is about.
changeIcon1-byte bits
changeIcon.changebit 0Set where the mark below replaces what the client draws.
changeIcon.unusedbit 1 to 7Unused; a server writes zero.
icontext, 64 bytesThe name the client loads the mark under. Written out in full and padded with zero bytes to the width above.
changeBorder1-byte bits
changeBorder.changebit 0Set where the ring below replaces what the client draws.
changeBorder.unusedbit 1 to 7Unused; a server writes zero.
bordertext, 64 bytesThe name the client loads the ring around the mark under, written and padded as above.
borderScripttext, 64 bytesThe name the client loads the ring’s own doings under, written and padded as above.
Vectors (2)

another-on-4-20, one-on-4-20

FloatingText

What a server sends to show text floating over a unit. The header names the unit.

Definition.

In every range of this book

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

FieldTypeWhat it is
delayf32Unused; a server writes 2.
sloti32Where the text goes. 0 floats it over the unit while the unit is in the client’s own view, the text looked up as a key into the client’s own text. 1 to 50 writes it, in colour, to that line of a debugging display, only where the unit is the one the player has selected. A client does nothing for any other value.
erroru8Nonzero has a client ignore the whole message.
colouru8The text’s colour on the debugging display; it has no effect for slot 0.
styleu32Which style of floating text.
lengthu32The text’s length in bytes, counting its zero byte.
texttext, sized by lengthThe text.
Vectors (2)

one-on-4-17, one-on-4-20

UnitText

What a server sends to float a line of the client’s own text over a unit, as combat text floats. A client shows it only where the unit is in its sight, and not while playing a replay. The header carries zero.

Definition.

In 4.1–4.13

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

FieldTypeWhat it is
unitu32The unit to float it over: one that can be damaged.
styleu8How the line looks, from 0 to 25. A client shows debug lines to nobody. Values: 0 invulnerable, 1 special, 2 heal, 3 manaHeal, 4 manaDamage, 5 dodge, 6 critical, 7 magicCritical, 8 experience, 9 gold, 10 level, 11 disable, 12 questReceived, 13 questComplete, 14 score, 15 physicalDamage, 16 magicDamage, 17 trueDamage, 18 enemyPhysicalDamage, 19 enemyMagicDamage, 20 enemyTrueDamage, 21 enemyCritical, 22 countdown, 23 onMyWay, 24 absorbed, 25 debug.
numberi32A number put into the text where it asks for one.
texttext, 128 bytesA key into the client’s own text. The text ends at its first zero byte, which falls within the field.
Vectors (1)

level-on-4-1

In 4.14–4.17

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

FieldTypeWhat it is
unitu32The unit to float it over: one that can be damaged.
styleu8How the line looks. Values: 0 invulnerable, 1 special, 2 heal, 3 manaHeal, 4 manaDamage, 5 dodge, 6 physicalCritical, 7 magicCritical, 8 trueCritical, 9 experience, 10 gold, 11 level, 12 disable, 13 questReceived, 14 questComplete, 15 score, 16 physicalDamage, 17 magicDamage, 18 trueDamage, 19 enemyPhysicalDamage, 20 enemyMagicDamage, 21 enemyTrueDamage, 22 enemyPhysicalCritical, 23 enemyMagicCritical, 24 enemyTrueCritical, 25 countdown, 26 onMyWay, 27 absorbed, 28 debug.
numberi32A number put into the text where it asks for one.
texttext, 128 bytesA key into the client’s own text. The text ends at its first zero byte, which falls within the field.
Vectors (1)

one-on-4-17

In 4.18–4.20

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

FieldTypeWhat it is
unitu32The unit to float it over: one that can be damaged.
styleu32How the line looks. Values: 0 invulnerable, 1 special, 2 heal, 3 manaHeal, 4 manaDamage, 5 dodge, 6 physicalCritical, 7 magicCritical, 8 trueCritical, 9 experience, 10 gold, 11 level, 12 disable, 13 questReceived, 14 questComplete, 15 score, 16 physicalDamage, 17 magicDamage, 18 trueDamage, 19 enemyPhysicalDamage, 20 enemyMagicDamage, 21 enemyTrueDamage, 22 enemyPhysicalCritical, 23 enemyMagicCritical, 24 enemyTrueCritical, 25 countdown, 26 onMyWay, 27 absorbed, 28 debug.
numberi32A number put into the text where it asks for one.
texttext, 128 bytesA key into the client’s own text. The text ends at its first zero byte, which falls within the field.
Vectors (1)

one-on-4-20

AfkWarning

What a server sends to warn the player that they seem to be away, in a popup with one button that only closes it. 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
4.1–4.10183
4.11–4.20184

No body.

Vectors (3)

one-on-4-10, one-on-4-17, one-on-4-20

HudDisabled

What a server sends to take down a client’s interface as the match ends. The header names no object: it carries zero.

Definition.

In every range of this book

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

BuildsCommand
4.1–4.10187
4.11–4.20188

No body.

Vectors (3)

one-on-4-10, one-on-4-17, one-on-4-20

CameraAck

What a server returns for a view report, naming the report it answers. A server names in the header the champion of the player it is sent to.

Definition.

In every range of this book

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

BuildsCommand
4.1–4.1043
4.11–4.2044
FieldTypeWhat it is
syncIdu8The name the report carried. A client sends the report again until this comes back.
Vectors (4)

another-on-4-10, one-on-4-10, one-on-4-17, one-on-4-20

FloatingTextOnMap

What a server sends to float text over a unit, to the clients that can see it. The header names the unit.

Definition.

In 4.20

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

FieldTypeWhat it is
delayf32Unused; a server writes 2.
sloti32Where the text goes. 0 floats it over the unit while the unit is in the client’s own view, the text looked up as a key into the client’s own text. 1 to 50 writes it, in colour, to that line of a debugging display, only where the unit is the one the player has selected. A client does nothing for any other value.
erroru8Nonzero has a client ignore the whole message.
colouru8The text’s colour on the debugging display; it has no effect for slot 0.
styleu32Which style of floating text.
lengthu32The text’s length in bytes, counting its zero byte.
texttext, sized by lengthThe text.
Vectors (1)

one-on-4-20