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

Communication

Chat, pings, emotes, and the sound and music a server can drive.

Chat

Players chat with Chat, which carries a line to everyone or to a side. A server puts a line of its own in a client’s chat with SystemMessage. A server can limit how many more lines a player can send with ChatAllowance.

Pings and emotes

A client marks a point on the map with MapPing, and a server shows the ping to everyone meant to see it with PingPlaced. A client asks to play an emote with PlayEmote, and a server shows it with EmotePlayed. A server can also tell clients of a voice command a champion gave (VoiceCommand) and of an emote a champion played for the moment (ContextEmote).

Sound and music

A server can play a sound once (SoundPlayed) or a voice event (VoiceEvent), which a client can report done with VoiceEventDone. A server can also set a champion’s skin music (ThemeMusic), drive the music (MusicCue), mute or unmute a kind of sound (VolumeMuted) and fade sound effects out (FadeSounds).

Where a VoiceEvent asks for an answer, a client sends VoiceEventDone once it has played the event.

In 1.0.0.25–1.0.0.96

A client never answers a VoiceEvent it cannot play.

In 1.0.0.126–1.0.0.129

A client answers a VoiceEvent it cannot play at once.

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

Chat

Text one player sends the others during a match. Messages players exchange outside a match do not travel on this connection at all.

Definition.

In every range of this book

Command 0 on chat, sent by either side, reliable.

A line of chat. A client sends one as its player says something, and shows one a server sends in its chat box.

FieldTypeWhat it is
speakeru32The client id the line is from. A client sends its own. From a server, a client shows the line with the name of the player holding that client id, coloured for whether that player is on its own side, and with no name for a client id nobody holds; 4294967295 shows the whole line with no name and no tag. A client does not show a line from a player its own player has ignored or muted.
audienceu321 for the speaker’s side alone, which a client shows without a tag; any other value from a server is shown tagged as said to everyone. A client sends 0 where its player began the line with the all-chat prefix, which it leaves out of the text, and 1 otherwise. Values: 0 everyone, 1 team.
textLengthu32The length of the text in bytes, without the byte that ends it. Its value changes nothing a client does.
texttext, sized by textLengthThe line; a client sends at most 511 bytes of it, and reads it up to the zero byte that ends it.
terminatorbytes, 1A zero byte closing the text.
Vectors (2)

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

MapPing

What a client sends to mark a point on the map for the others. The header names no object: it carries zero.

Definition.

In 1.0.0.25–1.0.0.95

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

A client also sends it from the alert button on its HUD, naming its champion’s own place and writing nothing in particular where the target goes.

FieldTypeWhat it is
xf32Where on the map, along one ground axis, in world units.
yf32The height of the place pinged, in world units.
zf32Where on the map, along the other ground axis, in world units.
targetu32A network object the mark is on, or zero where it is on open ground.
Vectors (2)

one-on-1-0-0-75, one-on-1-0-0-87

In 1.0.0.96–1.0.0.118

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

BuildsCommand
1.0.0.96–1.0.0.10925
1.0.0.110–1.0.0.11685
1.0.0.117–1.0.0.11886
FieldTypeWhat it is
xf32Where on the map, along one ground axis, in world units.
yf32The height of the place pinged, in world units.
zf32Where on the map, along the other ground axis, in world units.
targetu32A network object the mark is on, or zero where it is on open ground.
Vectors (3)

one-on-1-0-0-109, one-on-1-0-0-116, one-on-1-0-0-117

In 1.0.0.119–1.0.0.122

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

FieldTypeWhat it is
xf32Where on the map, along one ground axis, in world units.
yf32The height of the place pinged, in world units.
zf32Where on the map, along the other ground axis, in world units.
targetu32A network object the mark is on, or zero where it is on open ground.
unsetbytes, 1A client writes nothing in particular here.
Vectors (2)

one-on-1-0-0-119, one-on-1-0-0-120

In 1.0.0.123

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

FieldTypeWhat it is
xf32Where on the map, along one ground axis, in world units.
yf32The height of the place pinged, in world units.
zf32Where on the map, along the other ground axis, in world units.
targetu32A network object the mark is on, or zero where it is on open ground.
how1-byte bitsWhich mark it is.
how.kindbit 0 to 3Which mark it is. A client sends any of the seven below, and 1 where the mark shows a direction of attack.
how.unsetbit 4 to 7A client writes nothing in particular here.
Vectors (1)

here-on-1-0-0-123

In 1.0.0.124–1.0.0.127

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

FieldTypeWhat it is
xf32Where on the map, along one ground axis, in world units.
yf32The height of the place pinged, in world units.
zf32Where on the map, along the other ground axis, in world units.
targetu32A network object the mark is on, or zero where it is on open ground.
kindu8Which mark it is. A client sends any of the seven below, and 1 where the mark shows a direction of attack. It writes only the low four bits; the high four carry no meaning. Values: 0 here, 1 attackDirection, 2 danger, 3 targetUnaccountedFor, 4 onMyWay, 5 fallBack, 6 comeHere.
Vectors (1)

on-open-ground-on-1-0-0-126

In 1.0.0.128–1.0.0.129

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

FieldTypeWhat it is
xf32Where on the map, along one ground axis, in world units.
yf32The height of the place pinged.
zf32Where on the map, along the other ground axis, in world units.
targetu32A network object the mark is on, or zero where it is on open ground.
kindu8Which mark it is. A client sends any of the seven below, and 1 where the mark shows a direction of attack. Values: 0 here, 1 attackDirection, 2 danger, 3 targetUnaccountedFor, 4 onMyWay, 5 fallBack, 6 comeHere.

PingPlaced

What a server sends to show a ping on the map to everyone meant to see it.

Definition.

In 1.0.0.25–1.0.0.103

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

Where target is a unit it holds, of a kind that takes notices, a client shows a notice for it, but not again for the next ping on the same target; it keeps the last target of each side apart. The header names the champion that placed the ping, as source does.

FieldTypeWhat it is
atXf32Where the ping sits, along one ground axis, in world units.
atYf32Its height, in world units. A client does not use it to place the ping.
atZf32Where it sits, along the other, in world units.
targetu32The unit pinged, or zero where a place was pinged instead.
sourceu32The unit that placed it.
Vectors (2)

one-on-1-0-0-75, one-on-1-0-0-103

In 1.0.0.104–1.0.0.118

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

BuildsCommand
1.0.0.104–1.0.0.10926
1.0.0.110–1.0.0.11666
1.0.0.117–1.0.0.11867

A client drops the message where the player who placed it is muted. Where target is a unit it can name, it shows a notice for it. The header names the champion that placed the ping, as source does.

FieldTypeWhat it is
atXf32Where the ping sits, along one ground axis, in world units.
atYf32Its height, in world units. A client does not use it to place the ping.
atZf32Where it sits, along the other, in world units.
targetu32The unit pinged, or zero where a place was pinged instead.
sourceu32The unit that placed it.
how1-byte bits
how.playSoundbit 0Set where the client plays a sound for it.
how.showInChatbit 1Set where the client writes a line about it.
how.unusedbit 2 to 7Unused; a server writes zero.
Vectors (3)

one-on-1-0-0-109, one-on-1-0-0-116, one-on-1-0-0-117

In 1.0.0.119–1.0.0.122

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

A client drops the message where the player who placed it is muted. Where target is a unit it can name, it shows a notice for it. The header names the champion that placed the ping, as source does.

FieldTypeWhat it is
atXf32Where the ping sits, along one ground axis, in world units.
atYf32Its height, in world units. A client does not use it to place the ping.
atZf32Where it sits, along the other, in world units.
targetu32The unit pinged, or zero where a place was pinged instead.
sourceu32The unit that placed it.
how1-byte bits
how.unusedLowbit 0 to 3A client reads nothing here. A server writes zero.
how.playSoundbit 4Set where the client plays a sound for it.
how.showInChatbit 5Set where the client writes a line about it.
how.unusedbit 6 to 7Unused; a server writes zero.
Vectors (1)

one-on-1-0-0-122

In 1.0.0.123–1.0.0.127

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

BuildsCommand
1.0.0.12368
1.0.0.124–1.0.0.12770

A client drops the whole message where category is past its own list of categories. The header names the champion that placed the ping, as source does.

FieldTypeWhat it is
atXf32Where the ping sits, along one ground axis, in world units.
atYf32Its height, in world units. A client does not use it to place the ping.
atZf32Where it sits, along the other, in world units.
targetu32The unit pinged, or zero where a place was pinged instead.
sourceu32The unit that placed it.
how1-byte bits
how.categorybit 0 to 3Which sort of ping.
how.playSoundbit 4Set where the client plays a sound for it. A client plays one only where category is 0 or 1.
how.showInChatbit 5Set where the client writes a line about it.
how.throttledbit 6Set where the player is pinging too often: a client places no ping, plays nothing and announces nothing, and only writes a notice in its own chat.
how.unusedbit 7Unused; a server writes zero.
Vectors (2)

one-on-1-0-0-123, on-open-ground-on-1-0-0-126

In 1.0.0.128–1.0.0.129

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

A client drops the whole message where category is past its own list of categories. The header names the champion that placed the ping, as source does.

FieldTypeWhat it is
atXf32Where the ping sits, along one ground axis, in world units.
atYf32The height of the place, as a client shows it.
atZf32Where it sits, along the other, in world units.
targetu32The unit pinged, or zero where a place was pinged instead.
sourceu32The unit that placed it.
how1-byte bits
how.categorybit 0 to 3Which sort of ping.
how.playSoundbit 4Set where the client plays a sound for it.
how.showInChatbit 5Set where the client writes a line about it.
how.throttledbit 6Set where the player is pinging too often: a client places no ping, plays nothing and announces nothing, and only writes a notice in its own chat.
how.unusedbit 7Unused; a server writes zero.

PlayEmote

What a client sends to play an emote. The header names the sender’s champion.

Definition.

In 1.0.0.25–1.0.0.127

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

BuildsCommand
1.0.0.25–1.0.0.10910
1.0.0.110–1.0.0.11672
1.0.0.117–1.0.0.11873
1.0.0.119–1.0.0.12374
1.0.0.124–1.0.0.12776
FieldTypeWhat it is
emoteu32Which emote, by its place in the client’s list. A client sends nothing where no emote matches.
Vectors (6)

one-on-1-0-0-75, 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-126

In 1.0.0.128–1.0.0.129

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

FieldTypeWhat it is
emoteu32Which emote, by its place in the client’s list; one past the list plays nothing.

EmotePlayed

What a server sends to say a unit played an emote. The header names the champion playing the emote.

Definition.

In 1.0.0.25–1.0.0.109

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

FieldTypeWhat it is
emoteu32Which emote, by its place in the client’s list; any value at or past the end of the list plays nothing.
Vectors (2)

one-on-1-0-0-75, one-on-1-0-0-109

In 1.0.0.110–1.0.0.123

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

BuildsCommand
1.0.0.110–1.0.0.11668
1.0.0.117–1.0.0.11869
1.0.0.119–1.0.0.12370
FieldTypeWhat it is
emoteu32Which emote, by its place in the client’s list; one past the list plays nothing.
Vectors (3)

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

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

FieldTypeWhat it is
emoteu32Which emote, by its place in the client’s list; a value at or past the end of the list plays nothing.
Vectors (1)

one-on-1-0-0-126

VoiceEvent

What a server sends to play a voice event. The header carries zero.

Definition.

In 1.0.0.25–1.0.0.97

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

BuildsCommand
1.0.0.25–1.0.0.62131
1.0.0.63–1.0.0.73134
1.0.0.74–1.0.0.81135
1.0.0.82–1.0.0.96139
1.0.0.97140
FieldTypeWhat it is
eventtext, 64 bytesThe event’s name. A client sends no VoiceEventDone for a name that names no event it holds.
callbacku8Bit 0 set asks the client to send VoiceEventDone once the event has finished playing.
Vectors (6)

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-97

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.102141
1.0.0.103143
FieldTypeWhat it is
eventtext, 64 bytesThe event’s name. A client sends no VoiceEventDone for a name that names no event it holds.
callbacku8Bit 0 set asks the client to send VoiceEventDone once the event has finished playing. A client sends it at once, whatever this holds, where its audio is not set up.
Vectors (2)

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

In 1.0.0.104–1.0.0.123

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

BuildsCommand
1.0.0.104–1.0.0.106148
1.0.0.107–1.0.0.108149
1.0.0.109150
1.0.0.110118
1.0.0.111–1.0.0.116119
1.0.0.117–1.0.0.118120
1.0.0.119–1.0.0.123121
FieldTypeWhat it is
foldertext, 64 bytesThe event’s folder. It has no effect where kind is 1.
eventtext, 64 bytesThe event’s name; for kind 1, the conversation’s.
callbacku8Nonzero asks the client to send VoiceEventDone once the event has played. A client sends it at once where it cannot play the event, whatever this holds.
handleu32A number a client returns in VoiceEventDone.
Vectors (7)

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 125 on events, sent by the server, reliable.

FieldTypeWhat it is
foldertext, 64 bytesThe event’s folder.
eventtext, 64 bytesThe event’s name.
callbacku8Nonzero asks the client to send VoiceEventDone once the event has played. A client sends it at once where it cannot play the event, whatever this holds.
handleu32A number a client returns in VoiceEventDone.
Vectors (1)

asking-on-1-0-0-126

In 1.0.0.128–1.0.0.129

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

FieldTypeWhat it is
foldertext, 64 bytesThe event’s folder. It has no effect where kind is 1.
eventtext, 64 bytesThe event’s name; for kind 1, the conversation’s.
callbacku8For kind 0, nonzero asks the client to send VoiceEventDone once the event has played. A client sends it at once where it cannot play the event, whatever this holds.
handleu32For kind 0, a number a client returns in VoiceEventDone; for kind 1, the champion.

VoiceEventDone

What a client sends once a voice event (VoiceEvent) that asked for it has played. The header carries zero.

Definition.

In 1.0.0.25–1.0.0.73

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

A client names no event: the message is its header alone. It sends none for an event with an empty name or one it does not know.

No body.

Vectors (1)

one-on-1-0-0-72

In 1.0.0.74–1.0.0.81

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

A client names no event: the message is its header alone. It answers only a voice event of kind 0, and a client sends it at once where it could not play the event.

No body.

Vectors (2)

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

In 1.0.0.82–1.0.0.96

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

A client names no event: the message is its header alone. A client sends it only once the event has finished playing; where it cannot find the event, or the name is empty, it sends nothing.

No body.

Vectors (1)

one-on-1-0-0-96

In 1.0.0.97–1.0.0.103

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

BuildsCommand
1.0.0.97168
1.0.0.98–1.0.0.102169
1.0.0.103171

A client names no event: the message is its header alone. It answers only a voice event of kind 0, and a client sends it at once where it could not play the event.

No body.

Vectors (3)

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

In 1.0.0.104–1.0.0.109

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

BuildsCommand
1.0.0.104–1.0.0.106177
1.0.0.107–1.0.0.108178
1.0.0.109179

It answers only a voice event of kind 0, and a client sends it at once where it could not play the event.

FieldTypeWhat it is
handleu32The number the VoiceEvent carried.
Vectors (3)

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

In 1.0.0.110–1.0.0.129

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

A client sends it at once where it could not play the event.

FieldTypeWhat it is
handleu32The number the VoiceEvent carried.
Vectors (1)

one-on-1-0-0-126

MusicCue

What a server sends to drive the music a client plays.

Definition.

In 1.0.0.124–1.0.0.129

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

BuildsCommand
1.0.0.124227
1.0.0.125228
1.0.0.126–1.0.0.129229
FieldTypeWhat it is
cueu8What to do. A client takes any other value and does nothing. Values: 0 prepare, 1 begin, 2 end.
eventu32Which cue or event.
Vectors (3)

begin-on-1-0-0-124, begin-on-1-0-0-125, one-on-1-0-0-126

VolumeMuted

What a server sends to mute or unmute one kind of sound. The header carries zero.

Definition.

In 1.0.0.25–1.0.0.110

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

BuildsCommand
1.0.0.25–1.0.0.73167
1.0.0.74–1.0.0.81168
1.0.0.82–1.0.0.96172
1.0.0.97173
1.0.0.98–1.0.0.102174
1.0.0.103176
1.0.0.104–1.0.0.106182
1.0.0.107–1.0.0.108183
1.0.0.109184
1.0.0.11040
FieldTypeWhat it is
categoryu8Which kind. A larger value than 6 has no defined effect. Values: 0 all, 1 music, 2 effects, 3 announcer, 4 unitResponses, 5 environment, 6 mainEffects.
state1-byte bitsWhether it is muted.
state.mutedbit 0Set to mute, clear to unmute.
state.unusedbit 1 to 7Unused; a server writes zero.
Vectors (11)

music-on-1-0-0-72, music-on-1-0-0-75, music-on-1-0-0-81, music-on-1-0-0-96, music-on-1-0-0-97, music-on-1-0-0-99, music-on-1-0-0-103, music-on-1-0-0-106, music-on-1-0-0-108, music-on-1-0-0-109, music-on-1-0-0-110

In 1.0.0.111–1.0.0.129

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

BuildsCommand
1.0.0.111–1.0.0.12340
1.0.0.124–1.0.0.12941
FieldTypeWhat it is
categoryu8Which kind. A client ignores the message from 7 up. Values: 0 all, 1 music, 2 effects, 3 announcer, 4 unitResponses, 5 environment, 6 mainEffects.
state1-byte bitsWhether it is muted.
state.mutedbit 0Set to mute, clear to unmute.
state.unusedbit 1 to 7Unused; a server writes zero.
Vectors (2)

music-on-1-0-0-123, music-muted-on-1-0-0-126

FadeSounds

What a server sends to fade a client’s sound effects out. The header carries zero.

Definition.

In 1.0.0.25–1.0.0.127

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

BuildsCommand
1.0.0.25–1.0.0.73175
1.0.0.74–1.0.0.81176
1.0.0.82–1.0.0.96180
1.0.0.97181
1.0.0.98–1.0.0.102182
1.0.0.103184
1.0.0.104–1.0.0.106190
1.0.0.107–1.0.0.108191
1.0.0.109192
1.0.0.110–1.0.0.11693
1.0.0.117–1.0.0.11894
1.0.0.119–1.0.0.12395
1.0.0.124–1.0.0.12798
FieldTypeWhat it is
timef32How long the fade takes, in seconds on the match clock; a client fades its main sound effects out over that time.
Vectors (14)

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-97, one-on-1-0-0-99, one-on-1-0-0-103, 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, one-second-on-1-0-0-126

In 1.0.0.128–1.0.0.129

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

FieldTypeWhat it is
timef32How long the sounds take to fade; the unit is not recorded.

UnitSpoke

What a client sends when a unit says something on its screen. A server need do nothing with it. The header names the unit speaking.

Definition.

In 1.0.0.25–1.0.0.109

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

FieldTypeWhat it is
unitu32A value the client takes from the unit that speaks; what it names is not recorded.
unknownf32A client writes 1073741824.
unknownToou32A client writes zero.
kindu80 for text a client sends on a script’s behalf. 1 for one of the client’s own error texts, each distinct text sent once per session.
unusedu8A client writes zero.
texttext, ended by a zero byteWhat the unit says, ended by a zero byte; the two take at most 1024 bytes.
Vectors (2)

one-on-1-0-0-75, one-on-1-0-0-109

In 1.0.0.110–1.0.0.129

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

FieldTypeWhat it is
unitu32A value the client takes from the unit that speaks; what it names is not recorded.
unknownf32A client writes 1073741824.
unknownToou32A client writes zero.
kindu80 for a unit’s speech; a client writes 1 where it sends the text of a script error it caught, under the first unit it holds that can carry it.
unusedu8A client writes zero.
texttext, ended by a zero byteWhat the unit says, ended by a zero byte; the two take at most 1024 bytes.