Difference between revisions of "Protocol History"

From wiki.vg
Jump to navigation Jump to search
 
Line 1: Line 1:
 
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.
 
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.
 +
 +
 +
=== 1.7.2 ===
 +
* Changed Multi Block Change's 'X' and 'Z' 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|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.x ===

Revision as of 14:17, 25 October 2013

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.


1.7.2

  • Changed Multi Block Change's 'X' and 'Z' 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