Difference between revisions of "Protocol History"
(Up to 1.9.1-pre3 (have not tried 1.9.1 if it has released today, but I suspect it isn't different)) |
m (→16w06a: grammar (ow, that's not a fun word)) |
||
Line 29: | Line 29: | ||
* Protocol version 100 | * Protocol version 100 | ||
* Changed fixed-point ints for x, y, and z coordinates to doubles in Spawn Object (0x00), Spawn Experience Orb (0x01), Spawn Global Entity (0x02), Spawn Mob (0x03), Spawn Player (0x05), and Entity Teleport (0x4A). | * Changed fixed-point ints for x, y, and z coordinates to doubles in Spawn Object (0x00), Spawn Experience Orb (0x01), Spawn Global Entity (0x02), Spawn Mob (0x03), Spawn Player (0x05), and Entity Teleport (0x4A). | ||
− | * Changed byte-based fixed deltas measured in | + | * Changed byte-based fixed deltas measured in 32ndths of a block to short-based fixed deltas measured as <code>(currentX * 32 - prevX * 32) * 128</code> in Entity Relative Move (0x25) and Entity Look And Relative Move (0x26). As such, these packets are used for movements of at max 8 blocks instead of at max 4 blocks. |
=== 16w05b === | === 16w05b === |
Revision as of 18:44, 30 March 2016
Provided below is a changelog of the server protocol starting on 2010-08-20. The wiki history feature may also be used to investigate changes.
Contents
- 1 1.9.1-pre2 and 1.9.1-pre3
- 2 1.9 and 1.9.1-pre1
- 3 1.9-pre4
- 4 1.9-pre3
- 5 1.9-pre2
- 6 1.9-pre1
- 7 16w07b
- 8 16w07a
- 9 16w06a
- 10 16w05b
- 11 16w05a
- 12 16w04a
- 13 16w03a
- 14 16w02a
- 15 15w51b
- 16 15w51a
- 17 15w50a
- 18 15w49b
- 19 15w49a
- 20 15w47c
- 21 15w47b
- 22 15w47a
- 23 15w46a
- 24 15w45a
- 25 15w44b
- 26 15w44a
- 27 15w43c
- 28 15w43b
- 29 15w43a
- 30 15w42a
- 31 15w41b
- 32 15w41a
- 33 15w40b
- 34 15w40a
- 35 15w39a/b/c
- 36 15w38b
- 37 15w38a
- 38 15w37a
- 39 15w36d
- 40 15w36c
- 41 15w36b
- 42 15w36a
- 43 15w35e
- 44 15w35d
- 45 15w35c
- 46 15w35b
- 47 15w35a
- 48 15w34d
- 49 15w34c
- 50 15w34b
- 51 15w34a
- 52 15w33c
- 53 15w33b
- 54 15w33a
- 55 15w32c
- 56 15w32b
- 57 15w32a
- 58 15w31c
- 59 15w31b
- 60 15w31a
- 61 15w14a
- 62 1.8
- 63 1.8-pre3
- 64 1.8-pre2
- 65 1.8-pre1
- 66 14w34a/b/c/d
- 67 14w33a/b/c
- 68 14w32a/b/c/d
- 69 14w31a
- 70 14w30c
- 71 14w30a/b
- 72 14w29a
- 73 14w28b
- 74 14w28a
- 75 14w27a/b
- 76 14w26c
- 77 14w26b
- 78 14w26a
- 79 14w25b
- 80 14w25a
- 81 14w21a
- 82 14w20a
- 83 14w19a
- 84 14w18b
- 85 14w18a
- 86 14w17a
- 87 14w11a
- 88 14w08a
- 89 14w07a
- 90 14w06a
- 91 14w05a
- 92 14w04b
- 93 14w04a
- 94 14w03a
- 95 14w02a
- 96 1.7.6
- 97 1.7.5
- 98 1.7.4
- 99 1.7.3
- 100 13w49a
- 101 1.7.2
- 102 1.7.1
- 103 1.7
- 104 13w43a
- 105 13w42b
- 106 13w42a
- 107 13w41b
- 108 13w41a
- 109 13w39a/b
- 110 13w38a/b/c
- 111 1.6.4
- 112 1.6.3
- 113 13w37b
- 114 13w36a
- 115 1.6.x
- 116 1.5.x
- 117 1.4.x
- 118 2012-12-20
- 119 2012-11-14
- 120 2012-10-23
- 121 2012-08-01
- 122 2012-03-22
- 123 2012-03-01
- 124 2012-01-12
- 125 2011-11-13
- 126 2011-11-11
- 127 2011-10-27
- 128 2011-10-13
- 129 2011-9-29
- 130 2011-9-22
- 131 2011-9-14
- 132 2011-9-13
- 133 2011-9-10
- 134 2011-6-30
- 135 2011-5-26
- 136 2011-4-19
- 137 2011-3-31
- 138 2011-2-22
- 139 2011-1-13
- 140 2010-12-20
- 141 2010-12-01
- 142 2010-11-24
- 143 2010-11-10
- 144 2010-10-31
- 145 2010-09-10
- 146 2010-08-20
1.9.1-pre2 and 1.9.1-pre3
- Protocol version 108
- Changed dimension in Join Game from a byte enum to an int enum (not VarInt), to the benefit of Minecraft Forge
1.9 and 1.9.1-pre1
- Protocol version 107
1.9-pre4
- Protocol version 106
1.9-pre3
- Protocol version 105
1.9-pre2
- Protocol version 104
1.9-pre1
- Protocol version 103
16w07b
- Protocol version 102
16w07a
- Protocol version 101
16w06a
- Protocol version 100
- Changed fixed-point ints for x, y, and z coordinates to doubles in Spawn Object (0x00), Spawn Experience Orb (0x01), Spawn Global Entity (0x02), Spawn Mob (0x03), Spawn Player (0x05), and Entity Teleport (0x4A).
- Changed byte-based fixed deltas measured in 32ndths of a block to short-based fixed deltas measured as
(currentX * 32 - prevX * 32) * 128
in Entity Relative Move (0x25) and Entity Look And Relative Move (0x26). As such, these packets are used for movements of at max 8 blocks instead of at max 4 blocks.
16w05b
- Protocol version 99
16w05a
- Protocol version 98
16w04a
- Protocol version 97
- Changed floats in Steer Boat (0x11) to booleans
16w03a
- Protocol version 96
16w02a
- Protocol version 95
- Added a UUID to Spawn Painting (0x04) after entity ID
- Added VarInt enum category to Named Sound Effect (0x19)
- Added VarInt enum category to Sound Effect (0x47)
15w51b
- Protocol version 94
15w51a
- Protocol version 93
15w50a
- Protocol version 92
15w49b
- Protocol version 91
15w49a
- Protocol version 90
15w47c
- Protocol version 89
15w47b
- Protocol version 88
15w47a
- Protocol version 87
15w46a
- Protocol version 86
Clientbound
- Removed Set Compression (0x1E) during play. Its login varient should be used instead.
- Changed ID of Change Game State from 0x1F to 0x1E
- Changed ID of Keep Alive from 0x20 to 0x1F
- Changed ID of Chunk Data from 0x21 to 0x20
- Changed ID of Effect from 0x22 to 0x21
- Changed ID of Particle from 0x23 to 0x22
- Changed ID of Join Game from 0x24 to 0x23
- Changed ID of Map from 0x25 to 0x24
- Changed ID of Entity Relative Move from 0x26 to 0x25
- Changed ID of Entity Look and Relative Move from 0x27 to 0x26
- Changed ID of Entity Look from 0x28 to 0x27
- Changed ID of Entity from 0x29 to 0x28
- Changed ID of Vehicle Move from 0x2A to 0x29
- Changed ID of Open Sign Editor from 0x2B to 0x2A
- Changed ID of Player Abilities from 0x2C to 0x2B
- Changed ID of Combat Event from 0x2D to 0x2C
- Changed ID of Player List Item from 0x2E to 0x2D
- Changed ID of Player Position and Look from 0x2F to 0x2E
- Changed ID of Use Bed from 0x30 to 0x2F
- Changed ID of Destroy Entities from 0x31 to 0x30
- Changed ID of Remove Entity Effect from 0x32 to 0x31
- Changed ID of Resource Pack Send from 0x33 to 0x32
- Changed ID of Respawn from 0x34 to 0x33
- Changed ID of Entity Head Look from 0x35 to 0x34
- Changed ID of World Border from 0x36 to 0x35
- Changed ID of Camera from 0x37 to 0x36
- Changed ID of Held Item Change from 0x38 to 0x37
- Changed ID of Display Scoreboard from 0x39 to 0x38
- Changed ID of Entity Metadata from 0x3A to 0x39
- Changed ID of Attach Entity from 0x3B to 0x3A
- Changed ID of Entity Velocity from 0x3C to 0x3B
- Changed ID of Entity Equipment from 0x3D to 0x3C
- Changed ID of Set Experience from 0x3E to 0x3D
- Changed ID of Update Health from 0x3F to 0x3E
- Changed ID of Scoreboard Objective from 0x40 to 0x3F
- Changed ID of Set Passangers from 0x41 to 0x40
- Changed ID of Teams from 0x42 to 0x41
- Changed ID of Update Score from 0x43 to 0x42
- Changed ID of Spawn Position from 0x44 to 0x43
- Changed ID of Time Update from 0x45 to 0x44
- Changed ID of Title from 0x46 to 0x45
- Changed ID of Update Sign from 0x47 to 0x46
- Changed ID of Sound Effect from 0x48 to 0x47
- Changed ID of Player List Header and Footer from 0x49 to 0x48
- Changed ID of Collect Item from 0x4A to 0x49
- Changed ID of Entity Teleport from 0x4B to 0x4A
- Changed ID of Entity Properties from 0x4C to 0x4B
- Changed ID of Entity Effect from 0x4D to 0x4C
15w45a
- Protocol version 85
15w44b
- Protocol version 84
15w44a
- Protocol version 83
- Click Window (0x07)'s mode field is now a VarInt enum instead of a byte enum
15w43c
- Protocol version 82
15w43b
- Protocol version 81
15w43a
- Protocol version 80
Clientbound
- Changed ID of Named Sound Effect (previously refered to as Sound Effect) from 0x23 to 0x19
- Changed ID of Disconnect from 0x19 to 0x1A
- Changed ID of Entity Status from 0x1A to 0x1B
- Changed ID of Explosion from 0x1B to 0x1C
- Changed ID of Unload Chunk from 0x1C to 0x1D
- Changed ID of Set Compression from 0x1D to 0x1E
- Changed ID of Set Game State from 0x1E to 0x1F
- Changed ID of Keep Alive from 0x1F to 0x20
- Changed ID of Chunk Data from 0x20 to 0x21
- Changed ID of Effect from 0x21 to 0x22
- Changed ID of Particle from 0x22 to 0x23
- Changed ID of Vehicle Move from 0x4C to 0x2A
- Changed ID of Open Sign Editor from 0x2A to 0x2B
- Changed ID of Player Abilities from 0x2B to 0x2C
- Changed ID of Combat Event from 0x2C to 0x2D
- Changed ID of Player List Item from 0x2D to 0x2E
- Changed ID of Player Position and Look from 0x2E to 0x2F
- Changed ID of Use Bed from 0x2F to 0x30
- Changed ID of Destroy Entities from 0x30 to 0x31
- Changed ID of Remove Entity Effect from 0x31 to 0x32
- Changed ID of Resource Pack Send from 0x32 to 0x33
- Changed ID of Respawn from 0x33 to 0x34
- Changed ID of Entity Head Look from 0x34 to 0x35
- Changed ID of World Border from 0x35 to 0x36
- Changed ID of Camera from 0x36 to 0x37
- Changed ID of Held Item Change from 0x37 to 0x38
- Changed ID of Display Scoreboard from 0x38 to 0x39
- Changed ID of Entity Metadata from 0x39 to 0x3A
- Changed ID of Set Passangers from 0x3A to 0x41
- Changed ID of Teams from 0x41 to 0x42
- Changed ID of Update Score from 0x42 to 0x43
- Changed ID of Spawn Position from 0x43 to 0x44
- Changed ID of Time Update from 0x44 to 0x45
- Changed ID of Title from 0x45 to 0x46
- Changed ID of Update Sign from 0x46 to 0x47
- Added Sound Event (numeric ID) with ID 0x48. Structure is VarInt for the ID; x, y, and z as ints; volume as float; and pitch as a byte.
- Changed ID of Player List Header and Footer from 0x47 to 0x49
- Changed ID of Collect Item from 0x48 to 0x4A
- Changed ID of Entity Teleport from 0x49 to 0x4B
- Changed ID of Entity Properties from 0x4A to 0x4C
- Changed ID of Entity Effect from 0x4B to 0x4D
Serverbound
- Changed ID of Teleport Confirm from 0x1D to 0x00
- Changed ID of Tab Complete from 0x00 to 0x01
- Changed ID of Chat Message from 0x01 to 0x02
- Changed ID of Client Status from 0x02 to 0x03
- Changed ID of Client Settings from 0x03 to 0x04
- Changed ID of Confirm Transaction from 0x04 to 0x05
- Changed ID of Enchant Item from 0x05 to 0x06
- Changed ID of Click Window from 0x06 to 0x07
- Changed ID of Close Window from 0x07 to 0x08
- Changed ID of Plugin Message from 0x08 to 0x09
- Changed ID of Use Entity from 0x09 to 0x0A
- Changed ID of Keep Alive from 0x0A to 0x0B
- Changed ID of Vehicle Move from 0x0B to 0x10
- Changed ID of Steer Boat from 0x1C to 0x11
- Changed ID of Player Abilities from 0x10 to 0x12
- Changed ID of Player Digging from 0x11 to 0x13
- Changed ID of Entity Action from 0x12 to 0x14
- Changed ID of Steer Vehicle from 0x13 to 0x15
- Changed ID of Resource Pack Status from 0x14 to 0x16
- Changed ID of Held Item Change from 0x15 to 0x17
- Changed ID of Creative Inventory Action from 0x16 to 0x18
- Changed ID of Update Sign from 0x17 to 0x19
- Changed ID of Animation from 0x18 to 0x1A
- Changed ID of Spectate from 0x19 to 0x1B
- Changed ID of Player Block Placement from 0x1A to 0x1C
- Changed ID of Use Item from 0x1B to 0x1D
15w42a
- Protocol version 79
- Added Teleport ID VarInt field to Player Position and Look (0x2E - clientbound)
- Added Teleport Confirm (0x1D - serverbound) packet, with a single VarInt for the teleport ID
15w41b
- Protocol version 78
15w41a
- Protocol version 77
- Added an unused
MC|DebugPath
channel
Clientbound
- Added Set Passengers (0x3A)
- Changed ID of Attach Entity from 0x3A to 0x3B
- Removed "Leash" boolean from Attach Entity - Attach entity is now used only for leashing and Set Passengers is used in all other cases.
- Changed ID of Entity Velocity from 0x3B to 0x3C
- Changed ID of Entity Equipment from 0x3C to 0x3D
- Changed ID of Set Experience from 0x3D to 0x3E
- Changed ID of Update Health from 0x3E to 0x3F
- Changed ID of Scoreboard Objectives from 0x3F to 0x40
- Changed ID of Teams from 0x40 to 0x41
- Changed ID of Update Score from 0x41 to 0x42
- Changed ID of Spawn Position from 0x42 to 0x43
- Changed ID of Time Update from 0x43 to 0x44
- Changed ID of Title from 0x44 to 0x45
- Changed ID of Update Sign from 0x45 to 0x46
- Changed ID of Player List header and footer from 0x46 to 0x47
- Changed ID of Collect Item from 0x47 to 0x48
- Changed ID of Entity Teleport from 0x48 to 0x49
- Changed ID of Entity Properties from 0x49 to 0x4A
- Changed ID of Entity Effect from 0x4A to 0x4B
Serverbound
- Added Vehicle Move (0x0B). Its structure is 3 doubles (coordinates) and then 2 floats (yaw and pitch).
- Changed ID of Player Position from 0x0B to 0x0C
- Changed ID of Player Position and Look from 0x0C to 0x0D
- Changed ID of Player Look from 0x0D to 0x0E
- Changed ID of Player from 0x0E to 0x0F
- Changed ID of Player Abilities from 0x0F to 0x10
- Changed ID of Player Digging from 0x10 to 0x11
- Changed ID of Entity Action from 0x11 to 0x12
- Changed ID of Steer Vehicle from 0x12 to 0x13
- Changed ID of Resource Pack Status from 0x13 to 0x14
- Changed ID of Held Item Change from 0x14 to 0x15
- Changed ID of Creative Inventory Action from 0x15 to 0x16
- Changed ID of Update Sign from 0x16 to 0x17
- Changed ID of Animation from 0x17 to 0x18
- Changed ID of Spectate from 0x18 to 0x19
- Changed ID of Player Block Placement from 0x19 to 0x1A
- Changed ID of Use Item from 0x1A to 0x1B
- Added Steer Boat packet (0x1C), with 2 floats as a payload.
15w40b
- Protocol version 76
15w40a
- Protocol version 75
15w39a/b/c
- Protocol version 74
- Changed the hitboxes of several entities
15w38b
- Protocol version 73
15w38a
- Protocol version 72
15w37a
- Protocol version 71
15w36d
- Protocol version 70
- Changed Primary Bit Mask in Chunk Data (0x20) from an Int to a VarInt (was an unsigned short in 1.8)
15w36c
- Protocol version 69
15w36b
- Protocol version 68
15w36a
- Protocol version 67
- Nearly all packets had their ID changed in this version
Clientbound
- Changed ID of Keep Alive from 0x00 to 0x1F
- Changed ID of Join Game from 0x01 to 0x24
- Changed ID of Chat Message from 0x02 to 0x0F
- Changed ID of Time Update from 0x03 to 0x43
- Changed ID of Entity Equipment from 0x04 to 0x3C
- Changed ID of Spawn Position from 0x05 to 0x42
- Changed ID of Update Health from 0x06 to 0x3E
- Changed ID of Respawn from 0x07 to 0x33
- Changed ID of Player Position And Look from 0x08 to 0x2E
- Changed ID of Held Item Change from 0x09 to 0x37
- Changed ID of Use Bed from 0x0A to 0x2F
- Changed ID of Animation from 0x0B to 0x06
- Changed ID of Spawn Player from 0x0C to 0x05
- Changed ID of Collect Item from 0x0D to 0x47
- Changed ID of Spawn Mob from 0x0F to 0x03
- Changed ID of Spawn Painting from 0x10 to 0x04
- Changed ID of Spawn Experience Orb from 0x11 to 0x01
- Changed ID of Entity Velocity from 0x12 to 0x3B
- Changed ID of Destroy Entities from 0x13 to 0x30
- Changed ID of Entity from 0x14 to 0x29
- Changed ID of Entity Relative Move from 0x15 to 0x26
- Changed ID of Entity Look from 0x16 to 0x28
- Changed ID of Entity Look And Relative Move from 0x17 to 0x27
- Changed ID of Entity Teleport from 0x18 to 0x48
- Changed ID of Entity Head Look from 0x19 to 0x34
- Changed ID of Attach Entity from 0x1B to 0x3A
- Changed ID of Entity Metadata from 0x1C to 0x39
- Changed ID of Entity Effect from 0x1D to 0x4A
- Changed ID of Remove Entity Effect from 0x1E to 0x31
- Changed ID of Set Experience from 0x1F to 0x3D
- Changed ID of Entity Properties from 0x20 to 0x49
- Changed ID of Chunk Data from 0x21 to 0x20
- Changed ID of Unload Chunk from 0x22 to 0x1C
- Changed ID of Multi Block Change from 0x23 to 0x10
- Changed ID of Block Change from 0x24 to 0x0B
- Changed ID of Block Action from 0x25 to 0x0A
- Changed ID of Block Break Animation from 0x26 to 0x08
- Changed ID of Explosion from 0x27 to 0x1B
- Changed ID of Effect from 0x28 to 0x21
- Changed ID of Sound Effect from 0x29 to 0x23
- Changed ID of Particle from 0x2A to 0x22
- Changed ID of Change Game State from 0x2B to 0x1E
- Changed ID of Spawn Global Entity from 0x2C to 0x02
- Changed ID of Open Window from 0x2D to 0x13
- Changed ID of Close Window from 0x2E to 0x12
- Changed ID of Set Slot from 0x2F to 0x16
- Changed ID of Window Items from 0x30 to 0x14
- Changed ID of Window Property from 0x31 to 0x15
- Changed ID of Confirm Transaction from 0x32 to 0x11
- Changed ID of Update Sign from 0x33 to 0x45
- Changed ID of Map from 0x34 to 0x25
- Changed ID of Update Block Entity from 0x35 to 0x09
- Changed ID of Open Sign Editor from 0x36 to 0x2A
- Changed ID of Statistics from 0x37 to 0x07
- Changed ID of Player List Item from 0x38 to 0x2D
- Changed ID of Player Abilities from 0x39 to 0x2B
- Changed ID of Tab-Complete from 0x3A to 0x0E
- Changed ID of Scoreboard Objective from 0x3B to 0x3F
- Changed ID of Update Score from 0x3C to 0x41
- Changed ID of Display Scoreboard from 0x3D to 0x38
- Changed ID of Teams from 0x3E to 0x40
- Changed ID of Plugin Message from 0x3F to 0x18
- Changed ID of Disconnect from 0x40 to 0x19
- Changed ID of Server Difficulty from 0x41 to 0x0D
- Changed ID of Combat Event from 0x42 to 0x2C
- Changed ID of Camera from 0x43 to 0x36
- Changed ID of World Border from 0x44 to 0x35
- Changed ID of Title from 0x45 to 0x44
- Changed ID of Set Compression from 0x46 to 0x1D
- Changed ID of Player List Header And Footer from 0x47 to 0x46
- Changed ID of Resource Pack Send from 0x48 to 0x32
- Changed ID of Boss Bar from 0x49 to 0x0C
- Changed ID of Set Cooldown from 0x0A to 0x17
Serverbound
- Changed ID of Keep Alive from 0x00 to 0x0A
- Changed ID of Use Entity from 0x02 to 0x09
- Changed ID of Player from 0x03 to 0x0E
- Changed ID of Player Position from 0x04 to 0x0B
- Changed ID of Player Look from 0x05 to 0x0D
- Changed ID of Player Position And Look from 0x06 to 0x0C
- Changed ID of Player Digging from 0x07 to 0x10
- Changed ID of Use Item from 0x08 to 0x1A
- Changed ID of Player Block Placement from 0x09 to 0x19
- Changed ID of Held Item Change from 0x0A to 0x14
- Changed ID of Animation from 0x0B to 0x17
- Changed ID of Entity Action from 0x0C to 0x11
- Changed ID of Steer Vehicle from 0x0D to 0x12
- Changed ID of Close Window from 0x0E to 0x07
- Changed ID of Click Window from 0x0F to 0x06
- Changed ID of Confirm Transaction from 0x10 to 0x04
- Changed ID of Creative Inventory Action from 0x11 to 0x15
- Changed ID of Enchant Item from 0x12 to 0x05
- Changed ID of Update Sign from 0x13 to 0x16
- Changed ID of Player Abilities from 0x14 to 0x0F
- Changed ID of Tab-Complete from 0x15 to 0x00
- Changed ID of Client Settings from 0x16 to 0x03
- Changed ID of Client Status from 0x17 to 0x02
- Changed ID of Plugin Message from 0x18 to 0x08
- Changed ID of Resource Pack Status from 0x19 to 0x13
15w35e
- Protocol version 66
15w35d
- Protocol version 65
15w35c
- Protocol version 64
15w35b
- Protocol version 63
15w35a
- Protocol version 62
- Added Unload Chunk packet (0x22), with two ints for the chunk x and z coordinates.
- Changed ID of multi-block change from 0x22 to 0x23
- Changed ID of block change from 0x23 to 0x24
- Changed ID of block action from 0x24 to 0x25
- Changed ID of block break animation from 0x25 to 0x26
- Removed Map Chunk Bulk (0x26)
- Changed Update Sign (0x13 - serverbound) from being 4 chat components to 4 Strings. The serverbound packet still uses chat components.
15w34d
- Protocol version 61
15w34c
- Protocol version 60
- Changed primary bit mask in Chunk Data (0x21) from a short to an Int
- Significantly reworked Map Chunk Bulk (0x26)
- Added Set Cooldown (0x4A)
15w34b
- Protocol version 59
- Added assume command boolean to Tab Complete (0x15), before the existing "has position" boolean.
15w34a
- Protocol version 58
- Added tracking position boolean to Map (0x34)
15w33c
- Protocol version 57
15w33b
- Protocol version 56
15w33a
- Protocol version 55
15w32c
- Protocol version 54
15w32b
- Protocol version 53
15w32a
- Protocol version 52
15w31c
- Protocol Version is now 51
- Added
DragonFireball
entity
15w31b
- Protocol Version is now 50
15w31a
- Protocol Version is now 49
Clientbound
- Changed Slot Id from a short to a VarInt enum in Entity Equipment (0x04)
- Removed Current Item short from Spawn Player (0x0C)
- Added Entity UUID after entity ID to Spawn Object (0x0E)
- Spawn Object always sends velocity, even if data is 0
- Added Entity UUID after entity ID to Spawn Mob (0x0F)
- Removed Update Entity NBT Packet (0x49)
- Added Boss Bar packet (0x49)
Serverbound
- Added VarInt enum for selected hand in Use Entity (0x02); only sent if type is interact or interact at
- Added swap item in hand (6) as a status for Player Digging
- Added Use Item (0x08) packet with a VarInt enum for the selected hand
- Changed ID of Player Block Placement from 0x08 to 0x09
- Face for Player Block Placement is now a VarInt enum instead of a byte
- Replaced held item (slot) with VarInt enum selected hand in Player Block Placement
- Changed ID of Held Item Change from 0x09 to 0x0A
- Changed ID of Animation from 0x0A to 0x0B
- Added VarInt Enum selected hand to Animation
- Changed ID of Entity Action from 0x0B to 0x0C
- Removed Open inventory (6) from valid values for Entity Action's Action enum
- Changed ID of Steer Vehicle from 0x0C to 0x0D
- Changed ID of Close Window from 0x0D to 0x0E
- Changed ID of Click Window from 0x0E to 0x0F
- Changed ID of Confirm Transaction from 0x0F to 0x10
- Changed ID of Creative Inventory Action from 0x10 to 0x11
- Changed ID of Enchant Item from 0x11 to 0x12
- Changed ID of Update Sign from 0x12 to 0x13
- Changed ID of Player Abilities from 0x13 to 0x14
- Changed ID of Tab Complete from 0x14 to 0x15
- Changed ID of Client Settings from 0x15 to 0x16
- Added VarInt enum main hand to Client Settings
- Changed ID of Client Status from 0x16 to 0x17
- Client Status is now used to signify that the client has opened its inventory, rather than to just award the "Taking Inventory" achievement
- Changed ID of Plugin Message from 0x17 to 0x18
- Changed ID of Spectate from 0x18 to 0x19
- Changed ID of Resource Pack Status from 0x19 to 0x1A
15w14a
Note: 15w14a was a joke snapshot, and its changes were not moved into the following snapshots
- Protocol version 48
- Added a new packet with ID 0x4A, that has a single VarInt as its payload. Use unknown.
1.8
1.8-pre3
1.8-pre2
1.8-pre1
- New metadata type, 7 (Rotation), 12 bytes (3 floats, Pitch, Yaw, and Roll), used on armor stand
14w34a/b/c/d
14w33a/b/c
- Added new fields to Tab-Complete (Serverbound)
14w32a/b/c/d
- Added new Update Entity NBT packet
- Added three new fields to Use Entity
14w31a
- The length prefix on the payload of Plugin Message has been removed (Both ways)
- Added new Resource Pack Send packet
- Added new Resource Pack Status packet
- Added VarLong data type
- Changed a few fields in World Border to VarLong
- Changed the type of Keep Alive ID from Int to VarInt (Clientbound)
14w30c
14w30a/b
14w29a
- Fix the length prefix of Plugin Message so that its a Varint instead of an unsigned short
- Added "Reduced Debug Info" boolean to Join Game
- Added "Long Distance" boolean to Particle
14w28b
- Uncompressed NBT
- Added Display name fields to Player List Item
- New 'Player List Header/Footer' packet
14w28a
- Changed Chunk packets to remove compression
- Added packets to toggle compression/set threshold
- Allowed compression for the whole protocol
- Changed the Maps packet
14w27a/b
14w26c
- Changed Multi Block Change to using packed block ids
- Changed Block Change to using packed block ids
14w26b
- Bug fix
14w26a
- Changed chunk sending
14w25b
- Added boolean field to all entity movement packets
14w25a
- Update Sign now uses Chat
14w21a
- All byte arrays have VarInt length prefixes instead of short
- Spawn Player changes
- Player list item changes
14w20a
- Added new packet 'Title'
14w19a
- Changed the Particle's 'Particle Name' to an int
- Added a new field to Particle
- Rewrote Player List Item
- Added SET_WARNING_TIME and SET_WARNING_BLOCKS to World Border
- Added new serverbound packet Spectate
14w18b
- Bugfix
14w18a
- Added 'INITIALIZE' action to World Border
14w17a
- Increased the max payload size of 'Plugin Message' from 32767 to 1048576 (Broken because of incorrect data type)
- Added new packet 'World Border'
14w11a
- UUIDs now include the '-'s
14w08a
- Added new field 'Type' to Scoreboard Objective
14w07a
- Added two new fields to Teams
14w06a
Clientbound
- Added new field 'Hide Particles' to Entity Effect
Serverbound
- Removed 'HeadY' from Player Position
- Removed 'HeadY' from Player Position And Look
14w05a
Clientbound
- New packet 'Camera'
14w04b
- Spawn Painting now uses the 'Position' data type
- Changed Spawn Painting's Direction type to Unsigned Byte
14w04a
- Encoding for 'Position' changed
Clientbound
- Changed Entity Equipment's EntityId type to VarInt
- Changed Update Health's Food type to VarInt
- Changed Use Bed's EntityId type to VarInt
- Added new fields to Spawn Player
- Changed Collect Item's EntityId(s) types to VarInt
- Changed Entity Velocity's EntityId type to VarInt
- Changed Destroy Entities' Length type to VarInt
- Changed Destroy Entities' EntityIds type to VarInt array
- Changed Entity's EntityId type to VarInt
- Changed Entity Relative Move's EntityId type to VarInt
- Changed Entity Look's EntityId type to VarInt
- Changed Entity Look and Relative Move's EntityId type to VarInt
- Changed Entity Teleport's EntityId type to VarInt
- Changed Entity Head Look's EntityId type to VarInt
- Changed Entity Metadata's EntityId type to Varint
- Changed Entity Effect's EntityId type to VarInt
- Changed Entity Effect's Duration type to VarInt
- Changed Remove Entity Effect's EntityId type to VarInt
- Changed Set Experience's Level type to VarInt
- Changed Set Experience's Total Experience type to VarInt
- Changed Entity Properties's EntityId type to VarInt
- Changed Entity Properties's List Length type to VarInt
- Changed Player List Item's Ping type to VarInt
- Changed Update Score's Value type to VarInt
- Changed Teams' Player count type to VarInt
- New packet 'Combat Event'
Serverbound
- Changed Keep Alive's Keep Alive ID type to VarInt
- Changed Use Entity's Target type to VarInt
- Changed Use Entity's Mouse type to Unsigned Byte
- Removed everything from Animation
- Changed Entity Action's EntityId type to VarInt
- Changed Entity Action's Action ID type to Unsigned Byte
- Changed Entity Action's Values
- Changed Entity Action's Jump Boast type to VarInt
- Merged Steer Vehicle's Jump and Unmount into a Bit Field
- Changed Client Status's Action ID type to Unsigned Byte
14w03a
- New data type 'Position'
Clientbound
- Spawn Position now uses the 'Position' data type
- Use Bed now uses the 'Position' data type
- Block Change now uses the 'Position' data type
- Block Action now uses the 'Position' data type
- Block Break Animation now uses the 'Position' data type
- Effect now uses the 'Position' data type
- Sign Update now uses the 'Position' data type
- Update Block Entity now uses the 'Position' data type
- Sign Editor Open nows uses the 'Position' data type
Serverbound
- Player Digging now uses the 'Position' data type
- Player Block Placement now uses the 'Position' data type
- Update Sign now uses the 'Position' data type
- Client Settings 'show cape' type changed from boolean to unsigned byte
14w02a
- Added 'Position' to Chat Message Clientbound
- Remove Player Position And Look's 'OnGround' clientbound
- Added 'Flags' to Player Position And Look clientbound
- Changed Open Inventory's 'Inventory Type' type from byte to string
- Added Server Difficulty
- Removed Client Settings' 'Difficulty'
1.7.6
- UUIDs now include the '-'s
- Added new fields to Spawn Player
1.7.5
1.7.4
1.7.3
13w49a
- Changed Set Slot's Window ID type to byte
1.7.2
- Changed Multi Block Change's 'X' and 'Z' type to Int
1.7.1
1.7
13w43a
13w42b
13w42a
- Added 'Level Type' to Join Game
- Added 'Level Type' to Respawn
- Removed Sound Effect's 'Sound Category'
13w41b
Note this isn't backwards compatible with 13w41a due to Handshakes's Server Port type change
- Removed Player (Clientbound), Player Position (Clientbound), Player Look (Clientbound)
- Removed Player Position and Look (Clientbound)'s 'Stance'
- Removed Join Game's 'N/A' and 'Level Type'
- Changed Join Game's 'Gamemode' 'Difficulty' 'Max Players' types to Unsigned Byte
- Changed Handshake's 'Server Port' type to Unsigned Short
- Removed Respawn's 'World Height' 'Level Type'
- Changed Respawn's 'Difficulty' and 'Gamemode' types to Unsigned Byte
- Changed Held Item Change's 'Slot' type to Byte
- Removed Use Bed's 'unknown byte'
- Changed Animation's 'Animation' type to Unsigned Byte
- Changed Animation's 'Entity ID' type to VarInt
- Changed Spawn Player's 'Entity ID' type to VarInt
- Changed Spawn Object's 'Entity ID' type to VarInt
- Changed Spawn Mob's 'Entity ID' type to VarInt
- Changed Spawn Painting's 'Entity ID' type to VarInt
- Changed Spawn Experience Orb's 'Entity ID' type to VarInt
- Changed Multi Block Change's 'Chunk X' and 'Chunk Z' types to VarInt
- Changed Block Change's 'Block Type' type to VarInt
- Changed Block Action's 'Block Type' type to VarInt
- Changed Block Break Animation's 'Entity ID' type to VarInt
- Changed Explosion's 'X' 'Y' and 'Z' types to Float
- Changed Change Game State's 'Reason' type to Unsigned Byte
- Changed Spawn Global Entity's 'Entity ID' type to VarInt
- Changed Close Window's 'Window ID' type to Unsigned Byte
- Changed Set Slot's 'Window ID' type to Unsigned Byte
- Changed Window Items's 'Window ID' type to Unsigned Byte
- Changed Window Property's 'Window ID' type to Unsigned Byte
- Changed Comfirm Transaction's 'Window ID' type to Unsigned Byte
- Changed Maps' 'Item Damage' type to VarInt
- Removed Maps' 'Item Type'
- Changed Update Block Entity's 'Action' type to Unsigned Byte
- Block Editor Open -> Sign Editor Open
- Removed Sign Editor Open's 'Tile Entity Id'
- Changed Statistics's 'Count' and 'Amount' types to VarInt
- Changed Tab-Complete from \x00 String to Array of Strings
13w41a
- Large protocol rework
13w39a/b
- UUIDs added to spawn named entity
- Game state 'gamemode' byte -> float
13w38a/b/c
1.6.4
1.6.3
- Terrain fixes to help moving to 1.7, no packet changes from 1.6.2
13w37b
13w36a
- Added sound category byte to 0x3E
- Changed 0xC8 to a string:int map
1.6.x
1.6.1: Protocol version is now 73. Packet 0xFA is sent after packet 0xFE with additional data
1.6: Protocol version is now 72. Changed Open Window packet, added two inventory types
1.5.x
13w25a: Protocol version is now 71. Changed packet: Increment Statistic (0xC8)
13w24b: Protocol version is now 70
13w24a: Protocol version is now 69. Changed functionality: Time Update (0x04)
13w23b: Protocol version is now 68.
13w22a: Protocol version is now 67. New packet: Entity Properties (0x2C); Changed packets: Chat Message (0x03)
13w18b: Protocol version is now 65.
13w16b: Protocol version is now 63. New packet: Steer Vehicle (0x1B)
13w16a: Protocol version is now 62. Changed packets: Update Health (0x08), Entity Action (0x17), Attach Entity (0x27), Player Abilities (0xCA)
13w09c: Protocol version is now 60.
13w09b: Protocol version is now 59.
13w09c: Protocol version is now 60.
13w09b: Protocol version is now 59.
13w06a: Protocol version is now 57 58 (Changed after bug fix, version is still 13w06a).
13w05b: Protocol version is now 57.
13w05a: Protocol version is now 56. New packets for teams.
13w04a: Protocol version is now 55. New packets for scoreboards.
13w03a: Protocol version is now 54.
13w02a: Protocol version is now 53. All Minecart entities use object type 10, and send the block within seperately. Minecarts now send their type as object data in 0x17.
13w01a: Protocol version is now 52. Added boolean to 0x64 (Open Window) to determine whether or not to use the provided window title.
1.4.x
- 13w06a: Protocol version is now 58.
- 13w05b: Protocol version is now 57.
- 13w05a: Protocol version is now 56. New packets for teams: 0xD1
- 13w04a: Protocol version is now 55. New packets for scoreboards: 0xCE, 0xCF, 0xD0
- 13w03a: Protocol version is now 54.
- 13w02a: Protocol version is now 53. All Minecart entities use object type 10, and send the block within seperately. Minecarts now send their type as object data in 0x17.
- 13w01a: Protocol version is now 52. Added boolean to 0x64 (Open Window) to determine whether or not to use the provided window title.
2012-12-20
- 1.4.6
- Protocol version is now 51
- Changed packet: 0x10 Held Item Change - Packet is now bidirectional
- Changed packet: 0x17 Spawn Object/Vehicle - Added fields Yaw and Pitch
- Changed packet: 0x38 Map Chunk Bulk - Added boolean field
- Removed packet: 0x15 Spawn Dropped Item - Now merged into 0x17 Spawn Object/Vehicle. The Entity Type ID is 0x02. Set the item type by sending 0x28 Entity Metadata with a slot at index 10. Vanilla packet dump
2012-11-14
- 1.4.4
- Protocol version is now 49
- Packet 0x83 has a short (changed from a unsigned byte) header before the byte array
- Item metadata (5) has an NBT field at the end. As usual if the short is < 0, no data is sent
2012-10-23
- 1.4.1
- Protocol version is now 47
- Entity metadata format updated: type 5 (slot type) now terminates after item_id if it's less than zero.
- Changed packet: 0x04 time update - added 'time of day' field
- Changed packet: 0x15 spawn dropped item - updated to use slot format
- Changed packet: 0x3D particle or sound effect - add new boolean field that forces the sound-effect to play from close range
- (sort of) Changed packet: 0x66 click window - "right click?" field changed from bool to byte
- Changed packet: 0xCC client settings - added boolean "show cape?" field.
- Changed packet: 0xFE server list ping - extra field added; response format slightly expanded to include protocol version.
2012-08-01
- 1.3.1
- Protocol version is now 39
- Fishing floats, spawned by a 0x17 packet do now use the extra fields
- All items (except the empty hand) now send enchantment data
- Added packet: 0x37 Block breaking animation
- Added packet: 0x38 Map Chunk Bulk
- Added packet: 0x3E Name Sound Effect
- Added packet: 0xCB Tab-complete
- Added packet: 0xCC Locale and View Distance
- Added packet: 0xCD Client Statuses used for Login Request and Respawn (1 byte payload)
- Added packet: 0xFC Encryption Key Response
- Added packet: 0xFD Encryption Key Request
- Changed packet: 0x01 Login Request
- Changed packet: 0x02 Handshake
- Changed packet: 0x09 Respawn
- Changed packet: 0x0F Player Block Placement
- Changed packet: 0x14 Spawn named entity
- Changed packet: 0x18 Spawn Mob - added velocity
- Changed packet: 0x1D Destroy Entity
- Changed packet: 0x33 Chunk Data - remove Unused int
- Changed packet: 0x35 Block Change
- Changed packet: 0x36 Block Action
- Changed packet: 0xCA Player Abilities
- Removed packet: 0x32 Map Column Allocation
2012-03-22
- 1.2.4
- Protocol version is now 29
- New packet: 0xCA player abilities
2012-03-01
- 1.2.2
- Protocol version is now 28
- New packet: 0x23 entity head look
- New packet: 0x84 update tile entity
- 0x02 handshake when sent C->S now additionally contains the hostname/port the client is connecting to
- 0x01 login request: map seed (long) parameter removed and dimension changed from byte to int
- 0x09 respawn has the same changes (dimension changed from byte to int and seed removed)
- 0x18 mob spawn has a new byte field: head yaw
- 0x33 map chunks packet was completely changed to use the new 16x16x16 chunk format
- 0x34 multi block change has a new format also
2012-01-12
- 1.1
- Protocol version is now 23
- New packet: 0xFA Plugin message
- 0x01 login request has a new string field: level-type (DEFAULT or SUPERFLAT)
- 0x09 respawn has the same change
- Packet removed: 0x1B stance update (had been unused for some time)
2011-11-13
- 1.0rc2
- Protocol version is not changed
- Client gives invalid server key when authentication hash is 8 bytes and the first byte is > 0x80
- Bow has extra metadata as slot item.
2011-11-11
- Beta 1.9 pre6.
- Protocol version is now 22
- NewState: Reason 4 = Enter scrolling text mode after slaying the dragon.
- New entity: EnderCrystal (Spawned using the Add Object/Vehicle (0x17) packet with type 51)
2011-10-27
- Beta 1.9 pre5.
- Protocol version is now 21
- Packet 0x6B (Create Inventory) changed: uses Slot datatype.
2011-10-13
- Beta 1.9 pre4.
- Protocol version is now 20
- Packet 0x2B (Experience) changed: now (float, short, short)
- New packet 0x6C (Enchant item) added: (byte, byte)
- Flint and steel no longer enchantable (see 1.9pre3 changes). Might be others, too.
- Notchian server now features an RCON server (server class: o.java)
- Notchian server now features "G4S" server [1]
2011-9-29
- Beta 1.9 pre2.
- Protocol version is now 19
- Four packets changed:
- The change affects the "slot" datatype. This type consists of at least a short (item_id). If this id isn't
-1
, a byte (count) and a short (uses) follow. - From 1.9pre2 onward, additional data is sent but only for certain item_ids. This means the protocol is no longer context free. The additional data is at least a short. If this short isn't -1, a byte[] array follows, containing gzipped NBT data
- The format of the NBT is as follows
COMPOUND
LIST: 'ench'
SHORT: 'id'
SHORT: 'lvl'
END
END
- So far only this format, with 'id' and 'lvl' set to
2
and1
respectively, has been seen.
2011-9-22
- Beta 1.9 pre1.
- Protocol version is now 18
2011-9-14
- Beta 1.8 release.
- Protocol version is now 17
2011-9-13
- Beta 1.8 pre2-release.
- Protocol version is now 16
- Packet 0x01 (Login) changed (added byte, world height now unsigned)
- Packet 0x09 (Respawn) changed (added byte)
- Packet 0x64 (Open Window) changed (Window title changed from string8 to string16)
- New packet 0x1a (Experience Orb) added
- Assumedly 0x17 (Add Object/Vehicle) is no longer used for exp orbs.
2011-9-10
- Beta 1.8 pre-release.
- Protocol version is now 15
- Packet 0x00 (Keep Alive) changed (added keep-alive id)
- Packet 0x01 (Login) changed (added server mode, height limit, and an unknown field)
- Packet 0x08 (Health) changed (added food bar and food saturation)
- Packet 0x09 (Respawn) changed (added map seed, server mode, height limit)
- Packet 0x13 (Entity Action) has new values for starting/stopping sprinting.
- Packet 0x46 (New/invalid state) changed (added game mode reason, and a game mode byte)
- New packet 0x29 (Entity Effect) added
- New packet 0x2a (Remove Entity Effect) added
- New packet 0x2b (Experience update) added
- New packet 0x6b (Creative item get) added
- New packet 0xc9 (Player list item) added
- New packet 0xfe (Server list ping) added
- New values for 0x13 (Entity Action): start sprinting, stop sprinting
- New value for 0x17 (Add Object/Vehicle): experience orb
2011-6-30
- Beta 1.7 released.
- Protocol version number is now 14
- No new packets
- Packet 0x36 (Block Action) is now used for pistons too.
2011-5-26
- Beta 1.6 released.
- Protocol increase by 2: 13
- Packet 0x09 (Respawn) changed (added world byte)
- Packet 0x17 (Add Object) changed.
- Packet 0x3d (Sound effect) added
- Packet 0x83 (Map Data) added
2011-4-19
- Beta 1.5 released.
- Some packet info at https://gist.github.com/929803
- Packet 0x01 (Login Request) changed (removed second string)
- Packet 0x66 (Window Click) changed (added bool for shift)
- Added two new packets: 0x47 (Thunderbolt) and 0xC8 (Increment Statistic) (classes eq and nj, respectively)
- Protocol version number is now 11
- All of the strings are now UCS-2, except for Open window (0x64), which is still UTF-8
2011-3-31
- Beta 1.4 released.
- New packet 0x46.
- Protocol version number is now 10
- TODO: The protocol itself does not seem to have changed much, but what about possible data values and stuff like that?
2011-2-22
- Beta 1.3 released.
- New packets 0x11, 0x1B: Some information at https://gist.github.com/841590
- Protocol number is now 9 (updated)
2011-1-13
- Beta 1.2 released.
- More packet changes (pastebin): 0x05, 0x0F, 0x13, 0x15, 0x18, 0x19, 0x28, 0x36, 0x66, 0x67.
2010-12-20
- Notch released Beta on time! Amazing! Refactored the page to be slightly smaller and easier to navigate.
- A whole host of packet changes. 0x05, 0x08, 0x10, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, and 0x82. Packets 0x11 and 0x3b removed.
2010-12-01
- Protocol version changed to 6
- Packet 0x12 (Animation) got a lot more new values
- Packet 0x26 changed, now indicates entity damage, death and explosion (for creepers, TNT not tested)
- Packet 0x3B now being sent from client
- Packet 0x3C added
- (need info on other changes)
2010-11-24
- Protocol version changed to 5
- Packet 0x07 (Use Entity) got a new field (byte)
- Packet 0x08 (Update Health) added
- Packet 0x09 (Respawn) added
- Packet 0x12 (Animation) started getting non-boolean values for the Animation field
- Packet 0x26 (Entity Death) added
2010-11-10
- Protocol version changed to 4
- Packet 0x01 (login request) changed
- Packet 0x07 (Use Entity?) added
- Packet 0x1C (Entity Velocity?) added
- Packet 0x27 (Attach Entity?) added
2010-10-31
- Protocol version changed to 3
- Packet 0x01 (login request) changed
2010-09-10
- Protocol version changed to 2
- Packets 0x05, 0x06, 0x3B added
- Server-side inventory (no verification)
- Vanilla adds experimental monsters (only damaged by fire)
2010-08-20
- Protocol version reset from 14 to 1
- Packet 0x04 (time update) added