Patches
What is particular to each patch this book covers: the builds it shipped, the live checks that ran on them, every message it carries, what the specification leaves unrecorded there, and how it differs from the patch before it. Where builds of two patches are held to the same facts, they share a section.
No build of this book has these, though the chapters name them, so what the chapters say of them says nothing of this book: AscendedUnit, AttackSpeedBounds, CampMarker, CapturePointValue, CharacterPreload, CooldownSet, FloatingTextOnMap, InputLockChanged, InputLocksFlipped, InventorySnapshotOnMap, MinimapHighlighted, MinionKillCount, PlaceTurret, RegionMoved, ResyncEnded, ShopHighlighted, Situation, SpawnTurret, SpellIconChanged, SpellNameChanged, SpellOffsetTargetChanged, SpellRangeChanged, SpellSlotChangedForOwner, SpellTargeterHidden, SpellTargeterShown, SpellTargetingChanged, SurrenderFailed, ThemeMusic, UnitDiedOnMap, ZoomReport.
3.01
Client builds from 3.01.0.1 up to, not including, 3.02.0.30. Patch notes: V3.01.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 3.01.0.1 | 11 | 0 | 3 | 3651b56 | 2026-10-22 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: AnimationAdvanced, AttackIndicators, BalanceResult, BalanceVote, BounceMissile, CampTimer, ChampionRemoved, ChatAllowance, CursorRings, DeathTimer, EffectCounter, GroundAttackMode, InventorySnapshot, ItemCharges, LevelCap, MarkerMoved, MissileSpeed, ResourceKindChanged, ShopUndo, ShopUndoCount, SpawnMarker, SpellCharges, SpellCostChanged, SpellRankLimits, SpellToggled, StreamChunk, StreamChunkRange, StreamMetadata, SurrenderAllowed.
Every message of this range (230)
3.02
Client builds from 3.02.0.30 up to, not including, 3.03.0.198. Patch notes: V3.02.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 3.02.0.30 | 11 | 0 | 3 | 3651b56 | 2026-10-22 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: AnimationAdvanced, AttackIndicators, BounceMissile, CampTimer, ChampionRemoved, CursorRings, DeathTimer, EffectCounter, GroundAttackMode, InventorySnapshot, ItemCharges, LevelCap, MarkerMoved, MissileSpeed, ResourceKindChanged, ShopUndo, ShopUndoCount, SpawnMarker, SpellCharges, SpellCostChanged, SpellRankLimits, SpellToggled, StreamChunk, StreamChunkRange, StreamMetadata, SurrenderAllowed.
Every message of this range (233)
Against 3.01
Where a build from 3.02.0.30 up to, not including, 3.03.0.198 differs from one from 3.01.0.1 up to, not including, 3.02.0.30. Anything not named here is the same in both.
In 3.02, not in 3.01
| Message | Sent by | Command | What it does |
|---|---|---|---|
BalanceResult | server | 252 on events | What a server sends when a vote on evening out a match ends, or cannot be held |
BalanceVote | server | 250 on events | What a server sends as a side votes on evening out a match: on the first vote it opens the vote’s panel for that side, and each message adds one voter |
ChatAllowance | server | 249 on events | Limit a player’s chat, showing how many lines they have left |
Laid out differently
ChatparamsLengthis in 3.02 (u32), afteraudience, and not in 3.01.paramsis in 3.02 (bytes, 32), aftertextLength, and not in 3.01.
ClientEventeventtakes 97 minionsSpawned, 98 welcome, 99 startNoticeTwo, 100 startNoticeThree, 104 scoreboardOpened, 125 dragonKilled, 126 dragonKilledWatched, 127 baronKilled, 128 baronKilledWatched, 129 spiderKilled, 130 spiderKilledWatched, 131 altarCaptured, 132 altarCapturedWatched in 3.02 and not in 3.01.eventtakes 88 minionsSpawned, 89 welcome, 90 startNoticeTwo, 91 startNoticeThree, 95 scoreboardOpened, 116 dragonKilled, 117 dragonKilledWatched, 118 baronKilled, 119 baronKilledWatched, 120 spiderKilled, 121 spiderKilledWatched, 122 altarCaptured, 123 altarCapturedWatched in 3.01 and not in 3.02.valueis present when event = 24 or 76 or 78 or 122 or 123 in 3.01, and present when event = 24 or 76 or 78 or 131 or 132 in 3.02.monsteris present when event = 116 or 117 or 118 or 119 or 120 or 121 in 3.01, and present when event = 125 or 126 or 127 or 128 or 129 or 130 in 3.02.
DeathHistoryentries[].eventtakes 97 minionsSpawned, 98 welcome, 99 startNoticeTwo, 100 startNoticeThree, 104 scoreboardOpened, 125 dragonKilled, 126 dragonKilledWatched, 127 baronKilled, 128 baronKilledWatched, 129 spiderKilled, 130 spiderKilledWatched, 131 altarCaptured, 132 altarCapturedWatched in 3.02 and not in 3.01.entries[].eventtakes 88 minionsSpawned, 89 welcome, 90 startNoticeTwo, 91 startNoticeThree, 95 scoreboardOpened, 116 dragonKilled, 117 dragonKilledWatched, 118 baronKilled, 119 baronKilledWatched, 120 spiderKilled, 121 spiderKilledWatched, 122 altarCaptured, 123 altarCapturedWatched in 3.01 and not in 3.02.entries[].valueis present when event = 24 or 76 or 78 or 122 or 123 in 3.01, and present when event = 24 or 76 or 78 or 131 or 132 in 3.02.entries[].monsteris present when event = 116 or 117 or 118 or 119 or 120 or 121 in 3.01, and present when event = 125 or 126 or 127 or 128 or 129 or 130 in 3.02.
HudHighlightToggledparttakes 2 shop in 3.01 and not in 3.02.unusedis in 3.02 (u8), afternumber, and not in 3.01.secondis in 3.01 and not in 3.02.
HudHighlightedparttakes 1 shop in 3.01 and not in 3.02.unusedis in 3.02 (u8), afternumber, and not in 3.01.secondis in 3.01 and not in 3.02.
UnitTextstyletakes 22 onMyWay, 23 damage, 24 critical, 25 debug in 3.02 and not in 3.01.styletakes 22 damage, 23 critical, 24 debug in 3.01 and not in 3.02.
WorldEventeventtakes 97 minionsSpawned, 98 welcome, 99 startNoticeTwo, 100 startNoticeThree, 104 scoreboardOpened, 125 dragonKilled, 126 dragonKilledWatched, 127 baronKilled, 128 baronKilledWatched, 129 spiderKilled, 130 spiderKilledWatched, 131 altarCaptured, 132 altarCapturedWatched in 3.02 and not in 3.01.eventtakes 88 minionsSpawned, 89 welcome, 90 startNoticeTwo, 91 startNoticeThree, 95 scoreboardOpened, 116 dragonKilled, 117 dragonKilledWatched, 118 baronKilled, 119 baronKilledWatched, 120 spiderKilled, 121 spiderKilledWatched, 122 altarCaptured, 123 altarCapturedWatched in 3.01 and not in 3.02.valueis present when event = 24 or 76 or 78 or 122 or 123 in 3.01, and present when event = 24 or 76 or 78 or 131 or 132 in 3.02.monsteris present when event = 116 or 117 or 118 or 119 or 120 or 121 in 3.01, and present when event = 125 or 126 or 127 or 128 or 129 or 130 in 3.02.
Chapters
- In the effects chapter, a passage holds for 3.02 and not 3.01: A client takes
EmitterPauseas aChatAllowance, the first four bytes of the group’s name standing as the lines left.
3.03
Client builds from 3.03.0.198 up to, not including, 3.04.0.78. Patch notes: V3.03.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 3.03.0.198 | 11 | 0 | 3 | 8610a16 | 2026-10-22 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: AnimationAdvanced, AttackIndicators, BounceMissile, CampTimer, ChampionRemoved, CursorRings, DeathTimer, EffectCounter, GroundAttackMode, InventorySnapshot, ItemCharges, LevelCap, MarkerMoved, MissileSpeed, ResourceKindChanged, ShopUndo, ShopUndoCount, SpawnMarker, SpellCharges, SpellCostChanged, SpellRankLimits, SpellToggled, StreamChunk, StreamChunkRange, StreamMetadata, SurrenderAllowed.
Every message of this range (233)
Against 3.02
Where a build from 3.03.0.198 up to, not including, 3.04.0.78 differs from one from 3.02.0.30 up to, not including, 3.03.0.198. Anything not named here is the same in both.
Transport
- The packet header differ: see protocol.json.
Laid out differently
MapPropskinis in 3.03 (i32), afternode, and not in 3.02.
Chapters
- In the transport chapter, a passage holds for 3.02 and not 3.03: Stock ENet 1.2.5 serves a client once its transmission unit is clamped (see below).
- In the transport chapter, a passage holds for 3.03 and not 3.02: The rest of this chapter says what a client does not accept from stock ENet.
- In the transport chapter, a passage holds for 3.03 and not 3.02: A client’s connect command takes ENet’s layout, except that two of its fields carry one byte of meaning each.
3.04
Client builds from 3.04.0.78 up to, not including, 3.5.0.68. Patch notes: V3.04.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 3.04.0.78 | 11 | 0 | 3 | 2c82be9 | 2026-10-22 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: AnimationAdvanced, AttackIndicators, BounceMissile, CampTimer, ChampionRemoved, CursorRings, DeathTimer, EffectCounter, GroundAttackMode, InhibitorDied, InventorySnapshot, ItemCharges, LevelCap, MarkerMoved, MissileSpeed, ResourceKindChanged, ShopUndo, ShopUndoCount, SpawnMarker, SpellCharges, SpellCostChanged, SpellRankLimits, SpellToggled, StreamChunk, StreamChunkRange, StreamMetadata, SurrenderAllowed.
Every message of this range (232)
Against 3.03
Where a build from 3.04.0.78 up to, not including, 3.5.0.68 differs from one from 3.03.0.198 up to, not including, 3.04.0.78. Anything not named here is the same in both.
In 3.03, not in 3.04
| Message | Sent by | Command it had |
|---|---|---|
InhibitorDied | server | 138 on events |
Laid out differently
ClientEventeventtakes 1 spawned, 2 died, 4 championDied, 6 championKill, 8 singleKill, 9 doubleKill, 15 damageTaken, 16 damageDealt, 23 goldSpent, 24 goldEarned, 25 consumableBought, 26 criticalStrike, 29 inhibitorKilled, 30 inhibitorDied, 31 inhibitorRespawningSoon, 33 turretKilled, 34 turretDied, 35 minionKilled, 36 minionDenied, 37 monsterKilled, 38 largeMonsterKilled, 39 nexusKilled, 40 nexusDied, 41 heal, 42 healCast, 43 buff, 44 killingSpree, 51 killDuringSpree, 58 doubleKillDuringSpree, 59 tripleKillDuringSpree, 60 quadraKillDuringSpree, 63 deathAssist, 64 playerQuit, 65 playerLeft, 66 playerReconnected, 77 itemBought, 78 itemCallout, 79 itemChanged, 98 minionsSpawned, 99 welcome, 100 startNoticeTwo, 101 startNoticeThree, 105 scoreboardOpened, 126 dragonKilled, 127 dragonKilledWatched, 128 baronKilled, 129 baronKilledWatched, 130 spiderKilled, 131 spiderKilledWatched, 132 altarCaptured, 133 altarCapturedWatched, 134 wardPlaced, 135 wardKilled in 3.04 and not in 3.03.eventtakes 1 died, 3 championDied, 5 championKill, 7 singleKill, 8 doubleKill, 14 damageTaken, 15 damageDealt, 22 goldSpent, 23 goldEarned, 24 consumableBought, 25 criticalStrike, 28 inhibitorKilled, 29 inhibitorDied, 30 inhibitorRespawningSoon, 32 turretKilled, 33 turretDied, 34 minionKilled, 35 minionDenied, 36 monsterKilled, 37 largeMonsterKilled, 38 nexusKilled, 39 nexusDied, 40 heal, 41 healCast, 42 buff, 43 killingSpree, 50 killDuringSpree, 57 doubleKillDuringSpree, 58 tripleKillDuringSpree, 59 quadraKillDuringSpree, 62 deathAssist, 63 playerQuit, 64 playerLeft, 65 playerReconnected, 76 itemBought, 77 itemCallout, 78 itemChanged, 97 minionsSpawned, 98 welcome, 99 startNoticeTwo, 100 startNoticeThree, 104 scoreboardOpened, 125 dragonKilled, 126 dragonKilledWatched, 127 baronKilled, 128 baronKilledWatched, 129 spiderKilled, 130 spiderKilledWatched, 131 altarCaptured, 132 altarCapturedWatched in 3.03 and not in 3.04.stageis present when event = 4 in 3.03, and present when event = 5 in 3.04.damageis present when event = 14 or 15 in 3.03, and present when event = 15 or 16 in 3.04.spentis present when event = 22 in 3.03, and present when event = 23 in 3.04.valueis present when event = 24 or 76 or 78 or 131 or 132 in 3.03, and present when event = 25 or 77 or 79 or 132 or 133 in 3.04.criticalis present when event = 25 in 3.03, and present when event = 26 in 3.04.spreeis present when event = 43 in 3.03, and present when event = 44 in 3.04.earnedis present when event = 23 in 3.03, and present when event = 24 in 3.04.healis present when event = 40 or 41 in 3.03, and present when event = 41 or 42 in 3.04.effectis present when event = 42 in 3.03, and present when event = 43 in 3.04.assistis present when event = 62 in 3.03, and present when event = 63 in 3.04.killis present when event = 1 in 3.03, and present when event = 1 or 2 or 34 or 126 or 127 or 128 or 129 or 130 or 131 in 3.04.monsteris present when event = 125 or 126 or 127 or 128 or 129 or 130 in 3.03, and present when event = 126 or 127 or 128 or 129 or 130 or 131 in 3.04.calloutis present when event = 77 in 3.03, and present when event = 78 in 3.04.
DeathHistoryentries[].eventtakes 1 spawned, 2 died, 4 championDied, 6 championKill, 8 singleKill, 9 doubleKill, 15 damageTaken, 16 damageDealt, 23 goldSpent, 24 goldEarned, 25 consumableBought, 26 criticalStrike, 29 inhibitorKilled, 30 inhibitorDied, 31 inhibitorRespawningSoon, 33 turretKilled, 34 turretDied, 35 minionKilled, 36 minionDenied, 37 monsterKilled, 38 largeMonsterKilled, 39 nexusKilled, 40 nexusDied, 41 heal, 42 healCast, 43 buff, 44 killingSpree, 51 killDuringSpree, 58 doubleKillDuringSpree, 59 tripleKillDuringSpree, 60 quadraKillDuringSpree, 63 deathAssist, 64 playerQuit, 65 playerLeft, 66 playerReconnected, 77 itemBought, 78 itemCallout, 79 itemChanged, 98 minionsSpawned, 99 welcome, 100 startNoticeTwo, 101 startNoticeThree, 105 scoreboardOpened, 126 dragonKilled, 127 dragonKilledWatched, 128 baronKilled, 129 baronKilledWatched, 130 spiderKilled, 131 spiderKilledWatched, 132 altarCaptured, 133 altarCapturedWatched, 134 wardPlaced, 135 wardKilled in 3.04 and not in 3.03.entries[].eventtakes 1 died, 3 championDied, 5 championKill, 7 singleKill, 8 doubleKill, 14 damageTaken, 15 damageDealt, 22 goldSpent, 23 goldEarned, 24 consumableBought, 25 criticalStrike, 28 inhibitorKilled, 29 inhibitorDied, 30 inhibitorRespawningSoon, 32 turretKilled, 33 turretDied, 34 minionKilled, 35 minionDenied, 36 monsterKilled, 37 largeMonsterKilled, 38 nexusKilled, 39 nexusDied, 40 heal, 41 healCast, 42 buff, 43 killingSpree, 50 killDuringSpree, 57 doubleKillDuringSpree, 58 tripleKillDuringSpree, 59 quadraKillDuringSpree, 62 deathAssist, 63 playerQuit, 64 playerLeft, 65 playerReconnected, 76 itemBought, 77 itemCallout, 78 itemChanged, 97 minionsSpawned, 98 welcome, 99 startNoticeTwo, 100 startNoticeThree, 104 scoreboardOpened, 125 dragonKilled, 126 dragonKilledWatched, 127 baronKilled, 128 baronKilledWatched, 129 spiderKilled, 130 spiderKilledWatched, 131 altarCaptured, 132 altarCapturedWatched in 3.03 and not in 3.04.entries[].stageis present when event = 4 in 3.03, and present when event = 5 in 3.04.entries[].damageis present when event = 14 or 15 in 3.03, and present when event = 15 or 16 in 3.04.entries[].spentis present when event = 22 in 3.03, and present when event = 23 in 3.04.entries[].valueis present when event = 24 or 76 or 78 or 131 or 132 in 3.03, and present when event = 25 or 77 or 79 or 132 or 133 in 3.04.entries[].criticalis present when event = 25 in 3.03, and present when event = 26 in 3.04.entries[].spreeis present when event = 43 in 3.03, and present when event = 44 in 3.04.entries[].earnedis present when event = 23 in 3.03, and present when event = 24 in 3.04.entries[].healis present when event = 40 or 41 in 3.03, and present when event = 41 or 42 in 3.04.entries[].effectis present when event = 42 in 3.03, and present when event = 43 in 3.04.entries[].assistis present when event = 62 in 3.03, and present when event = 63 in 3.04.entries[].killis present when event = 1 in 3.03, and present when event = 1 or 2 or 34 or 126 or 127 or 128 or 129 or 130 or 131 in 3.04.entries[].monsteris present when event = 125 or 126 or 127 or 128 or 129 or 130 in 3.03, and present when event = 126 or 127 or 128 or 129 or 130 or 131 in 3.04.entries[].calloutis present when event = 77 in 3.03, and present when event = 78 in 3.04.
VersionSyncagreementhasreportingReadyat bit 3 in 3.04, and not in 3.03.agreement.unusedis at bit 3, 5 bits wide, in 3.03 and at bit 4, 4 bits wide, in 3.04.metricsHostis text, 1024 bytes in 3.03 and text, 256 bytes in 3.04.metricsPathis text, 1024 bytes in 3.03 and text, 256 bytes in 3.04.reportingHostis in 3.04 (text, 256 bytes), aftermetricsPort, and not in 3.03.reportingPathis in 3.04 (text, 256 bytes), afterreportingHost, and not in 3.03.reportingPortis in 3.04 (u16), afterreportingPath, and not in 3.03.altReportingHostis in 3.04 (text, 256 bytes), afterreportingPort, and not in 3.03.altReportingPathis in 3.04 (text, 256 bytes), afteraltReportingHost, and not in 3.03.altReportingPortis in 3.04 (u16), afteraltReportingPath, and not in 3.03.
WorldEventeventtakes 1 spawned, 2 died, 4 championDied, 6 championKill, 8 singleKill, 9 doubleKill, 15 damageTaken, 16 damageDealt, 23 goldSpent, 24 goldEarned, 25 consumableBought, 26 criticalStrike, 29 inhibitorKilled, 30 inhibitorDied, 31 inhibitorRespawningSoon, 33 turretKilled, 34 turretDied, 35 minionKilled, 36 minionDenied, 37 monsterKilled, 38 largeMonsterKilled, 39 nexusKilled, 40 nexusDied, 41 heal, 42 healCast, 43 buff, 44 killingSpree, 51 killDuringSpree, 58 doubleKillDuringSpree, 59 tripleKillDuringSpree, 60 quadraKillDuringSpree, 63 deathAssist, 64 playerQuit, 65 playerLeft, 66 playerReconnected, 77 itemBought, 78 itemCallout, 79 itemChanged, 98 minionsSpawned, 99 welcome, 100 startNoticeTwo, 101 startNoticeThree, 105 scoreboardOpened, 126 dragonKilled, 127 dragonKilledWatched, 128 baronKilled, 129 baronKilledWatched, 130 spiderKilled, 131 spiderKilledWatched, 132 altarCaptured, 133 altarCapturedWatched, 134 wardPlaced, 135 wardKilled in 3.04 and not in 3.03.eventtakes 1 died, 3 championDied, 5 championKill, 7 singleKill, 8 doubleKill, 14 damageTaken, 15 damageDealt, 22 goldSpent, 23 goldEarned, 24 consumableBought, 25 criticalStrike, 28 inhibitorKilled, 29 inhibitorDied, 30 inhibitorRespawningSoon, 32 turretKilled, 33 turretDied, 34 minionKilled, 35 minionDenied, 36 monsterKilled, 37 largeMonsterKilled, 38 nexusKilled, 39 nexusDied, 40 heal, 41 healCast, 42 buff, 43 killingSpree, 50 killDuringSpree, 57 doubleKillDuringSpree, 58 tripleKillDuringSpree, 59 quadraKillDuringSpree, 62 deathAssist, 63 playerQuit, 64 playerLeft, 65 playerReconnected, 76 itemBought, 77 itemCallout, 78 itemChanged, 97 minionsSpawned, 98 welcome, 99 startNoticeTwo, 100 startNoticeThree, 104 scoreboardOpened, 125 dragonKilled, 126 dragonKilledWatched, 127 baronKilled, 128 baronKilledWatched, 129 spiderKilled, 130 spiderKilledWatched, 131 altarCaptured, 132 altarCapturedWatched in 3.03 and not in 3.04.stageis present when event = 4 in 3.03, and present when event = 5 in 3.04.damageis present when event = 14 or 15 in 3.03, and present when event = 15 or 16 in 3.04.spentis present when event = 22 in 3.03, and present when event = 23 in 3.04.valueis present when event = 24 or 76 or 78 or 131 or 132 in 3.03, and present when event = 25 or 77 or 79 or 132 or 133 in 3.04.criticalis present when event = 25 in 3.03, and present when event = 26 in 3.04.spreeis present when event = 43 in 3.03, and present when event = 44 in 3.04.earnedis present when event = 23 in 3.03, and present when event = 24 in 3.04.healis present when event = 40 or 41 in 3.03, and present when event = 41 or 42 in 3.04.effectis present when event = 42 in 3.03, and present when event = 43 in 3.04.assistis present when event = 62 in 3.03, and present when event = 63 in 3.04.killis present when event = 1 in 3.03, and present when event = 1 or 2 or 34 or 126 or 127 or 128 or 129 or 130 or 131 in 3.04.monsteris present when event = 125 or 126 or 127 or 128 or 129 or 130 in 3.03, and present when event = 126 or 127 or 128 or 129 or 130 or 131 in 3.04.calloutis present when event = 77 in 3.03, and present when event = 78 in 3.04.
Structs
Replicationgroup0.lengthis in 3.04 (u8), aftergroup0.which, and not in 3.03.group0.valuesis count in the bits set in which × bytes in 3.03 and bytes, sized by length in 3.04.group1.lengthis in 3.04 (u8), aftergroup1.which, and not in 3.03.group1.valuesis count in the bits set in which × bytes in 3.03 and bytes, sized by length in 3.04.group2.lengthis in 3.04 (u8), aftergroup2.which, and not in 3.03.group2.valuesis count in the bits set in which × bytes in 3.03 and bytes, sized by length in 3.04.group3.lengthis in 3.04 (u8), aftergroup3.which, and not in 3.03.group3.valuesis count in the bits set in which × bytes in 3.03 and bytes, sized by length in 3.04.group5.lengthis in 3.04 (u8), aftergroup5.which, and not in 3.03.group5.valuesis count in the bits set in which × bytes in 3.03 and bytes, sized by length in 3.04.group4.lengthis in 3.04 (u8), aftergroup4.which, and not in 3.03.group4.valuesis count in the bits set in which × bytes in 3.03 and bytes, sized by length in 3.04.
3.5
Client builds from 3.5.0.68 up to, not including, 3.6.0.388. Patch notes: V3.5.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 3.5.0.68 | 11 | 0 | 3 | ea13481 | 2026-10-21 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: AnimationAdvanced, AttackIndicators, BounceMissile, CampTimer, ChampionRemoved, CursorRings, DeathTimer, EffectCounter, GroundAttackMode, InhibitorDied, InventorySnapshot, ItemCharges, LevelCap, MarkerMoved, MissileSpeed, ResourceKindChanged, ShopUndo, ShopUndoCount, SpawnMarker, SpellCharges, SpellCostChanged, SpellRankLimits, SpellToggled, StreamChunk, StreamChunkRange, StreamMetadata, SurrenderAllowed.
Every message of this range (233)
Against 3.04
Where a build from 3.5.0.68 up to, not including, 3.6.0.388 differs from one from 3.04.0.78 up to, not including, 3.5.0.68. Anything not named here is the same in both.
In 3.5, not in 3.04
| Message | Sent by | Command | What it does |
|---|---|---|---|
BalanceVoteRefused | client | 250 on requests | What a client sends as its player types /noequalize, where the version answer’s features have bit 0 set, outside the tutorial: a vote against, laid out as BalanceVote with only its first fields filled |
Laid out differently
StartGame(vectors: one-on-3-5)featuresis in 3.5 (4-byte bits), afterrules, and not in 3.04.
Chapters
- In the effects chapter, a passage holds for 3.04 and not 3.5: A client takes
EmitterPauseas aChatAllowance, the first four bytes of the group’s name standing as the lines left.
3.6
Client builds from 3.6.0.388 up to, not including, 3.7.0.328. Patch notes: V3.6.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 3.6.0.388 | 11 | 0 | 3 | a33f31f | 2026-10-21 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: BounceMissile, CampTimer, ChampionRemoved, CursorRings, DeathTimer, EffectCounter, InhibitorDied, InventorySnapshot, LevelCap, MarkerMoved, MissileSpeed, ResourceKindChanged, ShopUndo, ShopUndoCount, SpellCharges, SpellCostChanged, SpellRankLimits, SpellToggled, StreamChunk, StreamChunkRange, StreamMetadata, SurrenderAllowed.
Every message of this range (238)
Against 3.5
Where a build from 3.6.0.388 up to, not including, 3.7.0.328 differs from one from 3.5.0.68 up to, not including, 3.6.0.388. Anything not named here is the same in both.
Transport
- The families differ: see families.json.
In 3.6, not in 3.5
| Message | Sent by | Command | What it does |
|---|---|---|---|
AnimationAdvanced | server | 259 on events | Move an animation a unit is playing forward at once |
AttackIndicators | server | 258 on events | Show or hide a unit’s attack indicators |
GroundAttackMode | server | 257 on events | Make a champion’s clicks attack the ground |
ItemCharges | server | 253 on events | Set how many charges an item holds |
SpawnMarker | server | 256 on events | Create an unseen object at a place, which other messages can then name |
Laid out differently
AppearancePushedskinis in 3.6 (i32), afterhow, and not in 3.5.
ClientEventeventtakes 44 crowdControl, 45 killingSpree, 52 killDuringSpree, 59 doubleKillDuringSpree, 60 tripleKillDuringSpree, 61 quadraKillDuringSpree, 64 deathAssist, 65 playerQuit, 66 playerLeft, 67 playerReconnected, 78 itemBought, 79 itemSold, 80 itemRemoved, 81 itemCallout, 82 itemChanged, 101 minionsSpawned, 102 welcome, 103 startNoticeTwo, 104 startNoticeThree, 108 scoreboardOpened, 129 dragonKilled, 130 dragonKilledWatched, 131 baronKilled, 132 baronKilledWatched, 133 spiderKilled, 134 spiderKilledWatched, 135 altarCaptured, 136 altarCapturedWatched, 137 wardPlaced, 138 wardKilled in 3.6 and not in 3.5.eventtakes 44 killingSpree, 51 killDuringSpree, 58 doubleKillDuringSpree, 59 tripleKillDuringSpree, 60 quadraKillDuringSpree, 63 deathAssist, 64 playerQuit, 65 playerLeft, 66 playerReconnected, 77 itemBought, 78 itemCallout, 79 itemChanged, 98 minionsSpawned, 99 welcome, 100 startNoticeTwo, 101 startNoticeThree, 105 scoreboardOpened, 126 dragonKilled, 127 dragonKilledWatched, 128 baronKilled, 129 baronKilledWatched, 130 spiderKilled, 131 spiderKilledWatched, 132 altarCaptured, 133 altarCapturedWatched, 134 wardPlaced, 135 wardKilled in 3.5 and not in 3.6.valueis present when event = 25 or 77 or 79 or 132 or 133 in 3.5, and present when event = 25 or 78 or 79 or 80 or 82 or 135 or 136 in 3.6.spreeis present when event = 44 in 3.5, and present when event = 45 in 3.6.earned.detailis in 3.6 (u32), afterearned.gold, and not in 3.5.effectis present when event = 43 in 3.5, and present when event = 43 or 44 in 3.6.extrais in 3.6 (bytes, 8), aftereffect.parent, and not in 3.5.assistis present when event = 63 in 3.5, and present when event = 64 in 3.6.killis present when event = 1 or 2 or 34 or 126 or 127 or 128 or 129 or 130 or 131 in 3.5, and present when event = 1 or 2 or 34 or 37 or 129 or 130 or 131 or 132 or 133 or 134 in 3.6.monsteris present when event = 126 or 127 or 128 or 129 or 130 or 131 in 3.5, and present when event = 37 or 129 or 130 or 131 or 132 or 133 or 134 in 3.6.monster.sideis in 3.6 (u32), aftermonster.skin, and not in 3.5.calloutis present when event = 78 in 3.5, and present when event = 81 in 3.6.
DeathHistoryentries[].eventtakes 44 crowdControl, 45 killingSpree, 52 killDuringSpree, 59 doubleKillDuringSpree, 60 tripleKillDuringSpree, 61 quadraKillDuringSpree, 64 deathAssist, 65 playerQuit, 66 playerLeft, 67 playerReconnected, 78 itemBought, 79 itemSold, 80 itemRemoved, 81 itemCallout, 82 itemChanged, 101 minionsSpawned, 102 welcome, 103 startNoticeTwo, 104 startNoticeThree, 108 scoreboardOpened, 129 dragonKilled, 130 dragonKilledWatched, 131 baronKilled, 132 baronKilledWatched, 133 spiderKilled, 134 spiderKilledWatched, 135 altarCaptured, 136 altarCapturedWatched, 137 wardPlaced, 138 wardKilled in 3.6 and not in 3.5.entries[].eventtakes 44 killingSpree, 51 killDuringSpree, 58 doubleKillDuringSpree, 59 tripleKillDuringSpree, 60 quadraKillDuringSpree, 63 deathAssist, 64 playerQuit, 65 playerLeft, 66 playerReconnected, 77 itemBought, 78 itemCallout, 79 itemChanged, 98 minionsSpawned, 99 welcome, 100 startNoticeTwo, 101 startNoticeThree, 105 scoreboardOpened, 126 dragonKilled, 127 dragonKilledWatched, 128 baronKilled, 129 baronKilledWatched, 130 spiderKilled, 131 spiderKilledWatched, 132 altarCaptured, 133 altarCapturedWatched, 134 wardPlaced, 135 wardKilled in 3.5 and not in 3.6.entries[].valueis present when event = 25 or 77 or 79 or 132 or 133 in 3.5, and present when event = 25 or 78 or 79 or 80 or 82 or 135 or 136 in 3.6.entries[].spreeis present when event = 44 in 3.5, and present when event = 45 in 3.6.entries[].earned.detailis in 3.6 (u32), afterentries[].earned.gold, and not in 3.5.entries[].effectis present when event = 43 in 3.5, and present when event = 43 or 44 in 3.6.entries[].extrais in 3.6 (bytes, 8), afterentries[].effect.parent, and not in 3.5.entries[].assistis present when event = 63 in 3.5, and present when event = 64 in 3.6.entries[].killis present when event = 1 or 2 or 34 or 126 or 127 or 128 or 129 or 130 or 131 in 3.5, and present when event = 1 or 2 or 34 or 37 or 129 or 130 or 131 or 132 or 133 or 134 in 3.6.entries[].monsteris present when event = 126 or 127 or 128 or 129 or 130 or 131 in 3.5, and present when event = 37 or 129 or 130 or 131 or 132 or 133 or 134 in 3.6.entries[].monster.sideis in 3.6 (u32), afterentries[].monster.skin, and not in 3.5.entries[].calloutis present when event = 78 in 3.5, and present when event = 81 in 3.6.
ItemAddedchargesis in 3.6 (u8), afterinSlot, and not in 3.5.
MusicCuecuetakes 3 changeState in 3.6 and not in 3.5.parameteris in 3.6 (u32), afterevent, and not in 3.5.
StartGame(vectors: one-on-3-6)featuresis in 3.5 and not in 3.6.
VersionSync(vectors: one-on-3-6)teamNameis text, 25 bytes in 3.5 and text, 97 bytes in 3.6.teamTagis text, 7 bytes in 3.5 and text, 25 bytes in 3.6.otherTeamNameis text, 25 bytes in 3.5 and text, 97 bytes in 3.6.otherTeamTagis text, 7 bytes in 3.5 and text, 25 bytes in 3.6.featuresis in 3.6 (4-byte bits), aftertipFlags, and not in 3.5.
WorldEventeventtakes 44 crowdControl, 45 killingSpree, 52 killDuringSpree, 59 doubleKillDuringSpree, 60 tripleKillDuringSpree, 61 quadraKillDuringSpree, 64 deathAssist, 65 playerQuit, 66 playerLeft, 67 playerReconnected, 78 itemBought, 79 itemSold, 80 itemRemoved, 81 itemCallout, 82 itemChanged, 101 minionsSpawned, 102 welcome, 103 startNoticeTwo, 104 startNoticeThree, 108 scoreboardOpened, 129 dragonKilled, 130 dragonKilledWatched, 131 baronKilled, 132 baronKilledWatched, 133 spiderKilled, 134 spiderKilledWatched, 135 altarCaptured, 136 altarCapturedWatched, 137 wardPlaced, 138 wardKilled in 3.6 and not in 3.5.eventtakes 44 killingSpree, 51 killDuringSpree, 58 doubleKillDuringSpree, 59 tripleKillDuringSpree, 60 quadraKillDuringSpree, 63 deathAssist, 64 playerQuit, 65 playerLeft, 66 playerReconnected, 77 itemBought, 78 itemCallout, 79 itemChanged, 98 minionsSpawned, 99 welcome, 100 startNoticeTwo, 101 startNoticeThree, 105 scoreboardOpened, 126 dragonKilled, 127 dragonKilledWatched, 128 baronKilled, 129 baronKilledWatched, 130 spiderKilled, 131 spiderKilledWatched, 132 altarCaptured, 133 altarCapturedWatched, 134 wardPlaced, 135 wardKilled in 3.5 and not in 3.6.valueis present when event = 25 or 77 or 79 or 132 or 133 in 3.5, and present when event = 25 or 78 or 79 or 80 or 82 or 135 or 136 in 3.6.spreeis present when event = 44 in 3.5, and present when event = 45 in 3.6.earned.detailis in 3.6 (u32), afterearned.gold, and not in 3.5.effectis present when event = 43 in 3.5, and present when event = 43 or 44 in 3.6.extrais in 3.6 (bytes, 8), aftereffect.parent, and not in 3.5.assistis present when event = 63 in 3.5, and present when event = 64 in 3.6.killis present when event = 1 or 2 or 34 or 126 or 127 or 128 or 129 or 130 or 131 in 3.5, and present when event = 1 or 2 or 34 or 37 or 129 or 130 or 131 or 132 or 133 or 134 in 3.6.monsteris present when event = 126 or 127 or 128 or 129 or 130 or 131 in 3.5, and present when event = 37 or 129 or 130 or 131 or 132 or 133 or 134 in 3.6.monster.sideis in 3.6 (u32), aftermonster.skin, and not in 3.5.calloutis present when event = 78 in 3.5, and present when event = 81 in 3.6.
Structs
Appearanceskinis in 3.6 (u32), afterasset, and not in 3.5.
3.7
Client builds from 3.7.0.328 up to, not including, 3.8.0.226. Patch notes: V3.7.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 3.7.0.328 | 11 | 0 | 3 | 0cebaee | 2026-10-21 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: BounceMissile, CampTimer, ChampionRemoved, CursorRings, DeathTimer, EffectCounter, InhibitorDied, InventorySnapshot, LevelCap, MarkerMoved, MissileSpeed, ResourceKindChanged, ShopUndo, ShopUndoCount, SpellCharges, SpellRankLimits, SpellToggled, StreamChunk, StreamChunkRange, StreamMetadata, SurrenderAllowed.
Every message of this range (239)
Against 3.6
Where a build from 3.7.0.328 up to, not including, 3.8.0.226 differs from one from 3.6.0.388 up to, not including, 3.7.0.328. Anything not named here is the same in both.
In 3.7, not in 3.6
| Message | Sent by | Command | What it does |
|---|---|---|---|
SpellCostChanged | server | 260 on events | Change what a spell costs the player it is sent to |
Laid out differently
CapturePointChangedresourceKindtakes 9 bloodWell, 10 other in 3.7 and not in 3.6.resourceKindtakes 9 other in 3.6 and not in 3.7.
PlayAnimationflagsnames bit 4replaceablein 3.6 andkeepEmotesin 3.7.flags.lockedis at bit 5 in 3.6 and at bit 0 in 3.7.flags.lockedFromIdleis at bit 7 in 3.6 and at bit 1 in 3.7.flags.noBlendis at bit 6 in 3.6 and at bit 2 in 3.7.flags.holdLastFrameis at bit 1 in 3.6 and at bit 3 in 3.7.flags.unusedis at bit 9, 23 bits wide, in 3.6 and at bit 5, 27 bits wide, in 3.7.flagshasloopat bit 0 in 3.6, and not in 3.7.flagshasqueueat bit 2 in 3.6, and not in 3.7.flagshasqueueLastat bit 3 in 3.6, and not in 3.7.flagshasreservedat bit 8 in 3.6, and not in 3.7.
VersionSync(vectors: one-on-3-7)featureshaswallJumpsat bit 4 in 3.7, and not in 3.6.featureshasaudioBackendat bit 5 in 3.7, and not in 3.6.features.unusedis at bit 4, 28 bits wide, in 3.6 and at bit 6, 26 bits wide, in 3.7.
3.8
Client builds from 3.8.0.226 up to, not including, 3.9.0.491. Patch notes: V3.8.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 3.8.0.226 | 11 | 0 | 3 | 8cc9d22 | 2026-10-21 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: BounceMissile, CampTimer, ChampionRemoved, CursorRings, DeathTimer, EffectCounter, InhibitorDied, InventorySnapshot, LevelCap, MarkerMoved, MissileSpeed, ResourceKindChanged, ShopUndo, ShopUndoCount, SpellRankLimits, SpellToggled, StreamChunk, StreamChunkRange, StreamMetadata, SurrenderAllowed.
Every message of this range (242)
Against 3.7
Where a build from 3.8.0.226 up to, not including, 3.9.0.491 differs from one from 3.7.0.328 up to, not including, 3.8.0.226. Anything not named here is the same in both.
In 3.8, not in 3.7
| Message | Sent by | Command | What it does |
|---|---|---|---|
DrawPath | client | 262 on requests | What a client sends as its player draws a path with the right mouse button, once a server has turned drawing on (DrawPathMode) |
DrawPathMode | server | 261 on events | What a server sends its player’s champion to have the player draw paths with the mouse |
SpellCharges | server | 263 on events | Say how many uses one of a unit’s spells has left and when the next returns |
Laid out differently
ClientEvent(vectors: altar-captured-on-3-8, altar-captured-watched-on-3-8, baron-killed-on-3-8, baron-killed-watched-on-3-8, buff-on-3-8, consumable-bought-on-3-8, critical-strike-on-3-8, crowd-control-on-3-8, damage-dealt-on-3-8, damage-taken-on-3-8, death-assist-on-3-8, died-on-3-8, dragon-killed-on-3-8, dragon-killed-watched-on-3-8, gold-earned-on-3-8, gold-spent-on-3-8, heal-cast-on-3-8, heal-on-3-8, item-bought-on-3-8, item-callout-on-3-8, item-changed-on-3-8, item-removed-on-3-8, item-sold-on-3-8, killing-spree-on-3-8, monster-killed-on-3-8, one-on-3-8, removed-on-3-8, spawned-on-3-8, spider-killed-on-3-8, spider-killed-watched-on-3-8, turret-died-on-3-8)eventtakes 131 dragonKilled, 132 dragonKilledWatched, 133 baronKilled, 134 baronKilledWatched, 135 spiderKilled, 136 spiderKilledWatched, 137 altarCaptured, 138 altarCapturedWatched, 139 wardPlaced, 140 wardKilled in 3.8 and not in 3.7.eventtakes 129 dragonKilled, 130 dragonKilledWatched, 131 baronKilled, 132 baronKilledWatched, 133 spiderKilled, 134 spiderKilledWatched, 135 altarCaptured, 136 altarCapturedWatched, 137 wardPlaced, 138 wardKilled in 3.7 and not in 3.8.valueis present when event = 25 or 78 or 79 or 80 or 82 or 135 or 136 in 3.7, and present when event = 25 or 78 or 79 or 80 or 82 or 137 or 138 in 3.8.killis present when event = 1 or 2 or 34 or 37 or 129 or 130 or 131 or 132 or 133 or 134 in 3.7, and present when event = 1 or 2 or 34 or 37 or 131 or 132 or 133 or 134 or 135 or 136 in 3.8.monsteris present when event = 37 or 129 or 130 or 131 or 132 or 133 or 134 in 3.7, and present when event = 37 or 131 or 132 or 133 or 134 or 135 or 136 in 3.8.
DeathHistory(vectors: one-on-3-8)entries[].eventtakes 131 dragonKilled, 132 dragonKilledWatched, 133 baronKilled, 134 baronKilledWatched, 135 spiderKilled, 136 spiderKilledWatched, 137 altarCaptured, 138 altarCapturedWatched, 139 wardPlaced, 140 wardKilled in 3.8 and not in 3.7.entries[].eventtakes 129 dragonKilled, 130 dragonKilledWatched, 131 baronKilled, 132 baronKilledWatched, 133 spiderKilled, 134 spiderKilledWatched, 135 altarCaptured, 136 altarCapturedWatched, 137 wardPlaced, 138 wardKilled in 3.7 and not in 3.8.entries[].valueis present when event = 25 or 78 or 79 or 80 or 82 or 135 or 136 in 3.7, and present when event = 25 or 78 or 79 or 80 or 82 or 137 or 138 in 3.8.entries[].killis present when event = 1 or 2 or 34 or 37 or 129 or 130 or 131 or 132 or 133 or 134 in 3.7, and present when event = 1 or 2 or 34 or 37 or 131 or 132 or 133 or 134 or 135 or 136 in 3.8.entries[].monsteris present when event = 37 or 129 or 130 or 131 or 132 or 133 or 134 in 3.7, and present when event = 37 or 131 or 132 or 133 or 134 or 135 or 136 in 3.8.
GroundAttackModemodeis u32 in 3.7 and u8 in 3.8.modetakes 3 moveAndSelect, 4 attackMove, 5 atCursor in 3.8 and not in 3.7.
SpellCostChangedcostTypeis u32 in 3.7 and u8 in 3.8.
SpellSlotChangedkindtakes 3 maxRange, 4 shownRange, 5 icon, 6 offsetTargets in 3.8 and not in 3.7.kindtakes 3 icon, 4 offsetTargets in 3.7 and not in 3.8.maxRangeis in 3.8 (f32), afterrange, and not in 3.7.shownRangeis in 3.8 (f32), aftermaxRange, and not in 3.7.iconis present when kind = 3 in 3.7, and present when kind = 5 in 3.8.targetCountis present when kind = 4 in 3.7, and present when kind = 6 in 3.8.targetsis present when kind = 4 in 3.7, and present when kind = 6 in 3.8.
StopAttack(vectors: one-on-3-8)missileis in 3.8 (u32) at the start, and not in 3.7.
VersionSync(vectors: one-on-3-8)agreementhascosmeticat bit 4 in 3.8, and not in 3.7.agreement.unusedis at bit 4, 4 bits wide, in 3.7 and at bit 5, 3 bits wide, in 3.8.featureshasanimatedCursorsat bit 6 in 3.8, and not in 3.7.features.unusedis at bit 6, 26 bits wide, in 3.7 and at bit 7, 25 bits wide, in 3.8.
WorldEvent(vectors: altar-captured-on-3-8, altar-captured-watched-on-3-8, baron-killed-on-3-8, baron-killed-watched-on-3-8, buff-on-3-8, consumable-bought-on-3-8, critical-strike-on-3-8, crowd-control-on-3-8, damage-dealt-on-3-8, damage-taken-on-3-8, death-assist-on-3-8, died-on-3-8, dragon-killed-on-3-8, dragon-killed-watched-on-3-8, gold-earned-on-3-8, gold-spent-on-3-8, heal-cast-on-3-8, heal-on-3-8, item-bought-on-3-8, item-callout-on-3-8, item-changed-on-3-8, item-removed-on-3-8, item-sold-on-3-8, killing-spree-on-3-8, monster-killed-on-3-8, one-on-3-8, removed-on-3-8, spawned-on-3-8, spider-killed-on-3-8, spider-killed-watched-on-3-8, turret-died-on-3-8)eventtakes 131 dragonKilled, 132 dragonKilledWatched, 133 baronKilled, 134 baronKilledWatched, 135 spiderKilled, 136 spiderKilledWatched, 137 altarCaptured, 138 altarCapturedWatched, 139 wardPlaced, 140 wardKilled in 3.8 and not in 3.7.eventtakes 129 dragonKilled, 130 dragonKilledWatched, 131 baronKilled, 132 baronKilledWatched, 133 spiderKilled, 134 spiderKilledWatched, 135 altarCaptured, 136 altarCapturedWatched, 137 wardPlaced, 138 wardKilled in 3.7 and not in 3.8.valueis present when event = 25 or 78 or 79 or 80 or 82 or 135 or 136 in 3.7, and present when event = 25 or 78 or 79 or 80 or 82 or 137 or 138 in 3.8.killis present when event = 1 or 2 or 34 or 37 or 129 or 130 or 131 or 132 or 133 or 134 in 3.7, and present when event = 1 or 2 or 34 or 37 or 131 or 132 or 133 or 134 or 135 or 136 in 3.8.monsteris present when event = 37 or 129 or 130 or 131 or 132 or 133 or 134 in 3.7, and present when event = 37 or 131 or 132 or 133 or 134 or 135 or 136 in 3.8.
Structs
SpellCastammoUsedis in 3.8 (i32), afterlaunchZ, and not in 3.7.ammoRechargeis in 3.8 (f32), afterammoUsed, and not in 3.7.applyRechargeis in 3.8 (u8), afterammoRecharge, and not in 3.7.
3.9
Client builds from 3.9.0.491 up to, not including, 3.10.0.237. Patch notes: V3.9.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 3.9.0.491 | 11 | 0 | 3 | 8cc9d22 | 2026-10-21 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: BounceMissile, CampTimer, ChampionRemoved, DeathTimer, InhibitorDied, LevelCap, MarkerMoved, ResourceKindChanged, SpellRankLimits, SpellToggled, StreamChunk, StreamChunkRange, StreamMetadata.
Every message of this range (249)
Against 3.8
Where a build from 3.9.0.491 up to, not including, 3.10.0.237 differs from one from 3.8.0.226 up to, not including, 3.9.0.491. Anything not named here is the same in both.
In 3.9, not in 3.8
| Message | Sent by | Command | What it does |
|---|---|---|---|
CursorRings | server | 264 on events | What a server sends its player’s champion to draw rings around the cursor while no spell is being aimed |
EffectCounter | server | 265 on events | Set the number an effect shows on its icon |
InventorySnapshot | server | 268 on events | State a unit’s whole inventory at once, with each slot’s cooldown |
MissileSpeed | server | 269 on events | Change how fast a missile flies |
ShopUndo | client | 266 on requests | What a client sends as its player presses the shop’s undo button |
ShopUndoCount | server | 267 on events | Say how many purchases a champion can still undo |
SurrenderAllowed | server | 270 on events | Say whether a champion’s player can call a surrender vote |
Laid out differently
ClientEvent(vectors: altar-captured-on-3-9, altar-captured-watched-on-3-9, baron-killed-on-3-9, baron-killed-watched-on-3-9, buff-on-3-9, consumable-bought-on-3-9, critical-strike-on-3-9, crowd-control-on-3-9, damage-dealt-on-3-9, damage-taken-on-3-9, death-assist-on-3-9, died-on-3-9, dragon-killed-on-3-9, dragon-killed-watched-on-3-9, gold-earned-on-3-9, gold-spent-on-3-9, heal-cast-on-3-9, heal-on-3-9, item-bought-on-3-9, item-callout-on-3-9, item-changed-on-3-9, item-removed-on-3-9, item-sold-on-3-9, killing-spree-on-3-9, monster-killed-on-3-9, one-on-3-9, removed-on-3-9, spawned-on-3-9, spider-killed-on-3-9, spider-killed-watched-on-3-9, turret-died-on-3-9, undo-changed-on-3-9)eventtakes 83 undoChanged, 102 minionsSpawned, 103 welcome, 104 startNoticeTwo, 105 startNoticeThree, 109 scoreboardOpened, 132 dragonKilled, 133 dragonKilledWatched, 134 baronKilled, 135 baronKilledWatched, 136 spiderKilled, 137 spiderKilledWatched, 138 altarCaptured, 139 altarCapturedWatched, 140 wardPlaced, 141 wardKilled in 3.9 and not in 3.8.eventtakes 101 minionsSpawned, 102 welcome, 103 startNoticeTwo, 104 startNoticeThree, 108 scoreboardOpened, 131 dragonKilled, 132 dragonKilledWatched, 133 baronKilled, 134 baronKilledWatched, 135 spiderKilled, 136 spiderKilledWatched, 137 altarCaptured, 138 altarCapturedWatched, 139 wardPlaced, 140 wardKilled in 3.8 and not in 3.9.damage.sourceKindtakes 5 cheat in 3.9 and not in 3.8.valueis present when event = 25 or 78 or 79 or 80 or 82 or 137 or 138 in 3.8, and present when event = 25 or 78 or 79 or 80 or 82 or 83 or 138 or 139 in 3.9.heal.sourceKindtakes 5 cheat in 3.9 and not in 3.8.effect.sourceKindtakes 5 cheat in 3.9 and not in 3.8.killis present when event = 1 or 2 or 34 or 37 or 131 or 132 or 133 or 134 or 135 or 136 in 3.8, and present when event = 1 or 2 or 34 or 37 or 132 or 133 or 134 or 135 or 136 or 137 in 3.9.monsteris present when event = 37 or 131 or 132 or 133 or 134 or 135 or 136 in 3.8, and present when event = 37 or 132 or 133 or 134 or 135 or 136 or 137 in 3.9.
DeathHistory(vectors: one-on-3-9)entries[].eventtakes 83 undoChanged, 102 minionsSpawned, 103 welcome, 104 startNoticeTwo, 105 startNoticeThree, 109 scoreboardOpened, 132 dragonKilled, 133 dragonKilledWatched, 134 baronKilled, 135 baronKilledWatched, 136 spiderKilled, 137 spiderKilledWatched, 138 altarCaptured, 139 altarCapturedWatched, 140 wardPlaced, 141 wardKilled in 3.9 and not in 3.8.entries[].eventtakes 101 minionsSpawned, 102 welcome, 103 startNoticeTwo, 104 startNoticeThree, 108 scoreboardOpened, 131 dragonKilled, 132 dragonKilledWatched, 133 baronKilled, 134 baronKilledWatched, 135 spiderKilled, 136 spiderKilledWatched, 137 altarCaptured, 138 altarCapturedWatched, 139 wardPlaced, 140 wardKilled in 3.8 and not in 3.9.entries[].damage.sourceKindtakes 5 cheat in 3.9 and not in 3.8.entries[].valueis present when event = 25 or 78 or 79 or 80 or 82 or 137 or 138 in 3.8, and present when event = 25 or 78 or 79 or 80 or 82 or 83 or 138 or 139 in 3.9.entries[].heal.sourceKindtakes 5 cheat in 3.9 and not in 3.8.entries[].effect.sourceKindtakes 5 cheat in 3.9 and not in 3.8.entries[].killis present when event = 1 or 2 or 34 or 37 or 131 or 132 or 133 or 134 or 135 or 136 in 3.8, and present when event = 1 or 2 or 34 or 37 or 132 or 133 or 134 or 135 or 136 or 137 in 3.9.entries[].monsteris present when event = 37 or 131 or 132 or 133 or 134 or 135 or 136 in 3.8, and present when event = 37 or 132 or 133 or 134 or 135 or 136 or 137 in 3.9.
MissileReportunknownCis in 3.9 (f32), afterunset, and not in 3.8.unknownDis in 3.9 (f32), afterunknownC, and not in 3.8.
MissileStatespeedChangeis in 3.9 (f32), afterlifeSpent, and not in 3.8.speedChangeTimeis in 3.9 (f32), afterspeedChange, and not in 3.8.
RemoveItemAnswerwhichis in 3.9 (1-byte bits) at the start, and not in 3.8.slotis in 3.8 and not in 3.9.
Respawnedyis in 3.8 and not in 3.9.
RevivedatYis in 3.8 and not in 3.9.
UnitTextstyletakes 24 damage, 25 critical, 26 debug in 3.9 and not in 3.8.styletakes 23 damage, 24 critical, 25 debug in 3.8 and not in 3.9.
VersionSync(vectors: one-on-3-9)features.menuBackis at bit 3 in 3.8 and at bit 2 in 3.9.featureshasmissileWarningat bit 3 in 3.9, and not in 3.8.features.audioBackendis at bit 5 in 3.8 and at bit 4 in 3.9.features.animatedCursorsis at bit 6 in 3.8 and at bit 5 in 3.9.featureshasaltControlsat bit 6 in 3.9, and not in 3.8.featureshasshopUndoat bit 7 in 3.9, and not in 3.8.featureshasskillshotOutlineat bit 8 in 3.9, and not in 3.8.features.unusedis at bit 7, 25 bits wide, in 3.8 and at bit 9, 23 bits wide, in 3.9.featureshaskeyboardDisplayat bit 2 in 3.8, and not in 3.9.featureshaswallJumpsat bit 4 in 3.8, and not in 3.9.
WorldEvent(vectors: altar-captured-on-3-9, altar-captured-watched-on-3-9, baron-killed-on-3-9, baron-killed-watched-on-3-9, buff-on-3-9, consumable-bought-on-3-9, critical-strike-on-3-9, crowd-control-on-3-9, damage-dealt-on-3-9, damage-taken-on-3-9, death-assist-on-3-9, died-on-3-9, dragon-killed-on-3-9, dragon-killed-watched-on-3-9, gold-earned-on-3-9, gold-spent-on-3-9, heal-cast-on-3-9, heal-on-3-9, item-bought-on-3-9, item-callout-on-3-9, item-changed-on-3-9, item-removed-on-3-9, item-sold-on-3-9, killing-spree-on-3-9, monster-killed-on-3-9, one-on-3-9, removed-on-3-9, spawned-on-3-9, spider-killed-on-3-9, spider-killed-watched-on-3-9, turret-died-on-3-9, undo-changed-on-3-9)eventtakes 83 undoChanged, 102 minionsSpawned, 103 welcome, 104 startNoticeTwo, 105 startNoticeThree, 109 scoreboardOpened, 132 dragonKilled, 133 dragonKilledWatched, 134 baronKilled, 135 baronKilledWatched, 136 spiderKilled, 137 spiderKilledWatched, 138 altarCaptured, 139 altarCapturedWatched, 140 wardPlaced, 141 wardKilled in 3.9 and not in 3.8.eventtakes 101 minionsSpawned, 102 welcome, 103 startNoticeTwo, 104 startNoticeThree, 108 scoreboardOpened, 131 dragonKilled, 132 dragonKilledWatched, 133 baronKilled, 134 baronKilledWatched, 135 spiderKilled, 136 spiderKilledWatched, 137 altarCaptured, 138 altarCapturedWatched, 139 wardPlaced, 140 wardKilled in 3.8 and not in 3.9.damage.sourceKindtakes 5 cheat in 3.9 and not in 3.8.valueis present when event = 25 or 78 or 79 or 80 or 82 or 137 or 138 in 3.8, and present when event = 25 or 78 or 79 or 80 or 82 or 83 or 138 or 139 in 3.9.heal.sourceKindtakes 5 cheat in 3.9 and not in 3.8.effect.sourceKindtakes 5 cheat in 3.9 and not in 3.8.killis present when event = 1 or 2 or 34 or 37 or 131 or 132 or 133 or 134 or 135 or 136 in 3.8, and present when event = 1 or 2 or 34 or 37 or 132 or 133 or 134 or 135 or 136 or 137 in 3.9.monsteris present when event = 37 or 131 or 132 or 133 or 134 or 135 or 136 in 3.8, and present when event = 37 or 132 or 133 or 134 or 135 or 136 or 137 in 3.9.
3.10
Client builds from 3.10.0.237 up to, not including, 3.11.0.306. Patch notes: V3.10.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 3.10.0.237 | 11 | 0 | 3 | d08ebb0 | 2026-10-21 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: BounceMissile, CampTimer, DeathTimer, InhibitorDied, MarkerMoved, ResourceKindChanged, SpellToggled, StreamChunk, StreamChunkRange, StreamMetadata.
Every message of this range (253)
Against 3.9
Where a build from 3.10.0.237 up to, not including, 3.11.0.306 differs from one from 3.9.0.491 up to, not including, 3.10.0.237. Anything not named here is the same in both.
In 3.10, not in 3.9
| Message | Sent by | Command | What it does |
|---|---|---|---|
ChampionRemoved | server | 272 on events | Take a champion out of the world |
LevelCap | server | 274 on events | What a server sends its player’s champion to set the highest level it can reach |
SpellRankLimits | server | 273 on events | What a server sends its player’s champion to set how far each spell can be raised, and at which levels |
UnitLookAt | server | 271 on events | Turn a unit toward something |
Laid out differently
ClientEvent(vectors: altar-captured-on-3-10, altar-captured-watched-on-3-10, baron-killed-on-3-10, baron-killed-watched-on-3-10, buff-on-3-10, consumable-bought-on-3-10, critical-strike-on-3-10, crowd-control-on-3-10, damage-dealt-on-3-10, damage-taken-on-3-10, death-assist-on-3-10, died-on-3-10, dragon-killed-on-3-10, dragon-killed-watched-on-3-10, gold-earned-on-3-10, gold-spent-on-3-10, heal-cast-on-3-10, heal-on-3-10, item-bought-on-3-10, item-callout-on-3-10, item-changed-on-3-10, item-removed-on-3-10, item-sold-on-3-10, killing-spree-on-3-10, monster-killed-on-3-10, one-on-3-10, removed-on-3-10, spawned-on-3-10, spider-killed-on-3-10, spider-killed-watched-on-3-10, turret-died-on-3-10, undo-changed-on-3-10)damage.sourceKindtakes 1 named, 2 script in 3.10 and not in 3.9.damage.sourceKindtakes 1 item, 2 buff in 3.9 and not in 3.10.heal.sourceKindtakes 1 named, 2 script in 3.10 and not in 3.9.heal.sourceKindtakes 1 item, 2 buff in 3.9 and not in 3.10.effect.sourceKindtakes 1 named, 2 script in 3.10 and not in 3.9.effect.sourceKindtakes 1 item, 2 buff in 3.9 and not in 3.10.
CreateChampionhowhasswapat bit 3 in 3.10, and not in 3.9.how.unusedis at bit 3, 5 bits wide, in 3.9 and at bit 4, 4 bits wide, in 3.10.
DeathHistory(vectors: one-on-3-10)entries[].damage.sourceKindtakes 1 named, 2 script in 3.10 and not in 3.9.entries[].damage.sourceKindtakes 1 item, 2 buff in 3.9 and not in 3.10.entries[].heal.sourceKindtakes 1 named, 2 script in 3.10 and not in 3.9.entries[].heal.sourceKindtakes 1 item, 2 buff in 3.9 and not in 3.10.entries[].effect.sourceKindtakes 1 named, 2 script in 3.10 and not in 3.9.entries[].effect.sourceKindtakes 1 item, 2 buff in 3.9 and not in 3.10.
VersionSync(vectors: one-on-3-10)agreement.unusedis at bit 5, 3 bits wide, in 3.9 and at bit 4, 4 bits wide, in 3.10.agreementhascosmeticat bit 4 in 3.9, and not in 3.10.
WorldEvent(vectors: altar-captured-on-3-10, altar-captured-watched-on-3-10, baron-killed-on-3-10, baron-killed-watched-on-3-10, buff-on-3-10, consumable-bought-on-3-10, critical-strike-on-3-10, crowd-control-on-3-10, damage-dealt-on-3-10, damage-taken-on-3-10, death-assist-on-3-10, died-on-3-10, dragon-killed-on-3-10, dragon-killed-watched-on-3-10, gold-earned-on-3-10, gold-spent-on-3-10, heal-cast-on-3-10, heal-on-3-10, item-bought-on-3-10, item-callout-on-3-10, item-changed-on-3-10, item-removed-on-3-10, item-sold-on-3-10, killing-spree-on-3-10, monster-killed-on-3-10, one-on-3-10, removed-on-3-10, spawned-on-3-10, spider-killed-on-3-10, spider-killed-watched-on-3-10, turret-died-on-3-10, undo-changed-on-3-10)damage.sourceKindtakes 1 named, 2 script in 3.10 and not in 3.9.damage.sourceKindtakes 1 item, 2 buff in 3.9 and not in 3.10.heal.sourceKindtakes 1 named, 2 script in 3.10 and not in 3.9.heal.sourceKindtakes 1 item, 2 buff in 3.9 and not in 3.10.effect.sourceKindtakes 1 named, 2 script in 3.10 and not in 3.9.effect.sourceKindtakes 1 item, 2 buff in 3.9 and not in 3.10.
Structs
Particlescaleis in 3.10 (f32), afterrunningFor, and not in 3.9.
Chapters
- In the objects chapter, a passage holds for 3.10 and not 3.9: A region id of 0 names no region: given a
RegionAddedcarrying 0, a client gives the region an id of its own, its own node in the top byte and a count below it, which no message from a server can name. - In the objects chapter, a passage holds for 3.10 and not 3.9: A server MUST send that
Registeredbefore any create message, because a client given a create message before it has its own client id stops. - In the objects chapter, a passage holds for 3.10 and not 3.9: | Map | Holds | | — | ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– | | 1 | the six
Barracksnames, the six spawn points named__P_…,HQ_T1,HQ_T2,orderShop01,chaosShop01| | 8 |orderShop01,chaosShop01| | 10 |Barracks_T1_L1,Barracks_T1_R1,Barracks_T2_L1,Barracks_T2_R1, theL01andR01spawn points of both sides,HQ_T1,HQ_T2,orderShop01,chaosShop01| | 12 |Barracks_T1_C1,Barracks_T2_C1, theC01spawn points of both sides named____P_…,HQ_T1,HQ_T2,OrderShop01,ChaosShop01| - In the objects chapter, a passage holds for 3.10 and not 3.9:
CreateTurretfirst removes any object holding its net id. - In the objects chapter, a passage holds for 3.10 and not 3.9: A
WaypointGrouporWaypointGroupAtSpeedpath for a unit not yet held is applied once an object takes that net id, and itsWaypointAckis sent as usual. - In the space chapter, a passage holds for 3.10 and not 3.9: The maps a client has data for include these: |
map| Map | Origin of its paths | | —– | –––––––––– | —————–– | | 1 | Summoner’s Rift | 6991, 7223 | | 8 | The Crystal Scar | 6947, 6609 | | 10 | The Twisted Treeline | 7708, 7227 | | 12 | The Howling Abyss | 6560, 6309 | - In the time chapter, a passage holds for 3.10 and not 3.9: A client holds the speed
GameSpeedgives to between 0 and 10 times normal. - In the values chapter, a passage holds for 3.10 and not 3.9: A cast’s slot also takes 64 to 72 for a basic attack and 73 to 81 for a critical one.
- In the values chapter, a passage holds for 3.10 and not 3.9: Of those, 64 is the champion’s basic attack and 73 its critical attack; the rest are its other basic and critical attacks.
- In the values chapter, a passage holds for 3.10 and not 3.9: A champion’s own book ends at slot 59.
- In the data chapter, a passage holds for 3.10 and not 3.9: The client has maps 1, 8, 10 and 12, and no map 11.
- In the data chapter, a passage holds for 3.10 and not 3.9: A
CreateTurretnaming no building does nothing. - In the data chapter, a passage holds for 3.10 and not 3.9:
CreateTurretcompares names exactly, case included. - In the data chapter, a passage holds for 3.10 and not 3.9: Most champions’ spells and attacks are in
DATA/Spells/<Spell>.inibinwith all other spells, and some champions’ inDATA/Characters/<Champion>/Spells/<Spell>.inibin. - In the joining chapter, a passage holds for 3.10 and not 3.9: Whitespace separates a client’s arguments, and double quotes group words into one.
- In the joining chapter, a passage holds for 3.10 and not 3.9: The first answer for a client id stands, and a later one for the same client id changes nothing.
- In the joining chapter, a passage holds for 3.10 and not 3.9: A client loads only where
VersionSyncsetsagreement.buildMatches. - In the joining chapter, a passage holds for 3.10 and not 3.9: A client writes all ones where its player id goes in
LoadingProgress. - In the joining chapter, a passage holds for 3.10 and not 3.9: The loading screen picks the card a
SeatLoadProgressupdates by the client id it carries, not by its player id. - In the joining chapter, a passage holds for 3.10 and not 3.9: Until it sends
CharacterSelected, a client drops every message butVersionSync,QueryStatusAnswer,MatchIdentity,SeatLoadProgressandGameEnded, apart from what arrives on the registration and roster channels, and keeps nothing it drops for later. - In the joining chapter, a passage holds for 3.10 and not 3.9: A client whose connection drops before play begins ends rather than connecting again once it knows its own client id, and connects again before then.
- In the units chapter, a passage holds for 3.10 and not 3.9: A client drops a
CreateChampionor aCreateNeutralthat arrives before it sendsCharacterSelected, reconnecting included. - In the units chapter, a passage holds for 3.10 and not 3.9: A client drops a
CreateChampionor aCreateNeutralthat arrives before it has loaded the map’s ground grid. - In the units chapter, a passage holds for 3.10 and not 3.9: A client leaves the match when
ChampionRemovednames its own champion. - In the vision chapter, a passage holds for 3.10 and not 3.9:
EnterSightstates the unit’s shields and looks and, for a champion or a minion, where it stands or which path it walks, and nothing of its health or resource. - In the vision chapter, a passage holds for 3.10 and not 3.9:
EnterLocalSightstates the unit’s maximum health beside its health, and nothing of its resource. - In the vision chapter, a passage holds for 3.10 and not 3.9:
LeaveLocalSighttakes a unit out of what one client alone can see, and leaves it held. - In the vision chapter, a passage holds for 3.10 and not 3.9:
GoldGainedshows floating gold only for the client’s own champion. - In the vision chapter, a passage holds for 3.10 and not 3.9: Where the source of a
GoldGainedcannot show text, the gold shows over the client’s own champion. - In the movement chapter, a passage holds for 3.10 and not 3.9: A champion or minion coming into sight while standing carries its place and facing in
EnterSightinstead. - In the movement chapter, a passage holds for 3.10 and not 3.9: A client reads the points of a movement whose unit it does not hold, and keeps them for when the unit appears (see Objects and identifiers).
- In the movement chapter, a passage holds for 3.10 and not 3.9: A client takes a
WaypointGroupor aWaypointGroupAtSpeedon channels 2, 3 and 4 alike. - In the movement chapter, a passage holds for 3.10 and not 3.9: A server MAY send
NavigationFlags. - In the replication chapter, a passage holds for 3.10 and not 3.9: The groups follow in the order 0, 1, 2, 3, 5 and then 4: group 4 comes last, each behind the length of its run.
- In the replication chapter, a passage holds for 3.10 and not 3.9: Each row also gives the shape a sending end writes the value in.
- In the replication chapter, a passage holds for 3.10 and not 3.9: ## A champion | Group | Bits | Value | Shape | | —– | –––– | –––––––––––––––––––––––––––––––––––––––––––– | –––– | | 0 | 0 | Gold in hand | measured | | 0 | 1 | Gold earned in all | measured | | 0 | 2 to 3 | Which of the champion’s slots can be cast from, as a set of bits over two words | counted | | 0 | 4 | Points held for evolving a spell | counted | | 0 | 5 | Which spells have evolved, as a set of bits | counted | | 0 | 6 to 25 | What the spell in one slot costs, slots 0 to 3 first | measured | | 1 | 0 to 3 | What the champion is doing, and whether it is proof against spells, all harm and strikes | counted | | 1 | 4 | Damage it deals by striking | measured | | 1 | 5 | Damage its spells deal before modifiers | measured | | 1 | 6 | How often it turns a blow aside | measured | | 1 | 7 | How often it strikes critically | measured | | 1 | 8 | Armour | measured | | 1 | 9 | Spell resistance | measured | | 1 | 10 to 11 | How fast health and resource return | measured | | 1 | 12 | How far it strikes from | measured | | 1 | 13 to 16 | Flat and percent modifiers on the damage it strikes with, then on its spells’ damage | measured | | 1 | 17 to 18 | Flat and percent reduction of the spell damage it takes | measured | | 1 | 19 | A multiplier on how fast it strikes | measured | | 1 | 20 | A flat addition to how far from the champion an aimed spell’s point is allowed to land | measured | | 1 | 21 | A modifier on its cooldowns | measured | | 1 | 22 | When its passive’s cooldown ends, as a moment on the match clock | measured | | 1 | 23 | How long its passive’s cooldown lasts in all | measured | | 1 | 24 to 25 | How much armour it cuts through, flat then as the share left standing | measured | | 1 | 26 to 27 | How much spell resistance it cuts through, flat then as the share left standing | measured | | 1 | 28 | Life steal | measured | | 1 | 29 | Spell vamp | measured | | 1 | 30 | Crowd-control reduction | measured | | 3 | 0 to 1 | Health and resource as they stand | measured | | 3 | 2 to 3 | Health and resource at their greatest | measured | | 3 | 4 | Experience | measured | | 3 | 5 to 9 | Lifetime, and how far the champion sees | measured | | 3 | 10 | How fast it moves | measured | | 3 | 11 to 12 | Its size, and how wide a path it needs | measured | | 3 | 13 | Level | counted | | 3 | 14 to 16 | Kills taken from no side, and whether anything is allowed to aim at it | counted | ## A turret | Group | Bits | Value | Shape | | —– | –––– | ––––––––––––––––––––––––––––––––––––––––––– | –––– | | 1 | 0 to 1 | Health as it stands, then at its greatest | measured | | 1 | 2 to 5 | What the turret is doing, and whether it is proof against spells, all harm and strikes | counted | | 1 | 6 | Damage it deals by striking | measured | | 1 | 7 to 8 | Armour and spell resistance | measured | | 1 | 9 | A multiplier on how fast it strikes | measured | | 1 | 10 to 13 | Flat and percent modifiers on the damage it strikes with, then on its spells’ damage | measured | | 1 | 14 | How fast health returns | measured | | 3 | 0 to 1 | How far it sees | measured | | 3 | 2 | How fast it moves | measured | | 3 | 3 | Its size | measured | | 5 | 0 to 1 | Whether anything is allowed to aim at it, and which side is | counted | ## A minion, and a unit belonging to no side Both answer to one table.
- In the replication chapter, a passage holds for 3.10 and not 3.9: A server grants experience with
ExperienceGainedand gold withGoldGained. - In the match chapter, a passage holds for 3.10 and not 3.9: No unit advances for
StatTick. - In the match chapter, a passage holds for 3.10 and not 3.9: A client shows nothing for any other hold.
- In the match chapter, a passage holds for 3.10 and not 3.9: A client announces who resumed the match even where it was not held.
- In the match chapter, a passage holds for 3.10 and not 3.9: A client sends
ClientFinishedevery timeGameEndedarrives in play, and not while playing a replay. - In the match chapter, a passage holds for 3.10 and not 3.9: A server MUST NOT send
SpawnStartto a client coming back from a drop: it returns the client to spawning, from which only anotherStartGamebrings it back into play. - In the match chapter, a passage holds for 3.10 and not 3.9:
Reconnectedannounces that another player came back. - In the match chapter, a passage holds for 3.10 and not 3.9: A client sends
ReconnectedInMatchonly where the match is in play. - In the match chapter, a passage holds for 3.10 and not 3.9: Where it has heard nothing for 5 seconds in play, a client shows its player that it is trying to reconnect, and clears the notice as soon as anything arrives.
- In the combat chapter, a passage holds for 3.10 and not 3.9: Each
Attackplays one swing, cutting off any swing still under way. - In the combat chapter, a passage holds for 3.10 and not 3.9: A client sets the mark of
TargetHeldChampiononly for a unit on the other side. - In the combat chapter, a passage holds for 3.10 and not 3.9: A client shows nothing at all for
Damageunless it holds both the unit hurt and the unit dealing it. - In the combat chapter, a passage holds for 3.10 and not 3.9: A client honours
GreyscaleWhenDeadwhatever its display settings, and restores colour at once as it clears. - In the combat chapter, a passage holds for 3.10 and not 3.9:
RevivedandRespawnedeach place the champion where they say and restore its health and mana. - In the combat chapter, a passage holds for 3.10 and not 3.9: As a unit changes side, a client sends
UseObjectnaming it for every unit it holds that targets it, whether or not it can be used, and clears that target. - In the spells chapter, a passage holds for 3.10 and not 3.9: A client asks only where the champion has a point to spend, is of the level the slot requires, and the spell is below its highest level.
- In the spells chapter, a passage holds for 3.10 and not 3.9: A client also sends
UpgradeSpellfor a point of a separate kind the champion holds, and spends no spell point for it. - In the shop chapter, a passage holds for 3.10 and not 3.9: Opening the shop sends nothing, except in the tutorial, where it sends
TutorialShopOpened. - In the shop chapter, a passage holds for 3.10 and not 3.9: A client asks only where the item’s price, after any substitution, is within the champion’s gold, and where a slot is free, unless the item can be used in the shop.
- In the objectives chapter, a passage holds for 3.10 and not 3.9:
CampOpenedalso places a camp the client does not know yet, where the message says. - In the communication chapter, a passage holds for 3.10 and not 3.9: A client shows how many lines
ChatAllowanceleaves its player. - In the communication chapter, a passage holds for 3.10 and not 3.9: A client shows no ping its server marks as throttled, and notes in its own chat that the player is pinging too often.
- In the communication chapter, a passage holds for 3.10 and not 3.9: A client never answers a
VoiceEventfor a voice tied to a unit. - In the votes chapter, a passage holds for 3.10 and not 3.9: Where the version answer’s features turn the commands on, a client also sends
BalanceVoteRefused, a vote against, as its player types/noequalize. - In the votes chapter, a passage holds for 3.10 and not 3.9:
BalanceVoteopens the panel where it says the vote opens. - In the interface chapter, a passage holds for 3.10 and not 3.9: A client ignores
CameraLockSetthat arrives while it holds its camera itself, and answers nothing. - In the interface chapter, a passage holds for 3.10 and not 3.9: A watching client ignores
InputLock. - In the guidance chapter, a passage holds for 3.10 and not 3.9:
HudHighlightedlights elements 0 to 8 for part 0 and element 0 alone for part 2. - In the guidance chapter, a passage holds for 3.10 and not 3.9: A client is in the tutorial where
VersionSyncnames the mode TUTORIAL and a setting of its own turns the tutorial on, whatever the map. - In the spectating chapter, a passage holds for 3.10 and not 3.9: A player’s key is never base64: one longer than 16 characters is cut to its first 16.
- In the spectating chapter, a passage holds for 3.10 and not 3.9: A client takes the key frame to fetch from
keyFrameId, and chunks arrive compressed too. - In the spectating chapter, a passage holds for 3.10 and not 3.9: A client whose own build differs from the one
VersionSyncnames asks its player whether to go on, and leaves where the player declines.
3.11
Client builds from 3.11.0.306 up to, not including, 3.12.0.251. Patch notes: V3.11.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 3.11.0.306 | 11 | 0 | 3 | ee92bba | 2026-10-21 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: BounceMissile, DeathTimer, InhibitorDied, SpellToggled, StreamChunk, StreamChunkRange, StreamMetadata.
Every message of this range (257)
Against 3.10
Where a build from 3.11.0.306 up to, not including, 3.12.0.251 differs from one from 3.10.0.237 up to, not including, 3.11.0.306. Anything not named here is the same in both.
In 3.11, not in 3.10
| Message | Sent by | Command | What it does |
|---|---|---|---|
CampTimer | server | 278 on events | What a server sends a client watching a match to set when a camp is next due |
MarkerMoved | server | 276 on events | Move a marker (SpawnMarker) from one place toward another |
MultikillCount | server | 277 on events | What a server sends a client watching a match to state a champion’s run of kills |
ResourceKindChanged | server | 275 on events | Change what sort of resource a unit has, which its bar’s colours and art follow |
Laid out differently
CapturePointChanged(vectors: none-on-3-11)resourceKindtakes 8 ferocity, 9 bloodWell, 10 other in 3.10 and not in 3.11.
ClientEvent(vectors: altar-captured-on-3-11, altar-captured-watched-on-3-11, baron-killed-on-3-11, baron-killed-watched-on-3-11, buff-on-3-11, consumable-bought-on-3-11, critical-strike-on-3-11, crowd-control-on-3-11, damage-dealt-on-3-11, damage-taken-on-3-11, death-assist-on-3-11, died-on-3-11, dragon-killed-on-3-11, dragon-killed-watched-on-3-11, gold-earned-on-3-11, gold-spent-on-3-11, heal-cast-on-3-11, heal-on-3-11, item-bought-on-3-11, item-callout-on-3-11, item-changed-on-3-11, item-removed-on-3-11, item-sold-on-3-11, killing-spree-on-3-11, monster-killed-on-3-11, one-on-3-11, removed-on-3-11, spawned-on-3-11, spider-killed-on-3-11, spider-killed-watched-on-3-11, turret-damaged-on-3-11, turret-died-on-3-11, undo-changed-on-3-11)eventtakes 7 championKillUnseen, 9 singleKill, 10 doubleKill, 16 damageTaken, 17 damageDealt, 24 goldSpent, 25 goldEarned, 26 consumableBought, 27 criticalStrike, 30 inhibitorKilled, 31 inhibitorDied, 32 inhibitorRespawningSoon, 35 turretKilled, 36 turretDied, 37 turretDamaged, 38 minionKilled, 39 minionDenied, 40 monsterKilled, 41 largeMonsterKilled, 42 nexusKilled, 43 nexusDied, 44 heal, 45 healCast, 46 buff, 47 crowdControl, 48 killingSpree, 55 killDuringSpree, 62 doubleKillDuringSpree, 63 tripleKillDuringSpree, 64 quadraKillDuringSpree, 67 deathAssist, 68 playerQuit, 69 playerLeft, 70 playerReconnected, 81 itemBought, 82 itemSold, 83 itemRemoved, 84 itemCallout, 85 itemChanged, 86 undoChanged, 105 minionsSpawned, 106 welcome, 107 startNoticeTwo, 108 startNoticeThree, 112 scoreboardOpened, 135 dragonKilled, 136 dragonKilledWatched, 137 baronKilled, 138 baronKilledWatched, 139 spiderKilled, 140 spiderKilledWatched, 141 altarCaptured, 142 altarCapturedWatched, 143 wardPlaced, 144 wardKilled in 3.11 and not in 3.10.eventtakes 8 singleKill, 9 doubleKill, 15 damageTaken, 16 damageDealt, 23 goldSpent, 24 goldEarned, 25 consumableBought, 26 criticalStrike, 29 inhibitorKilled, 30 inhibitorDied, 31 inhibitorRespawningSoon, 33 turretKilled, 34 turretDied, 35 minionKilled, 36 minionDenied, 37 monsterKilled, 38 largeMonsterKilled, 39 nexusKilled, 40 nexusDied, 41 heal, 42 healCast, 43 buff, 44 crowdControl, 45 killingSpree, 52 killDuringSpree, 59 doubleKillDuringSpree, 60 tripleKillDuringSpree, 61 quadraKillDuringSpree, 64 deathAssist, 65 playerQuit, 66 playerLeft, 67 playerReconnected, 78 itemBought, 79 itemSold, 80 itemRemoved, 81 itemCallout, 82 itemChanged, 83 undoChanged, 102 minionsSpawned, 103 welcome, 104 startNoticeTwo, 105 startNoticeThree, 109 scoreboardOpened, 132 dragonKilled, 133 dragonKilledWatched, 134 baronKilled, 135 baronKilledWatched, 136 spiderKilled, 137 spiderKilledWatched, 138 altarCaptured, 139 altarCapturedWatched, 140 wardPlaced, 141 wardKilled in 3.10 and not in 3.11.damageis present when event = 15 or 16 in 3.10, and present when event = 16 or 17 in 3.11.spentis present when event = 23 in 3.10, and present when event = 24 in 3.11.valueis present when event = 25 or 78 or 79 or 80 or 82 or 83 or 138 or 139 in 3.10, and present when event = 26 or 81 or 82 or 83 or 85 or 86 or 141 or 142 in 3.11.criticalis present when event = 26 in 3.10, and present when event = 27 in 3.11.spreeis present when event = 45 in 3.10, and present when event = 48 in 3.11.earnedis present when event = 24 in 3.10, and present when event = 25 in 3.11.healis present when event = 41 or 42 in 3.10, and present when event = 44 or 45 in 3.11.effectis present when event = 43 or 44 in 3.10, and present when event = 46 or 47 in 3.11.extrais present when event = 44 in 3.10, and present when event = 47 in 3.11.assistis present when event = 64 in 3.10, and present when event = 67 in 3.11.killis present when event = 1 or 2 or 34 or 37 or 132 or 133 or 134 or 135 or 136 or 137 in 3.10, and present when event = 1 or 2 or 36 or 37 or 40 or 135 or 136 or 137 or 138 or 139 or 140 in 3.11.monsteris present when event = 37 or 132 or 133 or 134 or 135 or 136 or 137 in 3.10, and present when event = 40 or 135 or 136 or 137 or 138 or 139 or 140 in 3.11.calloutis present when event = 81 in 3.10, and present when event = 84 in 3.11.
CreateNeutral(vectors: inactive-on-3-11)levelis in 3.11 (i32), afterrevealEvent, and not in 3.10.
DeathHistory(vectors: one-on-3-11)entries[].eventtakes 7 championKillUnseen, 9 singleKill, 10 doubleKill, 16 damageTaken, 17 damageDealt, 24 goldSpent, 25 goldEarned, 26 consumableBought, 27 criticalStrike, 30 inhibitorKilled, 31 inhibitorDied, 32 inhibitorRespawningSoon, 35 turretKilled, 36 turretDied, 37 turretDamaged, 38 minionKilled, 39 minionDenied, 40 monsterKilled, 41 largeMonsterKilled, 42 nexusKilled, 43 nexusDied, 44 heal, 45 healCast, 46 buff, 47 crowdControl, 48 killingSpree, 55 killDuringSpree, 62 doubleKillDuringSpree, 63 tripleKillDuringSpree, 64 quadraKillDuringSpree, 67 deathAssist, 68 playerQuit, 69 playerLeft, 70 playerReconnected, 81 itemBought, 82 itemSold, 83 itemRemoved, 84 itemCallout, 85 itemChanged, 86 undoChanged, 105 minionsSpawned, 106 welcome, 107 startNoticeTwo, 108 startNoticeThree, 112 scoreboardOpened, 135 dragonKilled, 136 dragonKilledWatched, 137 baronKilled, 138 baronKilledWatched, 139 spiderKilled, 140 spiderKilledWatched, 141 altarCaptured, 142 altarCapturedWatched, 143 wardPlaced, 144 wardKilled in 3.11 and not in 3.10.entries[].eventtakes 8 singleKill, 9 doubleKill, 15 damageTaken, 16 damageDealt, 23 goldSpent, 24 goldEarned, 25 consumableBought, 26 criticalStrike, 29 inhibitorKilled, 30 inhibitorDied, 31 inhibitorRespawningSoon, 33 turretKilled, 34 turretDied, 35 minionKilled, 36 minionDenied, 37 monsterKilled, 38 largeMonsterKilled, 39 nexusKilled, 40 nexusDied, 41 heal, 42 healCast, 43 buff, 44 crowdControl, 45 killingSpree, 52 killDuringSpree, 59 doubleKillDuringSpree, 60 tripleKillDuringSpree, 61 quadraKillDuringSpree, 64 deathAssist, 65 playerQuit, 66 playerLeft, 67 playerReconnected, 78 itemBought, 79 itemSold, 80 itemRemoved, 81 itemCallout, 82 itemChanged, 83 undoChanged, 102 minionsSpawned, 103 welcome, 104 startNoticeTwo, 105 startNoticeThree, 109 scoreboardOpened, 132 dragonKilled, 133 dragonKilledWatched, 134 baronKilled, 135 baronKilledWatched, 136 spiderKilled, 137 spiderKilledWatched, 138 altarCaptured, 139 altarCapturedWatched, 140 wardPlaced, 141 wardKilled in 3.10 and not in 3.11.entries[].damageis present when event = 15 or 16 in 3.10, and present when event = 16 or 17 in 3.11.entries[].spentis present when event = 23 in 3.10, and present when event = 24 in 3.11.entries[].valueis present when event = 25 or 78 or 79 or 80 or 82 or 83 or 138 or 139 in 3.10, and present when event = 26 or 81 or 82 or 83 or 85 or 86 or 141 or 142 in 3.11.entries[].criticalis present when event = 26 in 3.10, and present when event = 27 in 3.11.entries[].spreeis present when event = 45 in 3.10, and present when event = 48 in 3.11.entries[].earnedis present when event = 24 in 3.10, and present when event = 25 in 3.11.entries[].healis present when event = 41 or 42 in 3.10, and present when event = 44 or 45 in 3.11.entries[].effectis present when event = 43 or 44 in 3.10, and present when event = 46 or 47 in 3.11.entries[].extrais present when event = 44 in 3.10, and present when event = 47 in 3.11.entries[].assistis present when event = 64 in 3.10, and present when event = 67 in 3.11.entries[].killis present when event = 1 or 2 or 34 or 37 or 132 or 133 or 134 or 135 or 136 or 137 in 3.10, and present when event = 1 or 2 or 36 or 37 or 40 or 135 or 136 or 137 or 138 or 139 or 140 in 3.11.entries[].monsteris present when event = 37 or 132 or 133 or 134 or 135 or 136 or 137 in 3.10, and present when event = 40 or 135 or 136 or 137 or 138 or 139 or 140 in 3.11.entries[].calloutis present when event = 81 in 3.10, and present when event = 84 in 3.11.
EnterSight(vectors: a-fifth-on-3-11, a-fourth-on-3-11, a-third-on-3-11, another-on-3-11, one-on-3-11)view.lookingAtis in 3.11 (u32), afterview.appearance, and not in 3.10.view.lookKindis in 3.11 (u8), afterview.lookingAt, and not in 3.10.view.lookXis in 3.11 (f32), afterview.lookKind, and not in 3.10.view.lookYis in 3.11 (f32), afterview.lookX, and not in 3.10.view.lookZis in 3.11 (f32), afterview.lookY, and not in 3.10.
InventorySnapshot(vectors: one-on-3-11)cooldownsis in 3.11 (8 × f32), afteritems[].charges, and not in 3.10.
QuestUpdated(vectors: one-on-3-11)kindtakes 2 objective in 3.11 and not in 3.10.
SpawnUnit(vectors: one-on-3-11)levelis in 3.11 (u16), afterasset, and not in 3.10.
UnitLookAtunitis in 3.10 and not in 3.11.
VersionSync(vectors: one-on-3-11)featureshasmenuBack2at bit 3 in 3.11, and not in 3.10.features.missileWarningis at bit 3 in 3.10 and at bit 4 in 3.11.features.audioBackendis at bit 4 in 3.10 and at bit 5 in 3.11.features.animatedCursorsis at bit 5 in 3.10 and at bit 6 in 3.11.features.altControlsis at bit 6 in 3.10 and at bit 7 in 3.11.features.shopUndois at bit 7 in 3.10 and at bit 8 in 3.11.features.skillshotOutlineis at bit 8 in 3.10 and at bit 9 in 3.11.featureshasbit10at bit 10 in 3.11, and not in 3.10.featureshaschampionIndicatorat bit 11 in 3.11, and not in 3.10.features.unusedis at bit 9, 23 bits wide, in 3.10 and at bit 12, 20 bits wide, in 3.11.
WorldEvent(vectors: altar-captured-on-3-11, altar-captured-watched-on-3-11, baron-killed-on-3-11, baron-killed-watched-on-3-11, buff-on-3-11, consumable-bought-on-3-11, critical-strike-on-3-11, crowd-control-on-3-11, damage-dealt-on-3-11, damage-taken-on-3-11, death-assist-on-3-11, died-on-3-11, dragon-killed-on-3-11, dragon-killed-watched-on-3-11, gold-earned-on-3-11, gold-spent-on-3-11, heal-cast-on-3-11, heal-on-3-11, item-bought-on-3-11, item-callout-on-3-11, item-changed-on-3-11, item-removed-on-3-11, item-sold-on-3-11, killing-spree-on-3-11, monster-killed-on-3-11, one-on-3-11, removed-on-3-11, spawned-on-3-11, spider-killed-on-3-11, spider-killed-watched-on-3-11, turret-damaged-on-3-11, turret-died-on-3-11, undo-changed-on-3-11)eventtakes 7 championKillUnseen, 9 singleKill, 10 doubleKill, 16 damageTaken, 17 damageDealt, 24 goldSpent, 25 goldEarned, 26 consumableBought, 27 criticalStrike, 30 inhibitorKilled, 31 inhibitorDied, 32 inhibitorRespawningSoon, 35 turretKilled, 36 turretDied, 37 turretDamaged, 38 minionKilled, 39 minionDenied, 40 monsterKilled, 41 largeMonsterKilled, 42 nexusKilled, 43 nexusDied, 44 heal, 45 healCast, 46 buff, 47 crowdControl, 48 killingSpree, 55 killDuringSpree, 62 doubleKillDuringSpree, 63 tripleKillDuringSpree, 64 quadraKillDuringSpree, 67 deathAssist, 68 playerQuit, 69 playerLeft, 70 playerReconnected, 81 itemBought, 82 itemSold, 83 itemRemoved, 84 itemCallout, 85 itemChanged, 86 undoChanged, 105 minionsSpawned, 106 welcome, 107 startNoticeTwo, 108 startNoticeThree, 112 scoreboardOpened, 135 dragonKilled, 136 dragonKilledWatched, 137 baronKilled, 138 baronKilledWatched, 139 spiderKilled, 140 spiderKilledWatched, 141 altarCaptured, 142 altarCapturedWatched, 143 wardPlaced, 144 wardKilled in 3.11 and not in 3.10.eventtakes 8 singleKill, 9 doubleKill, 15 damageTaken, 16 damageDealt, 23 goldSpent, 24 goldEarned, 25 consumableBought, 26 criticalStrike, 29 inhibitorKilled, 30 inhibitorDied, 31 inhibitorRespawningSoon, 33 turretKilled, 34 turretDied, 35 minionKilled, 36 minionDenied, 37 monsterKilled, 38 largeMonsterKilled, 39 nexusKilled, 40 nexusDied, 41 heal, 42 healCast, 43 buff, 44 crowdControl, 45 killingSpree, 52 killDuringSpree, 59 doubleKillDuringSpree, 60 tripleKillDuringSpree, 61 quadraKillDuringSpree, 64 deathAssist, 65 playerQuit, 66 playerLeft, 67 playerReconnected, 78 itemBought, 79 itemSold, 80 itemRemoved, 81 itemCallout, 82 itemChanged, 83 undoChanged, 102 minionsSpawned, 103 welcome, 104 startNoticeTwo, 105 startNoticeThree, 109 scoreboardOpened, 132 dragonKilled, 133 dragonKilledWatched, 134 baronKilled, 135 baronKilledWatched, 136 spiderKilled, 137 spiderKilledWatched, 138 altarCaptured, 139 altarCapturedWatched, 140 wardPlaced, 141 wardKilled in 3.10 and not in 3.11.damageis present when event = 15 or 16 in 3.10, and present when event = 16 or 17 in 3.11.spentis present when event = 23 in 3.10, and present when event = 24 in 3.11.valueis present when event = 25 or 78 or 79 or 80 or 82 or 83 or 138 or 139 in 3.10, and present when event = 26 or 81 or 82 or 83 or 85 or 86 or 141 or 142 in 3.11.criticalis present when event = 26 in 3.10, and present when event = 27 in 3.11.spreeis present when event = 45 in 3.10, and present when event = 48 in 3.11.earnedis present when event = 24 in 3.10, and present when event = 25 in 3.11.healis present when event = 41 or 42 in 3.10, and present when event = 44 or 45 in 3.11.effectis present when event = 43 or 44 in 3.10, and present when event = 46 or 47 in 3.11.extrais present when event = 44 in 3.10, and present when event = 47 in 3.11.assistis present when event = 64 in 3.10, and present when event = 67 in 3.11.killis present when event = 1 or 2 or 34 or 37 or 132 or 133 or 134 or 135 or 136 or 137 in 3.10, and present when event = 1 or 2 or 36 or 37 or 40 or 135 or 136 or 137 or 138 or 139 or 140 in 3.11.monsteris present when event = 37 or 132 or 133 or 134 or 135 or 136 or 137 in 3.10, and present when event = 40 or 135 or 136 or 137 or 138 or 139 or 140 in 3.11.calloutis present when event = 81 in 3.10, and present when event = 84 in 3.11.
Structs
SpellCastpackageis in 3.11 (u32), afterchainOwner, and not in 3.10.applyRechargeis in 3.10 and not in 3.11.
Chapters
- In the transport chapter, a passage holds for 3.10 and not 3.11: An argument longer than sixteen characters holds the key in base64, and the key is the first sixteen bytes it decodes to.
- In the messages chapter, a passage holds for 3.10 and not 3.11: A client unwraps a container on any channel.
- In the objects chapter, a passage holds for 3.10 and not 3.11: A region id of 0 names no region: given a
RegionAddedcarrying 0, a client gives the region an id of its own, its own node in the top byte and a count below it, which no message from a server can name. - In the objects chapter, a passage holds for 3.10 and not 3.11: A client takes a client id only from 0 to 252, and leaves on any other.
- In the objects chapter, a passage holds for 3.10 and not 3.11: A client acts on that
Registeredalone and ignores every other, so it pairs no other player’s player id with a client id. - In the objects chapter, a passage holds for 3.10 and not 3.11: A server MUST send that
Registeredbefore any create message, because a client given a create message before it has its own client id stops. - In the objects chapter, a passage holds for 3.10 and not 3.11: Every object a map places carries the identifier its name gives, turrets, navigation points and props among them.
- In the objects chapter, a passage holds for 3.10 and not 3.11: A name holding
_Destroyedor_FBgives no identifier. - In the objects chapter, a passage holds for 3.10 and not 3.11: | Map | Holds | | — | ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– | | 1 | the six
Barracksnames, the six spawn points named__P_…,HQ_T1,HQ_T2,orderShop01,chaosShop01| | 8 |orderShop01,chaosShop01| | 10 |Barracks_T1_L1,Barracks_T1_R1,Barracks_T2_L1,Barracks_T2_R1, theL01andR01spawn points of both sides,HQ_T1,HQ_T2,orderShop01,chaosShop01| | 12 |Barracks_T1_C1,Barracks_T2_C1, theC01spawn points of both sides named____P_…,HQ_T1,HQ_T2,OrderShop01,ChaosShop01| - In the objects chapter, a passage holds for 3.10 and not 3.11:
CreateTurretfirst removes any object holding its net id. - In the objects chapter, a passage holds for 3.10 and not 3.11: A client removes a region once its lifetime reaches 0, so a region given a lifetime of 0 does not last.
- In the objects chapter, a passage holds for 3.10 and not 3.11: A client reads only the two lowest bits of the stage: a stage with both clear marks, and any other removes.
- In the objects chapter, a passage holds for 3.10 and not 3.11: A byte from 128 to 255 enters the hash as its value less 256, worked in 32 bits, rather than as itself.
- In the ordering chapter, a passage holds for 3.10 and not 3.11: A client also answers each
PathandPathWithSpeed, taken or not, with aWaypointAckcarrying itssyncId. - In the ordering chapter, a passage holds for 3.10 and not 3.11: That answer lists no units but leaves its count of units unset, so a server MUST NOT rely on the count.
- In the space chapter, a passage holds for 3.10 and not 3.11:
FaceDirectionturns the unit along x and z alone, and leaves it as it is where both are 0. - In the space chapter, a passage holds for 3.10 and not 3.11:
FaceDirectionturns the unit at once where bit 0 of its flags is clear, and toward that direction at its own pace where it is set. - In the time chapter, a passage holds for 3.10 and not 3.11: Each
ClockConvergencesets a client’s allowance to 0.8 times what it was plus 0.1 times the round trip it reports. - In the time chapter, a passage holds for 3.10 and not 3.11: The allowance starts at 0, and nothing but
ClockConvergencechanges it: a client that has had none takesClockSyncas it stands. - In the time chapter, a passage holds for 3.10 and not 3.11:
GameSpeedsets the pace of the match clock, and a hold sets the pace to 0 until play resumes. - In the time chapter, a passage holds for 3.10 and not 3.11: A
GameSpeedthat arrives during a hold takes effect as play resumes. - In the time chapter, a passage holds for 3.10 and not 3.11: A client holds the speed
GameSpeedgives to between 0 and 10 times normal. - In the time chapter, a passage holds for 3.10 and not 3.11:
MatchStartedgives that moment. - In the values chapter, a passage holds for 3.10 and not 3.11: Of those, 64 is the champion’s basic attack and 73 its critical attack; the rest are its other basic and critical attacks.
- In the values chapter, a passage holds for 3.10 and not 3.11: A champion’s own book ends at slot 59.
- In the values chapter, a passage holds for 3.10 and not 3.11: A client asks to swap only slots 0 to 5 (
SwapItems). - In the values chapter, a passage holds for 3.10 and not 3.11: A champion’s inventory ends at slot 37.
- In the data chapter, a passage holds for 3.10 and not 3.11: A word a name holds anywhere says what the object is, not only its opening, the first match winning: a minion spawner’s
Spawn_Barracksis tested beforeBarracks, which makes an inhibitor, andHQ_makes a nexus andTurreta turret. - In the data chapter, a passage holds for 3.10 and not 3.11:
CreateTurretcompares names exactly, case included. - In the data chapter, a passage holds for 3.10 and not 3.11: The spawn points, the navigation points and the marker of the level’s size are scene objects, listed in
room.dsclike the buildings. - In the data chapter, a passage holds for 3.10 and not 3.11: The grid’s name is the map’s own,
AIPath.aimeshwith_ngridafter it: no setting of the mode chooses it. - In the data chapter, a passage holds for 3.10 and not 3.11: Most champions’ spells and attacks are in
DATA/Spells/<Spell>.inibinwith all other spells, and some champions’ inDATA/Characters/<Champion>/Spells/<Spell>.inibin. - In the joining chapter, a passage holds for 3.10 and not 3.11: Any whitespace separates the words of the fourth argument.
- In the joining chapter, a passage holds for 3.10 and not 3.11: Whitespace separates a client’s arguments, and double quotes group words into one.
- In the joining chapter, a passage holds for 3.10 and not 3.11: A client stops asking once an answer says the server is ready, and a query it sends after that answer needs none.
- In the joining chapter, a passage holds for 3.10 and not 3.11: The loading screen picks the card a
SeatLoadProgressupdates by the client id it carries, not by its player id. - In the joining chapter, a passage holds for 3.10 and not 3.11: A client answers a batch as soon as it arrives, within the run or not, and never answers one naming a unit it does not hold.
- In the joining chapter, a passage holds for 3.10 and not 3.11: A client sends
ClientReadyas soon asSpawnEndarrives, andStartGamealone moves it into play. - In the joining chapter, a passage holds for 3.10 and not 3.11: A client whose connection drops before play begins ends rather than connecting again once it knows its own client id, and connects again before then.
- In the units chapter, a passage holds for 3.10 and not 3.11: A client drops a
CreateChampionor aCreateNeutralthat arrives before it has loaded the map’s ground grid. - In the units chapter, a passage holds for 3.10 and not 3.11: A client leaves the match when
ChampionRemovednames its own champion. - In the vision chapter, a passage holds for 3.10 and not 3.11:
EnterSightstates the unit’s shields and looks and, for a champion or a minion, where it stands or which path it walks, and nothing of its health or resource. - In the vision chapter, a passage holds for 3.10 and not 3.11:
EnterLocalSightstates the unit’s maximum health beside its health, and nothing of its resource. - In the vision chapter, a passage holds for 3.10 and not 3.11:
GoldGainednaming the client’s own champion, with an amount above 0 and a source the client holds, shows the gold over the source. - In the vision chapter, a passage holds for 3.10 and not 3.11: Where the source of a
GoldGainedcannot show text, the gold shows over the client’s own champion. - In the movement chapter, a passage holds for 3.10 and not 3.11: A champion or minion coming into sight while standing carries its place and facing in
EnterSightinstead. - In the movement chapter, a passage holds for 3.10 and not 3.11: A client reads nothing after a refused movement in its group, and still answers the group.
- In the movement chapter, a passage holds for 3.10 and not 3.11: A client reads the points of a movement whose unit it does not hold, and keeps them for when the unit appears (see Objects and identifiers).
- In the movement chapter, a passage holds for 3.10 and not 3.11: A client takes a
WaypointGroupor aWaypointGroupAtSpeedon channels 2, 3 and 4 alike. - In the movement chapter, a passage holds for 3.10 and not 3.11: A server MAY send
NavigationFlags. - In the replication chapter, a passage holds for 3.10 and not 3.11: The building table is the same on every map.
- In the replication chapter, a passage holds for 3.10 and not 3.11: ## A champion | Group | Bits | Value | Shape | | —– | –––– | –––––––––––––––––––––––––––––––––––––––––––– | –––– | | 0 | 0 | Gold in hand | measured | | 0 | 1 | Gold earned in all | measured | | 0 | 2 to 3 | Which of the champion’s slots can be cast from, as a set of bits over two words | counted | | 0 | 4 | Points held for evolving a spell | counted | | 0 | 5 | Which spells have evolved, as a set of bits | counted | | 0 | 6 to 25 | What the spell in one slot costs, slots 0 to 3 first | measured | | 1 | 0 to 3 | What the champion is doing, and whether it is proof against spells, all harm and strikes | counted | | 1 | 4 | Damage it deals by striking | measured | | 1 | 5 | Damage its spells deal before modifiers | measured | | 1 | 6 | How often it turns a blow aside | measured | | 1 | 7 | How often it strikes critically | measured | | 1 | 8 | Armour | measured | | 1 | 9 | Spell resistance | measured | | 1 | 10 to 11 | How fast health and resource return | measured | | 1 | 12 | How far it strikes from | measured | | 1 | 13 to 16 | Flat and percent modifiers on the damage it strikes with, then on its spells’ damage | measured | | 1 | 17 to 18 | Flat and percent reduction of the spell damage it takes | measured | | 1 | 19 | A multiplier on how fast it strikes | measured | | 1 | 20 | A flat addition to how far from the champion an aimed spell’s point is allowed to land | measured | | 1 | 21 | A modifier on its cooldowns | measured | | 1 | 22 | When its passive’s cooldown ends, as a moment on the match clock | measured | | 1 | 23 | How long its passive’s cooldown lasts in all | measured | | 1 | 24 to 25 | How much armour it cuts through, flat then as the share left standing | measured | | 1 | 26 to 27 | How much spell resistance it cuts through, flat then as the share left standing | measured | | 1 | 28 | Life steal | measured | | 1 | 29 | Spell vamp | measured | | 1 | 30 | Crowd-control reduction | measured | | 3 | 0 to 1 | Health and resource as they stand | measured | | 3 | 2 to 3 | Health and resource at their greatest | measured | | 3 | 4 | Experience | measured | | 3 | 5 to 9 | Lifetime, and how far the champion sees | measured | | 3 | 10 | How fast it moves | measured | | 3 | 11 to 12 | Its size, and how wide a path it needs | measured | | 3 | 13 | Level | counted | | 3 | 14 to 16 | Kills taken from no side, and whether anything is allowed to aim at it | counted | ## A turret | Group | Bits | Value | Shape | | —– | –––– | ––––––––––––––––––––––––––––––––––––––––––– | –––– | | 1 | 0 to 1 | Health as it stands, then at its greatest | measured | | 1 | 2 to 5 | What the turret is doing, and whether it is proof against spells, all harm and strikes | counted | | 1 | 6 | Damage it deals by striking | measured | | 1 | 7 to 8 | Armour and spell resistance | measured | | 1 | 9 | A multiplier on how fast it strikes | measured | | 1 | 10 to 13 | Flat and percent modifiers on the damage it strikes with, then on its spells’ damage | measured | | 1 | 14 | How fast health returns | measured | | 3 | 0 to 1 | How far it sees | measured | | 3 | 2 | How fast it moves | measured | | 3 | 3 | Its size | measured | | 5 | 0 to 1 | Whether anything is allowed to aim at it, and which side is | counted | ## A minion, and a unit belonging to no side Both answer to one table.
- In the match chapter, a passage holds for 3.10 and not 3.11: No unit advances for
StatTick. - In the match chapter, a passage holds for 3.10 and not 3.11: A client shows nothing for any other hold.
- In the match chapter, a passage holds for 3.10 and not 3.11: A client announces who resumed the match even where it was not held.
- In the match chapter, a passage holds for 3.10 and not 3.11: A client sends
ClientFinishedevery timeGameEndedarrives in play, and not while playing a replay. - In the match chapter, a passage holds for 3.10 and not 3.11: A client moves no neutral unit for
VictoryDance. - In the match chapter, a passage holds for 3.10 and not 3.11: A client also leaves as one abandoning as its player declines to reconnect or cancels a reconnection under way, and as its player dismisses the notice that it was dropped for being away.
- In the match chapter, a passage holds for 3.10 and not 3.11: A client dropped during play connects again at once by itself, for any reason but the one that means its player was away, and shows its player that it is reconnecting while it does.
- In the match chapter, a passage holds for 3.10 and not 3.11: A client sends
ReconnectedInMatchonly where the match is in play. - In the match chapter, a passage holds for 3.10 and not 3.11: Where its last
Cameragoes unacknowledged, a client sends it again without its view moving, once more than twice the round trip has passed. - In the combat chapter, a passage holds for 3.10 and not 3.11: A client moves the attacker to the place
AttackFromgives only where it stands more than 400 units from it. - In the combat chapter, a passage holds for 3.10 and not 3.11: A client ignores an
Attackwhose target it does not hold. - In the combat chapter, a passage holds for 3.10 and not 3.11: Of the other results of
Damage, 1 shows nothing, 2 a dodge and 5 a miss; 3 is critical, and 4 and any above 5 are normal. - In the combat chapter, a passage holds for 3.10 and not 3.11: A swing starts later by the timing byte of its
Attackless 128, in hundredths of a second. - In the combat chapter, a passage holds for 3.10 and not 3.11:
TargetHeldChampionmarks a unit as attacking the client’s own champion: a client sets the mark only where the message names that champion, and clears it for any other. - In the combat chapter, a passage holds for 3.10 and not 3.11: A client sets the mark of
TargetHeldChampiononly for a unit on the other side. - In the combat chapter, a passage holds for 3.10 and not 3.11: A killer a client does not hold still puts the unit down.
- In the combat chapter, a passage holds for 3.10 and not 3.11: A death that credits no killer still stops the unit’s cast and attack.
- In the combat chapter, a passage holds for 3.10 and not 3.11: A client honours
GreyscaleWhenDeadwhatever its display settings, and restores colour at once as it clears. - In the combat chapter, a passage holds for 3.10 and not 3.11:
RevivedandRespawnedeach place the champion where they say and restore its health and mana. - In the combat chapter, a passage holds for 3.10 and not 3.11: As a unit changes side, a client sends
UseObjectnaming it for every unit it holds that targets it, whether or not it can be used, and clears that target. - In the spells chapter, a passage holds for 3.10 and not 3.11: A client also sends
UpgradeSpellfor a point of a separate kind the champion holds, and spends no spell point for it. - In the shop chapter, a passage holds for 3.10 and not 3.11: A client asks for an item not built from others only where a slot is free or holds the same item below its stack limit.
- In the shop chapter, a passage holds for 3.10 and not 3.11: A client asks only while the shop is not locked, with the champion dead or near a shop of its side.
- In the shop chapter, a passage holds for 3.10 and not 3.11: A message that locks other input along with the shop stops the shop opening, but leaves an open shop open and its key on.
- In the objectives chapter, a passage holds for 3.10 and not 3.11: A client places a camp where the first of its monsters is created (
CreateNeutral). - In the objectives chapter, a passage holds for 3.10 and not 3.11:
CampClearedsets no time for the camp to fill again: a client keeps the state it gives for the camp. - In the objectives chapter, a passage holds for 3.10 and not 3.11:
CampOpenedalso places a camp the client does not know yet, where the message says. - In the objectives chapter, a passage holds for 3.10 and not 3.11: A client acts on
TeamScoreonce its game screen is up, whatever the mode. - In the communication chapter, a passage holds for 3.10 and not 3.11: A client never answers a
VoiceEventfor a voice tied to a unit. - In the votes chapter, a passage holds for 3.10 and not 3.11:
BalanceVoteopens the panel where it says the vote opens. - In the interface chapter, a passage holds for 3.10 and not 3.11: A client sends no
Camerawhile its camera is locked: a server that needs a client’s view reports frees its camera withCameraLockSet. - In the interface chapter, a passage holds for 3.10 and not 3.11: A client ignores
CameraLockSetthat arrives while it holds its camera itself, and answers nothing. - In the interface chapter, a passage holds for 3.10 and not 3.11: 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.
- In the interface chapter, a passage holds for 3.10 and not 3.11: A watching client ignores
InputLock. - In the guidance chapter, a passage holds for 3.10 and not 3.11:
HudHighlightedlights elements 0 to 8 for part 0 and element 0 alone for part 2. - In the guidance chapter, a passage holds for 3.10 and not 3.11: A client is in the tutorial where
VersionSyncnames the mode TUTORIAL and a setting of its own turns the tutorial on, whatever the map. - In the spectating chapter, a passage holds for 3.10 and not 3.11: A watching client takes the match over HTTP from a spectator service, not over a game connection.
- In the spectating chapter, a passage holds for 3.10 and not 3.11: The word is followed by the spectator service’s address, with no port of its own, the key, a match number and a platform name; there is no player number.
- In the spectating chapter, a passage holds for 3.10 and not 3.11: The word
replaystarts a watching client asspectatordoes. - In the spectating chapter, a passage holds for 3.10 and not 3.11: A player’s key is never base64: one longer than 16 characters is cut to its first 16.
- In the spectating chapter, a passage holds for 3.10 and not 3.11: A watching client asks the spectator service for the match under
/observer-mode/rest/consumer/, each request naming the platform and the match number:getGameMetaDatafor the match’s metadata,getLastChunkInfofor how far the match has come, andgetGameDataChunkandgetKeyFramefor a chunk or a key frame by number. - In the spectating chapter, a passage holds for 3.10 and not 3.11: A watching client first asks the service for its version, and ends by asking it to stop.
- In the spectating chapter, a passage holds for 3.10 and not 3.11: A client takes the key frame to fetch from
keyFrameId, and chunks arrive compressed too. - In the spectating chapter, a passage holds for 3.10 and not 3.11: A client whose own build differs from the one
VersionSyncnames asks its player whether to go on, and leaves where the player declines.
Only notes
These read the same on the wire, and only their notes change. What each says in 3.11:
LevelUp, its layout: no note, where 3.10 has “A client applies it only to a champion, and ignores it for any other unit.”
3.12
Client builds from 3.12.0.251 up to, not including, 3.13.0.399. Patch notes: V3.12.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 3.12.0.251 | 11 | 0 | 3 | 545f334 | 2026-10-21 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: BounceMissile, InhibitorDied, SpellToggled.
Every message of this range (262)
Against 3.11
Where a build from 3.12.0.251 up to, not including, 3.13.0.399 differs from one from 3.11.0.306 up to, not including, 3.12.0.251. Anything not named here is the same in both.
In 3.12, not in 3.11
| Message | Sent by | Command | What it does |
|---|---|---|---|
DeathTimer | server | 279 on events | Set how long a champion stays down |
Empty | server | 0 on events | A message with no body |
StreamChunk | server | 237 on events | What a server streaming a match sends to carry one fragment of a chunk or key frame of recorded messages (see spec/spectating.md) |
StreamChunkRange | server | 236 on events | What a server streaming a match sends to say where the match proper begins in its chunks, and, once known, where it ends |
StreamMetadata | server | 235 on events | What a server streaming a match to a watching client sends first, within 30 seconds of the client’s request: how long its chunks and key frames run |
Laid out differently
AppearancePushedhowhasreplacePackageat bit 2 in 3.12, and not in 3.11.how.unusedis at bit 2, 6 bits wide, in 3.11 and at bit 3, 5 bits wide, in 3.12.
CampCleareddoeshasfirstSideat bit 1 in 3.12, and not in 3.11.does.unusedis at bit 1, 7 bits wide, in 3.11 and at bit 2, 6 bits wide, in 3.12.
CapturePointChanged(vectors: none-on-3-12)resourceKindtakes 8 ferocity, 9 bloodWell, 10 other in 3.12 and not in 3.11.
ClientEvent(vectors: altar-captured-on-3-12, altar-captured-watched-on-3-12, baron-killed-on-3-12, baron-killed-watched-on-3-12, buff-on-3-12, consumable-bought-on-3-12, critical-strike-on-3-12, crowd-control-on-3-12, damage-dealt-on-3-12, damage-taken-on-3-12, death-assist-on-3-12, died-on-3-12, dragon-killed-on-3-12, dragon-killed-watched-on-3-12, gold-earned-on-3-12, gold-spent-on-3-12, heal-cast-on-3-12, heal-on-3-12, item-bought-on-3-12, item-callout-on-3-12, item-changed-on-3-12, item-removed-on-3-12, item-sold-on-3-12, killing-spree-on-3-12, minion-killed-on-3-12, monster-killed-on-3-12, one-on-3-12, removed-on-3-12, spawned-on-3-12, spider-killed-on-3-12, spider-killed-watched-on-3-12, turret-damaged-on-3-12, turret-died-on-3-12, undo-changed-on-3-12)eventtakes 85 itemBought, 86 itemSold, 87 itemRemoved, 88 itemCallout, 89 itemChanged, 90 undoChanged, 109 minionsSpawned, 110 welcome, 111 startNoticeTwo, 112 startNoticeThree, 116 scoreboardOpened, 139 dragonKilled, 140 dragonKilledWatched, 141 baronKilled, 142 baronKilledWatched, 143 spiderKilled, 144 spiderKilledWatched, 145 altarCaptured, 146 altarCapturedWatched, 147 wardPlaced, 148 wardKilled in 3.12 and not in 3.11.eventtakes 81 itemBought, 82 itemSold, 83 itemRemoved, 84 itemCallout, 85 itemChanged, 86 undoChanged, 105 minionsSpawned, 106 welcome, 107 startNoticeTwo, 108 startNoticeThree, 112 scoreboardOpened, 135 dragonKilled, 136 dragonKilledWatched, 137 baronKilled, 138 baronKilledWatched, 139 spiderKilled, 140 spiderKilledWatched, 141 altarCaptured, 142 altarCapturedWatched, 143 wardPlaced, 144 wardKilled in 3.11 and not in 3.12.valueis present when event = 26 or 81 or 82 or 83 or 85 or 86 or 141 or 142 in 3.11, and present when event = 26 or 85 or 86 or 87 or 89 or 90 or 145 or 146 in 3.12.killis present when event = 1 or 2 or 36 or 37 or 40 or 135 or 136 or 137 or 138 or 139 or 140 in 3.11, and present when event = 1 or 2 or 36 or 37 or 38 or 40 or 139 or 140 or 141 or 142 or 143 or 144 in 3.12.monsteris present when event = 40 or 135 or 136 or 137 or 138 or 139 or 140 in 3.11, and present when event = 40 or 139 or 140 or 141 or 142 or 143 or 144 in 3.12.calloutis present when event = 84 in 3.11, and present when event = 88 in 3.12.callout.firstis bytes, 28 in 3.11 and bytes, 24 in 3.12.callout.secondis bytes, 28 in 3.11 and bytes, 24 in 3.12.
ClockReplyvalueis in 3.11 and not in 3.12.checkis in 3.11 and not in 3.12.
DeathHistory(vectors: one-on-3-12)entries[].eventtakes 85 itemBought, 86 itemSold, 87 itemRemoved, 88 itemCallout, 89 itemChanged, 90 undoChanged, 109 minionsSpawned, 110 welcome, 111 startNoticeTwo, 112 startNoticeThree, 116 scoreboardOpened, 139 dragonKilled, 140 dragonKilledWatched, 141 baronKilled, 142 baronKilledWatched, 143 spiderKilled, 144 spiderKilledWatched, 145 altarCaptured, 146 altarCapturedWatched, 147 wardPlaced, 148 wardKilled in 3.12 and not in 3.11.entries[].eventtakes 81 itemBought, 82 itemSold, 83 itemRemoved, 84 itemCallout, 85 itemChanged, 86 undoChanged, 105 minionsSpawned, 106 welcome, 107 startNoticeTwo, 108 startNoticeThree, 112 scoreboardOpened, 135 dragonKilled, 136 dragonKilledWatched, 137 baronKilled, 138 baronKilledWatched, 139 spiderKilled, 140 spiderKilledWatched, 141 altarCaptured, 142 altarCapturedWatched, 143 wardPlaced, 144 wardKilled in 3.11 and not in 3.12.entries[].valueis present when event = 26 or 81 or 82 or 83 or 85 or 86 or 141 or 142 in 3.11, and present when event = 26 or 85 or 86 or 87 or 89 or 90 or 145 or 146 in 3.12.entries[].killis present when event = 1 or 2 or 36 or 37 or 40 or 135 or 136 or 137 or 138 or 139 or 140 in 3.11, and present when event = 1 or 2 or 36 or 37 or 38 or 40 or 139 or 140 or 141 or 142 or 143 or 144 in 3.12.entries[].monsteris present when event = 40 or 135 or 136 or 137 or 138 or 139 or 140 in 3.11, and present when event = 40 or 139 or 140 or 141 or 142 or 143 or 144 in 3.12.entries[].calloutis present when event = 84 in 3.11, and present when event = 88 in 3.12.entries[].callout.firstis bytes, 28 in 3.11 and bytes, 24 in 3.12.entries[].callout.secondis bytes, 28 in 3.11 and bytes, 24 in 3.12.
DrawPathModeintervalis in 3.12 (f32), aftermode, and not in 3.11.
FacePosition(vectors: one-on-3-12)unknownis f32 in 3.11 and bytes, 4 in 3.12.
GameEndedresulthassurrenderedat bit 1 in 3.12, and not in 3.11.result.unusedis at bit 1, 7 bits wide, in 3.11 and at bit 2, 6 bits wide, in 3.12.
GroundAttackMode(vectors: off-on-3-12)modetakes 3 moveAndSelect, 4 attackMove, 5 atCursor in 3.11 and not in 3.12.
QuestUpdated(vectors: primary-on-3-12)kindtakes 2 objective in 3.11 and not in 3.12.
ResourceKindChanged(vectors: energy-on-3-12)kindtakes 8 ferocity, 9 bloodWell, 10 other in 3.12 and not in 3.11.
SpawnPetsideis in 3.12 (u32), afterduration, and not in 3.11.
SpawnUnit(vectors: one-on-3-12)owneris in 3.12 (u32), afterunit, and not in 3.11.
SpellCooldownwhichnames bit 7speakWhenReadyin 3.11 andunusedin 3.12.
UnitSpokeunknownis f32 in 3.11 and u32 in 3.12.
UnitText(vectors: level-on-3-12)styletakes 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 enemyPhysicalCritical, 22 countdown, 23 onMyWay, 24 absorbed, 25 damage, 26 critical, 27 debug in 3.12 and not in 3.11.styletakes 7 experience, 8 gold, 9 level, 10 disable, 11 questReceived, 12 questComplete, 13 score, 14 physicalDamage, 15 magicDamage, 16 trueDamage, 17 enemyPhysicalDamage, 18 enemyMagicDamage, 19 enemyTrueDamage, 20 enemyPhysicalCritical, 21 countdown, 22 onMyWay, 24 damage, 25 critical, 26 debug in 3.11 and not in 3.12.
VersionSync(vectors: one-on-3-12)features.championIndicatoris at bit 11 in 3.11 and at bit 10 in 3.12.featureshasaltBountyat bit 11 in 3.12, and not in 3.11.featureshaswaveOrderat bit 12 in 3.12, and not in 3.11.features.unusedis at bit 12, 20 bits wide, in 3.11 and at bit 13, 19 bits wide, in 3.12.featureshasbit10at bit 10 in 3.11, and not in 3.12.
WorldEvent(vectors: altar-captured-on-3-12, altar-captured-watched-on-3-12, baron-killed-on-3-12, baron-killed-watched-on-3-12, buff-on-3-12, consumable-bought-on-3-12, critical-strike-on-3-12, crowd-control-on-3-12, damage-dealt-on-3-12, damage-taken-on-3-12, death-assist-on-3-12, died-on-3-12, dragon-killed-on-3-12, dragon-killed-watched-on-3-12, gold-earned-on-3-12, gold-spent-on-3-12, heal-cast-on-3-12, heal-on-3-12, item-bought-on-3-12, item-callout-on-3-12, item-changed-on-3-12, item-removed-on-3-12, item-sold-on-3-12, killing-spree-on-3-12, minion-killed-on-3-12, monster-killed-on-3-12, one-on-3-12, removed-on-3-12, spawned-on-3-12, spider-killed-on-3-12, spider-killed-watched-on-3-12, turret-damaged-on-3-12, turret-died-on-3-12, undo-changed-on-3-12)eventtakes 85 itemBought, 86 itemSold, 87 itemRemoved, 88 itemCallout, 89 itemChanged, 90 undoChanged, 109 minionsSpawned, 110 welcome, 111 startNoticeTwo, 112 startNoticeThree, 116 scoreboardOpened, 139 dragonKilled, 140 dragonKilledWatched, 141 baronKilled, 142 baronKilledWatched, 143 spiderKilled, 144 spiderKilledWatched, 145 altarCaptured, 146 altarCapturedWatched, 147 wardPlaced, 148 wardKilled in 3.12 and not in 3.11.eventtakes 81 itemBought, 82 itemSold, 83 itemRemoved, 84 itemCallout, 85 itemChanged, 86 undoChanged, 105 minionsSpawned, 106 welcome, 107 startNoticeTwo, 108 startNoticeThree, 112 scoreboardOpened, 135 dragonKilled, 136 dragonKilledWatched, 137 baronKilled, 138 baronKilledWatched, 139 spiderKilled, 140 spiderKilledWatched, 141 altarCaptured, 142 altarCapturedWatched, 143 wardPlaced, 144 wardKilled in 3.11 and not in 3.12.valueis present when event = 26 or 81 or 82 or 83 or 85 or 86 or 141 or 142 in 3.11, and present when event = 26 or 85 or 86 or 87 or 89 or 90 or 145 or 146 in 3.12.killis present when event = 1 or 2 or 36 or 37 or 40 or 135 or 136 or 137 or 138 or 139 or 140 in 3.11, and present when event = 1 or 2 or 36 or 37 or 38 or 40 or 139 or 140 or 141 or 142 or 143 or 144 in 3.12.monsteris present when event = 40 or 135 or 136 or 137 or 138 or 139 or 140 in 3.11, and present when event = 40 or 139 or 140 or 141 or 142 or 143 or 144 in 3.12.calloutis present when event = 84 in 3.11, and present when event = 88 in 3.12.callout.firstis bytes, 28 in 3.11 and bytes, 24 in 3.12.callout.secondis bytes, 28 in 3.11 and bytes, 24 in 3.12.
3.13
Client builds from 3.13.0.399 up to, not including, 3.14.0.700. Patch notes: V3.13.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 3.13.0.399 | 11 | 0 | 3 | 545f334 | 2026-10-21 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: BounceMissile, InhibitorDied.
Every message of this range (263)
Against 3.12
Where a build from 3.13.0.399 up to, not including, 3.14.0.700 differs from one from 3.12.0.251 up to, not including, 3.13.0.399. Anything not named here is the same in both.
Transport
- Channel roster is 6 in the session family in 3.12, and 7 in the session family in 3.13.
In 3.13, not in 3.12
| Message | Sent by | Command | What it does |
|---|---|---|---|
SpellToggled | server | 280 on events | Turn one of a unit’s spells on or off |
Laid out differently
ClientEvent(vectors: altar-captured-on-3-13, altar-captured-watched-on-3-13, baron-killed-on-3-13, baron-killed-watched-on-3-13, baron-stolen-on-3-13, buff-on-3-13, consumable-bought-on-3-13, critical-strike-on-3-13, crowd-control-on-3-13, damage-dealt-on-3-13, damage-taken-on-3-13, death-assist-on-3-13, died-on-3-13, dragon-killed-on-3-13, dragon-killed-watched-on-3-13, dragon-stolen-on-3-13, gold-earned-on-3-13, gold-spent-on-3-13, heal-cast-on-3-13, heal-on-3-13, item-bought-on-3-13, item-callout-on-3-13, item-changed-on-3-13, item-removed-on-3-13, item-sold-on-3-13, killing-spree-on-3-13, minion-killed-on-3-13, monster-killed-on-3-13, one-on-3-13, removed-on-3-13, spawned-on-3-13, spider-killed-on-3-13, spider-killed-watched-on-3-13, turret-damaged-on-3-13, turret-died-on-3-13, undo-changed-on-3-13)eventtakes 8 singleKill, 9 doubleKill, 15 damageTaken, 16 damageDealt, 23 goldSpent, 24 goldEarned, 25 consumableBought, 26 criticalStrike, 29 inhibitorKilled, 30 inhibitorDied, 31 inhibitorRespawningSoon, 34 turretKilled, 35 turretDied, 36 turretDamaged, 37 minionKilled, 38 minionDenied, 39 monsterKilled, 40 largeMonsterKilled, 41 redBuffTaken, 42 blueBuffTaken, 43 nexusKilled, 44 nexusDied, 45 heal, 46 healCast, 47 buff, 48 crowdControl, 49 killingSpree, 56 killDuringSpree, 63 doubleKillDuringSpree, 64 tripleKillDuringSpree, 65 quadraKillDuringSpree, 68 deathAssist, 69 playerQuit, 70 playerLeft, 71 playerReconnected, 86 itemBought, 87 itemSold, 88 itemRemoved, 89 itemCallout, 90 itemChanged, 91 undoChanged, 110 minionsSpawned, 111 welcome, 112 startNoticeTwo, 113 startNoticeThree, 117 scoreboardOpened, 140 dragonKilled, 141 dragonKilledWatched, 142 dragonStolen, 143 baronKilled, 144 baronKilledWatched, 145 baronStolen, 146 spiderKilled, 147 spiderKilledWatched, 148 altarCaptured, 149 altarCapturedWatched, 150 wardPlaced, 151 wardKilled in 3.13 and not in 3.12.eventtakes 7 championKillUnseen, 9 singleKill, 10 doubleKill, 16 damageTaken, 17 damageDealt, 24 goldSpent, 25 goldEarned, 26 consumableBought, 27 criticalStrike, 30 inhibitorKilled, 31 inhibitorDied, 32 inhibitorRespawningSoon, 35 turretKilled, 36 turretDied, 37 turretDamaged, 38 minionKilled, 39 minionDenied, 40 monsterKilled, 41 largeMonsterKilled, 42 nexusKilled, 43 nexusDied, 44 heal, 45 healCast, 46 buff, 47 crowdControl, 48 killingSpree, 55 killDuringSpree, 62 doubleKillDuringSpree, 63 tripleKillDuringSpree, 64 quadraKillDuringSpree, 67 deathAssist, 68 playerQuit, 69 playerLeft, 70 playerReconnected, 85 itemBought, 86 itemSold, 87 itemRemoved, 88 itemCallout, 89 itemChanged, 90 undoChanged, 109 minionsSpawned, 110 welcome, 111 startNoticeTwo, 112 startNoticeThree, 116 scoreboardOpened, 139 dragonKilled, 140 dragonKilledWatched, 141 baronKilled, 142 baronKilledWatched, 143 spiderKilled, 144 spiderKilledWatched, 145 altarCaptured, 146 altarCapturedWatched, 147 wardPlaced, 148 wardKilled in 3.12 and not in 3.13.damageis present when event = 16 or 17 in 3.12, and present when event = 15 or 16 in 3.13.spentis present when event = 24 in 3.12, and present when event = 23 in 3.13.valueis present when event = 26 or 85 or 86 or 87 or 89 or 90 or 145 or 146 in 3.12, and present when event = 25 or 86 or 87 or 88 or 90 or 91 or 148 or 149 in 3.13.criticalis present when event = 27 in 3.12, and present when event = 26 in 3.13.spreeis present when event = 48 in 3.12, and present when event = 49 in 3.13.earnedis present when event = 25 in 3.12, and present when event = 24 in 3.13.healis present when event = 44 or 45 in 3.12, and present when event = 45 or 46 in 3.13.effectis present when event = 46 or 47 in 3.12, and present when event = 47 or 48 in 3.13.extrais present when event = 47 in 3.12, and present when event = 48 in 3.13.assistis present when event = 67 in 3.12, and present when event = 68 in 3.13.killis present when event = 1 or 2 or 36 or 37 or 38 or 40 or 139 or 140 or 141 or 142 or 143 or 144 in 3.12, and present when event = 1 or 2 or 35 or 36 or 37 or 39 or 140 or 141 or 142 or 143 or 144 or 145 or 146 or 147 in 3.13.monsteris present when event = 40 or 139 or 140 or 141 or 142 or 143 or 144 in 3.12, and present when event = 39 or 140 or 141 or 142 or 143 or 144 or 145 or 146 or 147 in 3.13.calloutis present when event = 88 in 3.12, and present when event = 89 in 3.13.
DeathHistory(vectors: one-on-3-13)entries[].eventtakes 8 singleKill, 9 doubleKill, 15 damageTaken, 16 damageDealt, 23 goldSpent, 24 goldEarned, 25 consumableBought, 26 criticalStrike, 29 inhibitorKilled, 30 inhibitorDied, 31 inhibitorRespawningSoon, 34 turretKilled, 35 turretDied, 36 turretDamaged, 37 minionKilled, 38 minionDenied, 39 monsterKilled, 40 largeMonsterKilled, 41 redBuffTaken, 42 blueBuffTaken, 43 nexusKilled, 44 nexusDied, 45 heal, 46 healCast, 47 buff, 48 crowdControl, 49 killingSpree, 56 killDuringSpree, 63 doubleKillDuringSpree, 64 tripleKillDuringSpree, 65 quadraKillDuringSpree, 68 deathAssist, 69 playerQuit, 70 playerLeft, 71 playerReconnected, 86 itemBought, 87 itemSold, 88 itemRemoved, 89 itemCallout, 90 itemChanged, 91 undoChanged, 110 minionsSpawned, 111 welcome, 112 startNoticeTwo, 113 startNoticeThree, 117 scoreboardOpened, 140 dragonKilled, 141 dragonKilledWatched, 142 dragonStolen, 143 baronKilled, 144 baronKilledWatched, 145 baronStolen, 146 spiderKilled, 147 spiderKilledWatched, 148 altarCaptured, 149 altarCapturedWatched, 150 wardPlaced, 151 wardKilled in 3.13 and not in 3.12.entries[].eventtakes 7 championKillUnseen, 9 singleKill, 10 doubleKill, 16 damageTaken, 17 damageDealt, 24 goldSpent, 25 goldEarned, 26 consumableBought, 27 criticalStrike, 30 inhibitorKilled, 31 inhibitorDied, 32 inhibitorRespawningSoon, 35 turretKilled, 36 turretDied, 37 turretDamaged, 38 minionKilled, 39 minionDenied, 40 monsterKilled, 41 largeMonsterKilled, 42 nexusKilled, 43 nexusDied, 44 heal, 45 healCast, 46 buff, 47 crowdControl, 48 killingSpree, 55 killDuringSpree, 62 doubleKillDuringSpree, 63 tripleKillDuringSpree, 64 quadraKillDuringSpree, 67 deathAssist, 68 playerQuit, 69 playerLeft, 70 playerReconnected, 85 itemBought, 86 itemSold, 87 itemRemoved, 88 itemCallout, 89 itemChanged, 90 undoChanged, 109 minionsSpawned, 110 welcome, 111 startNoticeTwo, 112 startNoticeThree, 116 scoreboardOpened, 139 dragonKilled, 140 dragonKilledWatched, 141 baronKilled, 142 baronKilledWatched, 143 spiderKilled, 144 spiderKilledWatched, 145 altarCaptured, 146 altarCapturedWatched, 147 wardPlaced, 148 wardKilled in 3.12 and not in 3.13.entries[].damageis present when event = 16 or 17 in 3.12, and present when event = 15 or 16 in 3.13.entries[].spentis present when event = 24 in 3.12, and present when event = 23 in 3.13.entries[].valueis present when event = 26 or 85 or 86 or 87 or 89 or 90 or 145 or 146 in 3.12, and present when event = 25 or 86 or 87 or 88 or 90 or 91 or 148 or 149 in 3.13.entries[].criticalis present when event = 27 in 3.12, and present when event = 26 in 3.13.entries[].spreeis present when event = 48 in 3.12, and present when event = 49 in 3.13.entries[].earnedis present when event = 25 in 3.12, and present when event = 24 in 3.13.entries[].healis present when event = 44 or 45 in 3.12, and present when event = 45 or 46 in 3.13.entries[].effectis present when event = 46 or 47 in 3.12, and present when event = 47 or 48 in 3.13.entries[].extrais present when event = 47 in 3.12, and present when event = 48 in 3.13.entries[].assistis present when event = 67 in 3.12, and present when event = 68 in 3.13.entries[].killis present when event = 1 or 2 or 36 or 37 or 38 or 40 or 139 or 140 or 141 or 142 or 143 or 144 in 3.12, and present when event = 1 or 2 or 35 or 36 or 37 or 39 or 140 or 141 or 142 or 143 or 144 or 145 or 146 or 147 in 3.13.entries[].monsteris present when event = 40 or 139 or 140 or 141 or 142 or 143 or 144 in 3.12, and present when event = 39 or 140 or 141 or 142 or 143 or 144 or 145 or 146 or 147 in 3.13.entries[].calloutis present when event = 88 in 3.12, and present when event = 89 in 3.13.
MapPropscaleXis in 3.13 (f32), afteroffsetZ, and not in 3.12.scaleYis in 3.13 (f32), afterscaleX, and not in 3.12.scaleZis in 3.13 (f32), afterscaleY, and not in 3.12.
VersionSync(vectors: one-on-3-13)featureshasquickChatat bit 4 in 3.13, and not in 3.12.features.missileWarningis at bit 4 in 3.12 and at bit 5 in 3.13.features.audioBackendis at bit 5 in 3.12 and at bit 6 in 3.13.features.animatedCursorsis at bit 6 in 3.12 and at bit 7 in 3.13.features.altControlsis at bit 7 in 3.12 and at bit 8 in 3.13.features.shopUndois at bit 8 in 3.12 and at bit 9 in 3.13.features.skillshotOutlineis at bit 9 in 3.12 and at bit 10 in 3.13.features.championIndicatoris at bit 10 in 3.12 and at bit 11 in 3.13.features.altBountyis at bit 11 in 3.12 and at bit 12 in 3.13.features.waveOrderis at bit 12 in 3.12 and at bit 13 in 3.13.featureshasturretRangeat bit 14 in 3.13, and not in 3.12.features.unusedis at bit 13, 19 bits wide, in 3.12 and at bit 15, 17 bits wide, in 3.13.disabledItemsis in 3.13 (64 × u32), afterfeatures, and not in 3.12.
WorldEvent(vectors: altar-captured-on-3-13, altar-captured-watched-on-3-13, baron-killed-on-3-13, baron-killed-watched-on-3-13, baron-stolen-on-3-13, buff-on-3-13, consumable-bought-on-3-13, critical-strike-on-3-13, crowd-control-on-3-13, damage-dealt-on-3-13, damage-taken-on-3-13, death-assist-on-3-13, died-on-3-13, dragon-killed-on-3-13, dragon-killed-watched-on-3-13, dragon-stolen-on-3-13, gold-earned-on-3-13, gold-spent-on-3-13, heal-cast-on-3-13, heal-on-3-13, item-bought-on-3-13, item-callout-on-3-13, item-changed-on-3-13, item-removed-on-3-13, item-sold-on-3-13, killing-spree-on-3-13, minion-killed-on-3-13, monster-killed-on-3-13, one-on-3-13, removed-on-3-13, spawned-on-3-13, spider-killed-on-3-13, spider-killed-watched-on-3-13, turret-damaged-on-3-13, turret-died-on-3-13, undo-changed-on-3-13)eventtakes 8 singleKill, 9 doubleKill, 15 damageTaken, 16 damageDealt, 23 goldSpent, 24 goldEarned, 25 consumableBought, 26 criticalStrike, 29 inhibitorKilled, 30 inhibitorDied, 31 inhibitorRespawningSoon, 34 turretKilled, 35 turretDied, 36 turretDamaged, 37 minionKilled, 38 minionDenied, 39 monsterKilled, 40 largeMonsterKilled, 41 redBuffTaken, 42 blueBuffTaken, 43 nexusKilled, 44 nexusDied, 45 heal, 46 healCast, 47 buff, 48 crowdControl, 49 killingSpree, 56 killDuringSpree, 63 doubleKillDuringSpree, 64 tripleKillDuringSpree, 65 quadraKillDuringSpree, 68 deathAssist, 69 playerQuit, 70 playerLeft, 71 playerReconnected, 86 itemBought, 87 itemSold, 88 itemRemoved, 89 itemCallout, 90 itemChanged, 91 undoChanged, 110 minionsSpawned, 111 welcome, 112 startNoticeTwo, 113 startNoticeThree, 117 scoreboardOpened, 140 dragonKilled, 141 dragonKilledWatched, 142 dragonStolen, 143 baronKilled, 144 baronKilledWatched, 145 baronStolen, 146 spiderKilled, 147 spiderKilledWatched, 148 altarCaptured, 149 altarCapturedWatched, 150 wardPlaced, 151 wardKilled in 3.13 and not in 3.12.eventtakes 7 championKillUnseen, 9 singleKill, 10 doubleKill, 16 damageTaken, 17 damageDealt, 24 goldSpent, 25 goldEarned, 26 consumableBought, 27 criticalStrike, 30 inhibitorKilled, 31 inhibitorDied, 32 inhibitorRespawningSoon, 35 turretKilled, 36 turretDied, 37 turretDamaged, 38 minionKilled, 39 minionDenied, 40 monsterKilled, 41 largeMonsterKilled, 42 nexusKilled, 43 nexusDied, 44 heal, 45 healCast, 46 buff, 47 crowdControl, 48 killingSpree, 55 killDuringSpree, 62 doubleKillDuringSpree, 63 tripleKillDuringSpree, 64 quadraKillDuringSpree, 67 deathAssist, 68 playerQuit, 69 playerLeft, 70 playerReconnected, 85 itemBought, 86 itemSold, 87 itemRemoved, 88 itemCallout, 89 itemChanged, 90 undoChanged, 109 minionsSpawned, 110 welcome, 111 startNoticeTwo, 112 startNoticeThree, 116 scoreboardOpened, 139 dragonKilled, 140 dragonKilledWatched, 141 baronKilled, 142 baronKilledWatched, 143 spiderKilled, 144 spiderKilledWatched, 145 altarCaptured, 146 altarCapturedWatched, 147 wardPlaced, 148 wardKilled in 3.12 and not in 3.13.damageis present when event = 16 or 17 in 3.12, and present when event = 15 or 16 in 3.13.spentis present when event = 24 in 3.12, and present when event = 23 in 3.13.valueis present when event = 26 or 85 or 86 or 87 or 89 or 90 or 145 or 146 in 3.12, and present when event = 25 or 86 or 87 or 88 or 90 or 91 or 148 or 149 in 3.13.criticalis present when event = 27 in 3.12, and present when event = 26 in 3.13.spreeis present when event = 48 in 3.12, and present when event = 49 in 3.13.earnedis present when event = 25 in 3.12, and present when event = 24 in 3.13.healis present when event = 44 or 45 in 3.12, and present when event = 45 or 46 in 3.13.effectis present when event = 46 or 47 in 3.12, and present when event = 47 or 48 in 3.13.extrais present when event = 47 in 3.12, and present when event = 48 in 3.13.assistis present when event = 67 in 3.12, and present when event = 68 in 3.13.killis present when event = 1 or 2 or 36 or 37 or 38 or 40 or 139 or 140 or 141 or 142 or 143 or 144 in 3.12, and present when event = 1 or 2 or 35 or 36 or 37 or 39 or 140 or 141 or 142 or 143 or 144 or 145 or 146 or 147 in 3.13.monsteris present when event = 40 or 139 or 140 or 141 or 142 or 143 or 144 in 3.12, and present when event = 39 or 140 or 141 or 142 or 143 or 144 or 145 or 146 or 147 in 3.13.calloutis present when event = 88 in 3.12, and present when event = 89 in 3.13.
Structs
SpellCastmissileis in 3.13 (u32), afterpackage, and not in 3.12.
Chapters
3.14
Client builds from 3.14.0.700 up to, not including, 3.15.0.244. Patch notes: V3.14.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 3.14.0.700 | 11 | 0 | 3 | 545f334 | 2026-10-21 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: InhibitorDied.
Every message of this range (268)
Against 3.13
Where a build from 3.14.0.700 up to, not including, 3.15.0.244 differs from one from 3.13.0.399 up to, not including, 3.14.0.700. Anything not named here is the same in both.
In 3.14, not in 3.13
| Message | Sent by | Command | What it does |
|---|---|---|---|
BounceMissile | server | 281 on events | What a server sends as a missile bounces on to another unit |
GoldSourcesLog | server | 282 on events | Carry a text to a client |
ItemSubstitution | server | 284 on events | Have one item stand in for another in a champion’s inventory |
SubstitutionCleared | server | 285 on events | Undo an ItemSubstitution, so the shop shows the item itself again |
Unhandled286 | server | 286 on events | A message that changes nothing a client shows |
Laid out differently
ClientEvent(vectors: altar-captured-on-3-14, altar-captured-watched-on-3-14, baron-killed-on-3-14, baron-killed-watched-on-3-14, baron-stolen-on-3-14, buff-on-3-14, consumable-bought-on-3-14, critical-strike-on-3-14, crowd-control-on-3-14, damage-dealt-on-3-14, damage-taken-on-3-14, death-assist-on-3-14, died-on-3-14, dragon-killed-on-3-14, dragon-killed-watched-on-3-14, dragon-stolen-on-3-14, gold-earned-on-3-14, gold-spent-on-3-14, heal-cast-on-3-14, heal-on-3-14, item-bought-on-3-14, item-callout-on-3-14, item-changed-on-3-14, item-removed-on-3-14, item-sold-on-3-14, item-substituted-on-3-14, killing-spree-on-3-14, minion-killed-on-3-14, monster-killed-on-3-14, one-on-3-14, removed-on-3-14, spawned-on-3-14, spider-killed-on-3-14, spider-killed-watched-on-3-14, turret-damaged-on-3-14, turret-died-on-3-14, undo-changed-on-3-14)eventtakes 92 itemSubstituted, 111 minionsSpawned, 112 welcome, 113 startNoticeTwo, 114 startNoticeThree, 118 scoreboardOpened, 141 dragonKilled, 142 dragonKilledWatched, 143 dragonStolen, 144 baronKilled, 145 baronKilledWatched, 146 baronStolen, 147 spiderKilled, 148 spiderKilledWatched, 149 altarCaptured, 150 altarCapturedWatched, 151 wardPlaced, 152 wardKilled in 3.14 and not in 3.13.eventtakes 110 minionsSpawned, 111 welcome, 112 startNoticeTwo, 113 startNoticeThree, 117 scoreboardOpened, 140 dragonKilled, 141 dragonKilledWatched, 142 dragonStolen, 143 baronKilled, 144 baronKilledWatched, 145 baronStolen, 146 spiderKilled, 147 spiderKilledWatched, 148 altarCaptured, 149 altarCapturedWatched, 150 wardPlaced, 151 wardKilled in 3.13 and not in 3.14.valueis present when event = 25 or 86 or 87 or 88 or 90 or 91 or 148 or 149 in 3.13, and present when event = 25 or 86 or 87 or 88 or 90 or 91 or 149 or 150 in 3.14.earned.subDetailis in 3.14 (u32), afterearned.detail, and not in 3.13.killis present when event = 1 or 2 or 35 or 36 or 37 or 39 or 140 or 141 or 142 or 143 or 144 or 145 or 146 or 147 in 3.13, and present when event = 1 or 2 or 35 or 36 or 37 or 39 or 141 or 142 or 143 or 144 or 145 or 146 or 147 or 148 in 3.14.monsteris present when event = 39 or 140 or 141 or 142 or 143 or 144 or 145 or 146 or 147 in 3.13, and present when event = 39 or 141 or 142 or 143 or 144 or 145 or 146 or 147 or 148 in 3.14.substitutionis in 3.14 (record), aftercallout.side, and not in 3.13.
DeathHistory(vectors: one-on-3-14)entries[].eventtakes 92 itemSubstituted, 111 minionsSpawned, 112 welcome, 113 startNoticeTwo, 114 startNoticeThree, 118 scoreboardOpened, 141 dragonKilled, 142 dragonKilledWatched, 143 dragonStolen, 144 baronKilled, 145 baronKilledWatched, 146 baronStolen, 147 spiderKilled, 148 spiderKilledWatched, 149 altarCaptured, 150 altarCapturedWatched, 151 wardPlaced, 152 wardKilled in 3.14 and not in 3.13.entries[].eventtakes 110 minionsSpawned, 111 welcome, 112 startNoticeTwo, 113 startNoticeThree, 117 scoreboardOpened, 140 dragonKilled, 141 dragonKilledWatched, 142 dragonStolen, 143 baronKilled, 144 baronKilledWatched, 145 baronStolen, 146 spiderKilled, 147 spiderKilledWatched, 148 altarCaptured, 149 altarCapturedWatched, 150 wardPlaced, 151 wardKilled in 3.13 and not in 3.14.entries[].valueis present when event = 25 or 86 or 87 or 88 or 90 or 91 or 148 or 149 in 3.13, and present when event = 25 or 86 or 87 or 88 or 90 or 91 or 149 or 150 in 3.14.entries[].earned.subDetailis in 3.14 (u32), afterentries[].earned.detail, and not in 3.13.entries[].killis present when event = 1 or 2 or 35 or 36 or 37 or 39 or 140 or 141 or 142 or 143 or 144 or 145 or 146 or 147 in 3.13, and present when event = 1 or 2 or 35 or 36 or 37 or 39 or 141 or 142 or 143 or 144 or 145 or 146 or 147 or 148 in 3.14.entries[].monsteris present when event = 39 or 140 or 141 or 142 or 143 or 144 or 145 or 146 or 147 in 3.13, and present when event = 39 or 141 or 142 or 143 or 144 or 145 or 146 or 147 or 148 in 3.14.entries[].substitutionis in 3.14 (record), afterentries[].callout.side, and not in 3.13.
InventorySnapshot(vectors: one-on-3-14)itemsis 8 × record in 3.13 and 9 × record in 3.14.cooldownsis 8 × f32 in 3.13 and 9 × f32 in 3.14.
QuestUpdatedflagshassecondat bit 1 in 3.14, and not in 3.13.flags.unusedis at bit 1, 7 bits wide, in 3.13 and at bit 2, 6 bits wide, in 3.14.
SpawnFromBarrackslevelis in 3.14 (u8), afterhealthBonus, and not in 3.13.
SpellCooldownoutOfis in 3.14 (f32), aftertimeLeft, and not in 3.13.
VersionSync(vectors: one-on-3-14)variantsis in 3.14 (2 × string), aftermode, and not in 3.13.variantCountis in 3.14 (u8), aftervariants, and not in 3.13.featureshasbit14at bit 15 in 3.14, and not in 3.13.featureshasskinParticlesat bit 16 in 3.14, and not in 3.13.featureshasbit16at bit 17 in 3.14, and not in 3.13.featureshashardwareMetricsat bit 18 in 3.14, and not in 3.13.features.unusedis at bit 15, 17 bits wide, in 3.13 and at bit 19, 13 bits wide, in 3.14.
WorldEvent(vectors: altar-captured-on-3-14, altar-captured-watched-on-3-14, baron-killed-on-3-14, baron-killed-watched-on-3-14, baron-stolen-on-3-14, buff-on-3-14, consumable-bought-on-3-14, critical-strike-on-3-14, crowd-control-on-3-14, damage-dealt-on-3-14, damage-taken-on-3-14, death-assist-on-3-14, died-on-3-14, dragon-killed-on-3-14, dragon-killed-watched-on-3-14, dragon-stolen-on-3-14, gold-earned-on-3-14, gold-spent-on-3-14, heal-cast-on-3-14, heal-on-3-14, item-bought-on-3-14, item-callout-on-3-14, item-changed-on-3-14, item-removed-on-3-14, item-sold-on-3-14, item-substituted-on-3-14, killing-spree-on-3-14, minion-killed-on-3-14, monster-killed-on-3-14, one-on-3-14, removed-on-3-14, spawned-on-3-14, spider-killed-on-3-14, spider-killed-watched-on-3-14, turret-damaged-on-3-14, turret-died-on-3-14, undo-changed-on-3-14)eventtakes 92 itemSubstituted, 111 minionsSpawned, 112 welcome, 113 startNoticeTwo, 114 startNoticeThree, 118 scoreboardOpened, 141 dragonKilled, 142 dragonKilledWatched, 143 dragonStolen, 144 baronKilled, 145 baronKilledWatched, 146 baronStolen, 147 spiderKilled, 148 spiderKilledWatched, 149 altarCaptured, 150 altarCapturedWatched, 151 wardPlaced, 152 wardKilled in 3.14 and not in 3.13.eventtakes 110 minionsSpawned, 111 welcome, 112 startNoticeTwo, 113 startNoticeThree, 117 scoreboardOpened, 140 dragonKilled, 141 dragonKilledWatched, 142 dragonStolen, 143 baronKilled, 144 baronKilledWatched, 145 baronStolen, 146 spiderKilled, 147 spiderKilledWatched, 148 altarCaptured, 149 altarCapturedWatched, 150 wardPlaced, 151 wardKilled in 3.13 and not in 3.14.valueis present when event = 25 or 86 or 87 or 88 or 90 or 91 or 148 or 149 in 3.13, and present when event = 25 or 86 or 87 or 88 or 90 or 91 or 149 or 150 in 3.14.earned.subDetailis in 3.14 (u32), afterearned.detail, and not in 3.13.killis present when event = 1 or 2 or 35 or 36 or 37 or 39 or 140 or 141 or 142 or 143 or 144 or 145 or 146 or 147 in 3.13, and present when event = 1 or 2 or 35 or 36 or 37 or 39 or 141 or 142 or 143 or 144 or 145 or 146 or 147 or 148 in 3.14.monsteris present when event = 39 or 140 or 141 or 142 or 143 or 144 or 145 or 146 or 147 in 3.13, and present when event = 39 or 141 or 142 or 143 or 144 or 145 or 146 or 147 or 148 in 3.14.substitutionis in 3.14 (record), aftercallout.side, and not in 3.13.
Structs
Particlecasteris in 3.14 (u32), afterparticle, and not in 3.13.
3.15
Client builds from 3.15.0.244 up to, not including, 4.1.0.171. Patch notes: V3.15.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 3.15.0.244 | 11 | 0 | 3 | 545f334 | 2026-10-21 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: InhibitorDied.
Every message of this range (268)
Against 3.14
Where a build from 3.15.0.244 up to, not including, 4.1.0.171 differs from one from 3.14.0.700 up to, not including, 3.15.0.244. Anything not named here is the same in both.
Laid out differently
CapturePointChanged(vectors: one-on-3-15)resourceKindtakes 10 wind, 11 other in 3.15 and not in 3.14.resourceKindtakes 10 other in 3.14 and not in 3.15.
ClientEvent(vectors: altar-captured-on-3-15, altar-captured-watched-on-3-15, baron-killed-on-3-15, baron-killed-watched-on-3-15, baron-stolen-on-3-15, buff-on-3-15, consumable-bought-on-3-15, critical-strike-on-3-15, crowd-control-on-3-15, damage-dealt-on-3-15, damage-taken-on-3-15, death-assist-on-3-15, died-on-3-15, dragon-killed-on-3-15, dragon-killed-watched-on-3-15, dragon-stolen-on-3-15, gold-earned-on-3-15, gold-spent-on-3-15, heal-cast-on-3-15, heal-on-3-15, item-bought-on-3-15, item-callout-on-3-15, item-changed-on-3-15, item-removed-on-3-15, item-sold-on-3-15, item-substituted-on-3-15, killing-spree-on-3-15, minion-killed-on-3-15, monster-killed-on-3-15, one-on-3-15, removed-on-3-15, spawned-on-3-15, spider-killed-on-3-15, spider-killed-watched-on-3-15, turret-damaged-on-3-15, turret-died-on-3-15, undo-changed-on-3-15)eventtakes 143 dragonKilled, 144 dragonKilledWatched, 145 dragonStolen, 146 baronKilled, 147 baronKilledWatched, 148 baronStolen, 149 spiderKilled, 150 spiderKilledWatched, 151 altarCaptured, 152 altarCapturedWatched, 153 wardPlaced, 154 wardKilled in 3.15 and not in 3.14.eventtakes 141 dragonKilled, 142 dragonKilledWatched, 143 dragonStolen, 144 baronKilled, 145 baronKilledWatched, 146 baronStolen, 147 spiderKilled, 148 spiderKilledWatched, 149 altarCaptured, 150 altarCapturedWatched, 151 wardPlaced, 152 wardKilled in 3.14 and not in 3.15.valueis present when event = 25 or 86 or 87 or 88 or 90 or 91 or 149 or 150 in 3.14, and present when event = 25 or 86 or 87 or 88 or 90 or 91 or 151 or 152 in 3.15.killis present when event = 1 or 2 or 35 or 36 or 37 or 39 or 141 or 142 or 143 or 144 or 145 or 146 or 147 or 148 in 3.14, and present when event = 1 or 2 or 35 or 36 or 37 or 39 or 143 or 144 or 145 or 146 or 147 or 148 or 149 or 150 in 3.15.monsteris present when event = 39 or 141 or 142 or 143 or 144 or 145 or 146 or 147 or 148 in 3.14, and present when event = 39 or 143 or 144 or 145 or 146 or 147 or 148 or 149 or 150 in 3.15.
DeathHistory(vectors: one-on-3-15)entries[].eventtakes 143 dragonKilled, 144 dragonKilledWatched, 145 dragonStolen, 146 baronKilled, 147 baronKilledWatched, 148 baronStolen, 149 spiderKilled, 150 spiderKilledWatched, 151 altarCaptured, 152 altarCapturedWatched, 153 wardPlaced, 154 wardKilled in 3.15 and not in 3.14.entries[].eventtakes 141 dragonKilled, 142 dragonKilledWatched, 143 dragonStolen, 144 baronKilled, 145 baronKilledWatched, 146 baronStolen, 147 spiderKilled, 148 spiderKilledWatched, 149 altarCaptured, 150 altarCapturedWatched, 151 wardPlaced, 152 wardKilled in 3.14 and not in 3.15.entries[].valueis present when event = 25 or 86 or 87 or 88 or 90 or 91 or 149 or 150 in 3.14, and present when event = 25 or 86 or 87 or 88 or 90 or 91 or 151 or 152 in 3.15.entries[].killis present when event = 1 or 2 or 35 or 36 or 37 or 39 or 141 or 142 or 143 or 144 or 145 or 146 or 147 or 148 in 3.14, and present when event = 1 or 2 or 35 or 36 or 37 or 39 or 143 or 144 or 145 or 146 or 147 or 148 or 149 or 150 in 3.15.entries[].monsteris present when event = 39 or 141 or 142 or 143 or 144 or 145 or 146 or 147 or 148 in 3.14, and present when event = 39 or 143 or 144 or 145 or 146 or 147 or 148 or 149 or 150 in 3.15.
FacePositionunknownis bytes, 4 in 3.14 and f32 in 3.15.
FloatingTextlengthis in 3.15 (u32), afterstyle, and not in 3.14.textis text, ended by a zero byte in 3.14 and text, sized by length in 3.15.unusedis in 3.14 and not in 3.15.
MarkerMovedfaceGoalis in 3.15 (u8), afterspeed, and not in 3.14.
ResourceKindChanged(vectors: energy-on-3-15)kindtakes 10 wind, 11 other in 3.15 and not in 3.14.kindtakes 10 other in 3.14 and not in 3.15.
SpellNumbers(vectors: a-third-on-3-15, another-on-3-15, one-on-3-15)entries[].hiddenis in 3.15 (5 × u8), afterentries[].values, and not in 3.14.
UnitSpokelengthis in 3.15 (u32), afterunusedToo, and not in 3.14.textis text, ended by a zero byte in 3.14 and text, sized by length in 3.15.unitis in 3.14 and not in 3.15.
VersionSyncfeatures.balanceVoteCommandsis at bit 1 in 3.14 and at bit 0 in 3.15.features.menuBackis at bit 2 in 3.14 and at bit 1 in 3.15.features.menuBack2is at bit 3 in 3.14 and at bit 2 in 3.15.features.quickChatis at bit 4 in 3.14 and at bit 3 in 3.15.features.missileWarningis at bit 5 in 3.14 and at bit 4 in 3.15.features.audioBackendis at bit 6 in 3.14 and at bit 5 in 3.15.features.animatedCursorsis at bit 7 in 3.14 and at bit 6 in 3.15.features.altControlsis at bit 8 in 3.14 and at bit 7 in 3.15.features.shopUndois at bit 9 in 3.14 and at bit 8 in 3.15.features.skillshotOutlineis at bit 10 in 3.14 and at bit 9 in 3.15.features.championIndicatoris at bit 11 in 3.14 and at bit 10 in 3.15.features.altBountyis at bit 12 in 3.14 and at bit 11 in 3.15.features.waveOrderis at bit 13 in 3.14 and at bit 12 in 3.15.features.turretRangeis at bit 14 in 3.14 and at bit 13 in 3.15.features.bit14is at bit 15 in 3.14 and at bit 14 in 3.15.features.skinParticlesis at bit 16 in 3.14 and at bit 15 in 3.15.features.bit16is at bit 17 in 3.14 and at bit 16 in 3.15.features.hardwareMetricsis at bit 18 in 3.14 and at bit 17 in 3.15.features.unusedis at bit 19, 13 bits wide, in 3.14 and at bit 18, 14 bits wide, in 3.15.featureshasaltUnitDisplayat bit 0 in 3.14, and not in 3.15.
WorldEvent(vectors: altar-captured-on-3-15, altar-captured-watched-on-3-15, baron-killed-on-3-15, baron-killed-watched-on-3-15, baron-stolen-on-3-15, buff-on-3-15, consumable-bought-on-3-15, critical-strike-on-3-15, crowd-control-on-3-15, damage-dealt-on-3-15, damage-taken-on-3-15, death-assist-on-3-15, died-on-3-15, dragon-killed-on-3-15, dragon-killed-watched-on-3-15, dragon-stolen-on-3-15, gold-earned-on-3-15, gold-spent-on-3-15, heal-cast-on-3-15, heal-on-3-15, item-bought-on-3-15, item-callout-on-3-15, item-changed-on-3-15, item-removed-on-3-15, item-sold-on-3-15, item-substituted-on-3-15, killing-spree-on-3-15, minion-killed-on-3-15, monster-killed-on-3-15, one-on-3-15, removed-on-3-15, spawned-on-3-15, spider-killed-on-3-15, spider-killed-watched-on-3-15, turret-damaged-on-3-15, turret-died-on-3-15, undo-changed-on-3-15)eventtakes 143 dragonKilled, 144 dragonKilledWatched, 145 dragonStolen, 146 baronKilled, 147 baronKilledWatched, 148 baronStolen, 149 spiderKilled, 150 spiderKilledWatched, 151 altarCaptured, 152 altarCapturedWatched, 153 wardPlaced, 154 wardKilled in 3.15 and not in 3.14.eventtakes 141 dragonKilled, 142 dragonKilledWatched, 143 dragonStolen, 144 baronKilled, 145 baronKilledWatched, 146 baronStolen, 147 spiderKilled, 148 spiderKilledWatched, 149 altarCaptured, 150 altarCapturedWatched, 151 wardPlaced, 152 wardKilled in 3.14 and not in 3.15.valueis present when event = 25 or 86 or 87 or 88 or 90 or 91 or 149 or 150 in 3.14, and present when event = 25 or 86 or 87 or 88 or 90 or 91 or 151 or 152 in 3.15.killis present when event = 1 or 2 or 35 or 36 or 37 or 39 or 141 or 142 or 143 or 144 or 145 or 146 or 147 or 148 in 3.14, and present when event = 1 or 2 or 35 or 36 or 37 or 39 or 143 or 144 or 145 or 146 or 147 or 148 or 149 or 150 in 3.15.monsteris present when event = 39 or 141 or 142 or 143 or 144 or 145 or 146 or 147 or 148 in 3.14, and present when event = 39 or 143 or 144 or 145 or 146 or 147 or 148 or 149 or 150 in 3.15.
Only notes
These read the same on the wire, and only their notes change. What each says in 3.15:
ExperienceGained, its layout: no note, where 3.14 has “Where the unit is the client’s own champion below its highest level, a client also shows the amount on its experience display.”PlayAnimation, its layout: “scaleTime and startProgress are applied only where above zero. A unit holding a locked animation ignores the message. An animated building plays at normal speed, and keepEmotes has no effect on it.”, where 3.14 has “A client ignores scaleTime and startProgress, and plays at normal speed from the start. A unit holding a locked animation ignores the message. An animated building plays at normal speed, and keepEmotes has no effect on it.”PlayAnimation,scaleTime: “A scale on how long it plays.”, where 3.14 has “A scale on how long it plays. A client ignores it.”PlayAnimation,startProgress: “How far into the animation it starts.”, where 3.14 has “How far into the animation it starts. A client ignores it.”