Protocol History

From wiki.vg
Revision as of 18:43, 30 March 2016 by Pokechu22 (talk | contribs) (Up to 1.9.1-pre3 (have not tried 1.9.1 if it has released today, but I suspect it isn't different))
Jump to navigation Jump to search

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.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 32dths 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

Warning.png 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

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

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
  • Removed packet: 0x32 Map Column Allocation

2012-03-22

2012-03-01

2012-01-12

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 and 1 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


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

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

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