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 0.9.25.24–1.0.0.24
A client sends no
Camerawhile its camera is locked: a server that needs a client’s view reports frees its camera withCameraLockSet.
In 0.9.25.24–1.0.0.24
Cameranames one point, the one the view looks at, in place of where the view sits and which way it faces.
In 0.9.25.24–1.0.0.24
A client ignores
CameraLockSetthat arrives while it holds its camera itself, and answers nothing.
Input
A server locks or unlocks kinds of input, such as movement, spells or the
shop, with InputLock or InputLockToggled.
In 0.8.13.26–0.9.22.13
No message locks a client’s input, in either direction.
In 0.9.22.14–0.9.22.15
A server locks and unlocks input with
InputLockToggledalone. A client flips locks of its own too, and tells the server which withInputLocksFlipped.
In 0.9.22.16–0.9.25.35
A client locks and unlocks its own input too, and tells the server each time:
InputLocksFlippedfor the locks it flipped, as when a camera move a script drives starts and ends, andInputLockChangedfor the locks it set or cleared.
In 0.9.25.24–1.0.0.24
A client keeps every lock a message sets or clears, and later input obeys them, but it acts on a lock at once only where the message’s mask is exactly one of 1, 4, 8, 16, 32 or 128.
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.
In 0.8.13.26–0.9.25.23
Carried on requests, sent by the client, unreliable, under these commands:
| Builds | Command |
|---|---|
| 0.8.13.26–0.9.22.13 | 63 |
| 0.9.22.14–0.9.25.23 | 59 |
| Field | Type | What it is |
|---|---|---|
| atX | f32 | Where the view stands, along one ground axis. |
| atY | f32 | Its height. |
| atZ | f32 | Along the other ground axis. |
| facingX | f32 | The way it faces, along one ground axis. |
| facingY | f32 | The way it faces, in height. |
| facingZ | f32 | The way it faces, along the other ground axis. |
| clientId | u32 | The client id the sender holds: that of the client the view belongs to. |
| syncId | u8 | Names this report, counting up as the view moves. A client sends the report again until a server returns the name. |
Vectors (2)
In 0.9.25.24–1.0.0.24
Command 59 on requests, sent by the client, unreliable.
A client sends a new report each time its view moves more than 200 units, at most one every tenth of a second, and sends an unanswered one again after twice its ping, in seconds, plus 1/30 of a second. While its view is locked it sends none.
| Field | Type | What it is |
|---|---|---|
| lookAtX | f32 | The point the view looks at, along one ground axis: where it stands, plus 2000 units the way it faces. |
| lookAtY | f32 | Its height, taken the same way. |
| lookAtZ | f32 | Along the other ground axis, taken the same way. |
| clientId | u32 | The client id the sender holds: that of the client the view belongs to. |
| syncId | u8 | Names this report, counting up as the view moves and wrapping after 255. A client sends the report again until a server returns the name. |
SelectObject
What a client sends as the object it has selected changes. The header names no object: it carries zero.
In every range of this book
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 0.8.13.26–0.9.22.13 | 65 |
| 0.9.22.14–1.0.0.24 | 61 |
| Field | Type | What it is |
|---|---|---|
| clientId | u32 | The client id of the client selecting: the one its Registered gave it. Zero is a client id like any other rather than an absence. |
| selected | u32 | A client writes zero here. |
Vectors (1)
CameraLock
What a client sends as it locks its view to a unit or releases it. The header names no object: it carries zero.
In 0.8.13.26–0.9.22.13
Command 64 on requests, sent by the client, reliable.
A client sends it as its player sets the lock, carrying the new state; while a forced lock holds, the player’s setting is dropped. As the client’s champion dies, a forced lock starts and it sends 0; as the champion comes back, the lock lifts and it sends the state held before the death.
| Field | Type | What it is |
|---|---|---|
| state | 1-byte bits | |
| state.locked | bit 0 | Set while the view follows a unit. |
| state.unused | bit 1 to 7 | Unused; a client writes zero. |
| clientId | u32 | The client id of the client locking. Zero is a client id like any other rather than an absence. |
Vectors (1)
In 0.9.22.14–1.0.0.24
Command 60 on requests, sent by the client, reliable.
A client sends it on each CameraLockSet with state as that message carried it, all eight bits included, and also as its player sets the lock or the game forces a lock or lifts one. While a forced lock holds, a CameraLockSet or player setting is dropped. As a forced lock begins, a client keeps the state then in force and sends it as the lock lifts; a second forced lock during the first sends its own state and keeps nothing new.
| Field | Type | What it is |
|---|---|---|
| state | 1-byte bits | |
| state.locked | bit 0 | Set while the view follows a unit. |
| state.unused | bit 1 to 7 | As CameraLockSet carried them; zero in a report the client makes on its own. |
| clientId | u32 | The client id of the client locking. Zero is a client id like any other rather than an absence. |
Vectors (1)
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.
In 0.9.22.14–0.9.25.20
Command 131 on events, sent by the server, reliable.
Only the client whose own champion the header names moves its view; others, and every client where the header names no champion, take the message and do nothing.
| Field | Type | What it is |
|---|---|---|
| fromX | f32 | Where the view starts, along one ground axis, in world units. |
| fromY | f32 | Where the view starts, in height, in world units. |
| fromZ | f32 | Where the view starts, along the other ground axis, in world units. |
| toX | f32 | Where the view ends, along one ground axis, in world units. |
| toY | f32 | Where the view ends, in height, in world units. |
| toZ | f32 | Where the view ends, along the other ground axis, in world units. |
| travelTime | f32 | How long the view takes to get there, in seconds. The view moves at an even speed over the distance along the ground. |
Vectors (1)
In 0.9.25.21–0.9.25.35
Command 131 on events, sent by the server, reliable.
Only the client whose own champion the header names moves its view; others, and every client where the header names no champion, take the message and do nothing.
| Field | Type | What it is |
|---|---|---|
| how | 1-byte bits | How the view moves. |
| how.fromWhereItIs | bit 0 | Set to start from where the camera stands, fromX, fromY and fromZ having no effect; clear to start from them. |
| how.unused1 | bit 1 | Unused; a server writes zero. |
| how.unused | bit 2 to 7 | Unused; a server writes zero. |
| fromX | f32 | Where the view starts, along one ground axis, in world units. |
| fromY | f32 | Where the view starts, in height, in world units. |
| fromZ | f32 | Where the view starts, along the other ground axis, in world units. |
| toX | f32 | Where the view ends, along one ground axis, in world units. |
| toY | f32 | Where the view ends, in height, in world units. |
| toZ | f32 | Where the view ends, along the other ground axis, in world units. |
| travelTime | f32 | How long the view takes to get there, in seconds. The view moves at an even speed over the distance along the ground. |
Vectors (1)
In 0.9.25.36–1.0.0.24
Command 130 on events, sent by the server, reliable.
Only the client whose own champion the header names moves its view; others, and every client where the header names no champion, take the message and do nothing.
| Field | Type | What it is |
|---|---|---|
| how | 1-byte bits | How the view moves. |
| how.fromWhereItIs | bit 0 | Set to start from where the camera stands, fromX, fromY and fromZ having no effect; clear to start from them. |
| how.unused1 | bit 1 | Unused; a server writes zero. |
| how.unused | bit 2 to 7 | Unused; a server writes zero. |
| fromX | f32 | Where the view starts, along one ground axis, in world units. |
| fromY | f32 | Where the view starts, in height, in world units. |
| fromZ | f32 | Where the view starts, along the other ground axis, in world units. |
| toX | f32 | Where the view ends, along one ground axis, in world units. |
| toY | f32 | Where the view ends, in height, in world units. |
| toZ | f32 | Where the view ends, along the other ground axis, in world units. |
| travelTime | f32 | How long the view takes to get there, in seconds. The view moves at an even speed over the distance along the ground. A client ignores the message where it is zero or less. |
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.
In 0.9.22.14–0.9.25.35
Command 128 on events, sent by the server, reliable.
A client answers at once with CameraLock, returning the state byte as it arrived. While the game holds a forced lock, it ignores the message and sends nothing.
| Field | Type | What it is |
|---|---|---|
| locked | u8 | Nonzero to lock the camera, zero to free it; a client tests the whole byte, so any set bit locks it. |
Vectors (1)
In 0.9.25.36–1.0.0.24
Command 127 on events, sent by the server, reliable.
A client answers at once with CameraLock, returning the state byte as it arrived. While the game forces the view free, a client ignores the message and sends nothing for it, then or later.
| Field | Type | What it is |
|---|---|---|
| locked | u8 | Nonzero to lock the camera, zero to free it; a client tests the whole byte, so any set bit locks it. |
CameraBehaviour
What a server sends to set a point a champion’s player’s view keeps to. The header names the champion.
In every range of this book
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 0.8.13.26–0.9.22.13 | 97 |
| 0.9.22.14–1.0.0.24 | 94 |
Only the client whose own champion the header names applies it.
| Field | Type | What it is |
|---|---|---|
| x | f32 | Along one ground axis, in world units. |
| y | f32 | In height, in world units. |
| z | f32 | Along the other ground axis, in world units. |
Vectors (1)
InputLock
What a server sends to lock or unlock a kind of input on a client. The header carries zero.
In 0.9.22.16–1.0.0.24
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 0.9.22.16–0.9.25.35 | 149 |
| 0.9.25.36–1.0.0.24 | 147 |
| Field | Type | What it is |
|---|---|---|
| category | u32 | Which input, as a set of bits. Values: 1 cameraLocking, 2 movement, 4 abilities, 8 summonerSpells, 16 shop, 32 chat, 64 minimapMovement, 128 cameraMovement. |
| locked | u8 | Set to lock, clear to unlock. |
Vectors (1)
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.
In 0.9.22.14–0.9.25.35
Command 125 on events, sent by the server, reliable.
A client acts on the change at once only where locks is 1, 4, 8, 16, 32 or 128; any other value still changes what is locked, and takes effect as the player next tries.
| Field | Type | What it is |
|---|---|---|
| locks | u32 | Each lock set flips. Values: 1 cameraLock, 2 movement, 4 spells, 8 summonerSpells, 16 shop, 32 chat, 64 minimapMovement, 128 cameraMovement. |
Vectors (1)
In 0.9.25.36–1.0.0.24
Command 124 on events, sent by the server, reliable.
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.
| Field | Type | What it is |
|---|---|---|
| locks | u32 | Each lock set flips. Values: 1 cameraLock, 2 movement, 4 spells, 8 summonerSpells, 16 shop, 32 chat, 64 minimapMovement, 128 cameraMovement. |
InputLocksFlipped
What a client sends after flipping kinds of its own input, off where they were on and on where they were off: as a camera move a script drives starts and ends, and at other moments of its own. The header carries zero.
In 0.9.22.14–0.9.25.35
Command 124 on requests, sent by the client, reliable.
| Field | Type | What it is |
|---|---|---|
| locks | u32 | Each lock it flipped. A camera move flips cameraMovement. Values: 1 cameraLock, 2 movement, 4 spells, 8 summonerSpells, 16 shop, 32 chat, 64 minimapMovement, 128 cameraMovement. |
Vectors (1)
InputLockChanged
What a client sends after locking or unlocking kinds of its own input. The header carries zero.
In 0.9.22.16–0.9.25.35
Command 148 on requests, sent by the client, reliable.
| Field | Type | What it is |
|---|---|---|
| locks | u32 | Which input, as a set of bits. Values: 1 cameraLock, 2 movement, 4 spells, 8 summonerSpells, 16 shop, 32 chat, 64 minimapMovement, 128 cameraMovement. |
| locked | u8 | Set where it locked them, clear where it unlocked them. |
Vectors (1)
FloatingText
What a server sends to show text floating over a unit. The header names the unit.
In every range of this book
Command 30 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| unused | u32 | Unused; a server writes zero. |
| delay | f32 | Unused; a server writes zero. |
| slot | i32 | Where the text goes. 0 floats it over the unit while the unit is in the client’s own view, where the player’s floating-text settings allow. 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. |
| error | u8 | Nonzero has a client show the text on screen as a message for ten seconds, whatever slot holds, and float an error notice of its own over the unit, under the same view and settings as slot 0; it does nothing else with the message. |
| colour | u8 | The text’s colour on the debugging display; it has no effect for slot 0. |
| text | text, ended by a zero byte | The text, ended by a zero byte; the two take at most 1024 bytes. |
Vectors (1)
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.
In 0.9.22.14–1.0.0.24
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 0.9.22.14–0.9.25.35 | 146 |
| 0.9.25.36–1.0.0.24 | 145 |
No body.
Vectors (1)
HudDisabled
What a server sends to take down a client’s interface as the match ends. The header names no object: it carries zero.
In 0.9.25.36–1.0.0.24
Command 171 on events, sent by the server, reliable.
A client also opens its chat entry, as the chat key does, where chat is open to it.
No body.
Announcement
What a server sends to show one of a client’s own fixed announcements for five seconds.
In 0.8.13.26–0.9.22.13
Command 70 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| announcement | u32 | Which of the client’s announcements, -1 to 27. The text of each is the client’s own and is not recorded here. -1 shows a text that is none of the 28, and 5, 6, 20, 21 and 25 show only a placeholder; any other value has no defined effect. |
| unit | u32 | A unit whose name the announcement carries, or zero for an announcement that names none. A client shows nothing where it does not know the unit. |
Vectors (1)
In 0.9.22.14–1.0.0.24
Command 66 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| announcement | u32 | Which of the client’s announcements, -1 to 27. The text of each is the client’s own and is not recorded here. -1 shows a text that is none of the 28; any other value has no defined effect. |
| unit | u32 | A unit whose name the announcement carries, or zero for an announcement that names none. A client shows nothing where it does not know the unit. |
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.
In 0.8.13.26–0.9.22.13
Command 112 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| syncId | u8 | The name the report carried. A client sends the report again until this comes back. |
Vectors (1)
In 0.9.22.14–1.0.0.24
Command 110 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| syncId | u8 | The name the report carried. A client sends the report again until this comes back. It takes a value only where it is newer than the last it took, counting with wrap within 128 steps, and ignores any other. |