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.

In 4.1–4.19

A client shows how many lines ChatAllowance leaves its player.

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

In 4.1–4.19

A client shows no ping its server marks as throttled, and notes in its own chat that the player is pinging too often. VoiceCommand and ContextEmote change nothing a client shows.

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, or at once where it cannot play it.

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 4.1–4.17

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

FieldTypeWhat it is
clientIdu32The client id of the sender.
netIdu32The entity a receiving end attributes the text to where the seat does not name one. Where the seat names a speaker, that is what a receiving end uses instead.
localizedu8Whether the text is a phrase to show as it stands, or a key naming one the receiving end looks up and fills in from the parameters. Both ends send it clear.
audiencei32Who the message reaches. Values: 0 everyone, 1 team.
paramsLengthu32How many bytes of the run that follows carry meaning.
textLengthu32The length of the text, counted in bytes and excluding the byte that ends it. A 4.17 client sends at most 255 bytes of text. A client shows the text to its first zero byte.
paramsbytes, 32Thirty two bytes holding text that fills in a key, ended by a zero byte within them. The bytes after that zero byte carry no meaning, so two messages otherwise alike can differ in them.
texttext, sized by textLengthThe text, textLength bytes of it.
terminatorbytes, 1A zero byte closing the text.
Vectors (2)

another-on-4-17, one-on-4-17

In 4.18–4.20

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

FieldTypeWhat it is
clientIdu32The client id of the sender.
netIdu32The entity a receiving end attributes the text to where the seat does not name one. Where the seat names a speaker, that is what a receiving end uses instead.
localizedu8Whether the text is a phrase to show as it stands, or a key naming one the receiving end looks up and fills in from the parameters. Both ends send it clear.
audiencei32Who the message reaches. Values: 0 everyone, 1 team.
paramsLengthu32How many bytes of the run that follows carry meaning.
textLengthu32The length of the text, counted in bytes and excluding the byte that ends it.
paramsbytes, 32Thirty two bytes holding text that fills in a key, ended by a zero byte within them. The bytes after that zero byte carry no meaning, so two messages otherwise alike can differ in them.
texttext, sized by textLengthThe text, textLength bytes of it.
terminatorbytes, 1A zero byte closing the text.
Vectors (2)

everyone-on-4-20, team-on-4-20

SystemMessage

What a server sends to put a line of its own in a client’s chat. 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.10246
4.11–4.20247
FieldTypeWhat it is
sourceu32The unit the line is credited to, or zero where none is.
texttext, 512 bytesThe line itself. Written out in full and padded with zero bytes to the width above.
Vectors (4)

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

ChatAllowance

What a server sends to limit a player’s chat, showing how many lines they have left. 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.10248
4.11–4.20249
FieldTypeWhat it is
linesLefti32How many lines are left. A client shows this number as sent.
Vectors (3)

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

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 every range of this book

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

BuildsCommand
4.1–4.1086
4.11–4.2087
FieldTypeWhat it is
xf32Where on the map, along one ground axis, 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. Values: 0 here, 1 attackDirection, 2 danger, 3 targetUnaccountedFor, 4 onMyWay, 5 fallBack, 6 comeHere.
Vectors (6)

on-an-object-on-4-10, one-on-4-10, open-ground-on-4-10, one-on-4-17, on-an-object-on-4-20, open-ground-on-4-20

PingPlaced

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

Definition.

In 4.1–4.17

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

BuildsCommand
4.1–4.1063
4.11–4.1764

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.
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.speakbit 7Set where the unit says something about it.
Vectors (2)

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

In 4.18–4.20

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

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.
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.
categoryu8Which sort of ping, under the values MapPing’s kind takes. A server repeats the kind of the request it answers. Values: 0 here, 1 attackDirection, 2 danger, 3 targetUnaccountedFor, 4 onMyWay, 5 fallBack, 6 comeHere.
does1-byte bits
does.playSoundbit 0Set where the client plays a sound for it.
does.showInChatbit 1Set where the client writes a line about it.
does.wasThrottledbit 2Set where the sender was pinging faster than allowed.
does.speakbit 3Set where the unit says something about it.
does.unusedbit 4 to 7Unused; a server writes zero.
Vectors (2)

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

PlayEmote

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

Definition.

In 4.1–4.17

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

BuildsCommand
4.1–4.1071
4.11–4.1772
FieldTypeWhat it is
emoteu8Which emote, by the number the client knows it as. Its four emote keys send 3, 1, 0 and 2, the numbers EmotePlayed plays.
Vectors (2)

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

In 4.18–4.20

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

FieldTypeWhat it is
emoteu8Which emote, by the number the client knows it as.
Vectors (1)

one-emote-on-4-20

EmotePlayed

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

Definition.

In 4.1–4.17

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

BuildsCommand
4.1–4.1065
4.11–4.1766
FieldTypeWhat it is
emoteu8Which emote, by the number the client knows it as. A client plays an animation on the champion for 0, 1 and 2, a different one each, and none for 3.
Vectors (2)

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

In 4.18–4.20

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

FieldTypeWhat it is
emoteu8Which emote, by the number the client knows it as.
Vectors (2)

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

VoiceCommand

What a server sends about a voice command a champion gave. The header names the champion.

Definition.

In 4.1–4.17

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

BuildsCommand
4.1–4.1067
4.11–4.1768

A client accepts it on a champion only, and it has no effect.

FieldTypeWhat it is
padding1u16Padding before call. Unused; a server writes zero.
padding2u8Padding before call. Unused; a server writes zero.
callu32Which call.
targetu32The unit the call is about.
flags1-byte bitsHow it is shown.
flags.highlightbit 0Set where the player’s icon is highlighted.
flags.pingbit 1Set where it marks a ping.
flags.unusedbit 2 to 7Unused; a server writes zero.
padding3u16Padding after flags. Unused; a server writes zero.
padding4u8Padding after flags. Unused; a server writes zero.
Vectors (2)

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

In 4.18–4.20

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

A client accepts it on a champion only, and it has no effect.

FieldTypeWhat it is
callu32Which call.
targetu32The unit the call is about.
flags1-byte bitsHow it is shown.
flags.highlightbit 0Set where the player’s icon is highlighted.
flags.pingbit 1Set where it marks a ping.
flags.unusedbit 2 to 7Unused; a server writes zero.
Vectors (1)

one-on-4-20

ContextEmote

What a server sends about an emote a champion played for the moment. It changes nothing a client shows. 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.10242
4.11–4.20243
FieldTypeWhat it is
emoteu8Which emote.
parameteru32A hashed parameter.
flagsu8Flags with no meaning given.
Vectors (3)

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

SoundPlayed

What a server sends to play a sound once. 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.1066
4.11–4.2067
FieldTypeWhat it is
soundtext, 1024 bytesThe sound event’s name. The text ends at its first zero byte, which falls within the field.
owneru32The object to play it at, where a client knows one by this id; otherwise, or for zero, the sound has no place.
Vectors (4)

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

VoiceEvent

What a server sends to play a voice event. 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.10120
4.11–4.20121
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.
kindu8What sort of event. A client does nothing for any other value. Values: 0 general, 1 champion.
handleu32For kind 0, a number a client returns in VoiceEventDone; for kind 1, the champion.
Vectors (3)

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

VoiceEventDone

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

Definition.

In every range of this book

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

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 (2)

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

ThemeMusic

What a server sends to set a champion’s skin music. A client plays it only for its own champion, and does nothing where the id names no champion or the track is past the skin’s list. The header carries zero.

Definition.

In 4.17

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

FieldTypeWhat it is
championu32The champion.
tracku32Which of the skin’s music tracks, counting from zero.
Vectors (1)

one-on-4-17

In 4.18–4.20

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

FieldTypeWhat it is
championu32The champion.
tracku32Which of the skin’s music tracks, counting from zero.
secondTracku32A second track, counting from zero, or 268435455 for none. A client takes a value past the skin’s tracks as none.
Vectors (1)

one-on-4-18

MusicCue

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

Definition.

In 4.1–4.10

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

The header names the champion of the player it is sent to.

FieldTypeWhat it is
cueu8What to do. A client takes any other value and does nothing. Values: 0 prepare, 1 begin, 2 end, 3 changeState.
eventu32Which cue or event.
parameteru32Which state, where the state changes.
Vectors (1)

prepare-on-4-1

In 4.11–4.20

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

The header names the champion of the player it is sent to.

FieldTypeWhat it is
cueu8What to do. Values: 0 prepare, 1 begin, 2 end, 3 changeState, 4 trigger.
eventu32Which cue or event.
parameteru32Which state, where the state changes.
Vectors (2)

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

VolumeMuted

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

Definition.

In 4.1–4.17

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

BuildsCommand
4.1–4.1038
4.11–4.1739
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)

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

In 4.18–4.20

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

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

music-on-4-18

FadeSounds

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

Definition.

In 4.1–4.14

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

BuildsCommand
4.1–4.1094
4.11–4.1495
FieldTypeWhat it is
timef32How long the sounds take to fade; the unit is not recorded.
Vectors (2)

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

In 4.15–4.20

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

FieldTypeWhat it is
timef32How long the fade takes, in seconds.
Vectors (2)

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

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 4.1–4.9

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

FieldTypeWhat it is
unknownu32A client writes 1073741824.
unknownToou32A client writes zero.
kindu8A client writes zero.
unusedu8A client writes zero.
unusedToou32A client writes zero.
lengthu32The text’s length in bytes, counting its zero byte; at most 1024.
texttext, sized by lengthWhat the unit says.
Vectors (1)

one-on-4-1