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

About this book

A wire protocol specification for League of Legends game servers: what a server sends for a client to connect, load a match and play, and what the client does with it. The chapters are meant to be enough to build a conforming server. Each builds on the ones before it, so read them in order.

A chapter holds for every client build covered, except a passage set apart and headed with ranges, which holds for those alone. What a chapter says of a message holds wherever that message has a layout: a build with no layout for a message has no such message, and nothing said of it applies there. Field layouts are not restated in prose: they live in schema/, machine readable, and each system’s chapter ends with its messages and every layout each has. Where a field’s meaning is undetermined, its note says so.

The rules of the game are out of scope: how much a spell deals, what an item costs, how fast a champion levels. A server decides those; the specification says how it tells a client the results.

Check your work against conformance/ as you go; its vectors are this specification’s measure of a conforming server.

If the specification does not answer something you need, do not guess: report it as a defect, as CONTRIBUTING.md explains.

This book covers client builds from 1.0.0.130 up to, not including, 3.01.0.1, in 23 ranges. Every build in a range is held to the same facts.

PatchFromUp toPatch notesBuilds checked
1.0.0.1301.0.0.1301.0.0.131V1.0.0.1301
1.0.0.1311.0.0.1311.0.0.132V1.0.0.1311
1.0.0.1321.0.0.1321.0.0.133V1.0.0.1321
1.0.0.1331.0.0.1331.0.0.134V1.0.0.1331
1.0.0.1341.0.0.1341.0.0.135V1.0.0.1341
1.0.0.1351.0.0.1351.0.0.136V1.0.0.1351
1.0.0.136–1.0.0.1371.0.0.1361.0.0.138V1.0.0.1361
1.0.0.1381.0.0.1381.0.0.139V1.0.0.1381
1.0.0.1391.0.0.1391.0.0.140V1.0.0.1391
1.0.0.1401.0.0.1401.0.0.141V1.0.0.1401
1.0.0.1411.0.0.1411.0.0.142V1.0.0.1411
1.0.0.1421.0.0.1421.0.0.143V1.0.0.1421
1.0.0.1431.0.0.1431.0.0.144V1.0.0.1431
1.0.0.1441.0.0.1441.0.0.145V1.0.0.1441
1.0.0.1451.0.0.1451.0.0.146V1.0.0.1451
1.0.0.1461.0.0.1461.0.0.147V1.0.0.1461
1.0.0.1471.0.0.1471.0.0.148V1.0.0.1471
1.0.0.1481.0.0.1481.0.0.149V1.0.0.1481
1.0.0.1491.0.0.1491.0.0.150V1.0.0.1491
1.0.0.1501.0.0.1501.0.0.151V1.0.0.1501
1.0.0.1511.0.0.1511.0.0.152V1.0.0.1511
1.0.0.152–1.0.0.1531.0.0.1521.0.0.154V1.0.0.1521
1.0.0.154–3.1.0.01.0.0.1543.01.0.1V1.0.0.1541

What the chapters say of a message says nothing of a patch that has no layout for it. A message the chapters name with a link is one this book has; one named without a link is one no build of this book has. The index of messages finds any message, and the appendix on patches gives each patch’s checks, every message it carries, and how it differs from the one before it.