Pre-release protocol: Difference between revisions
Jump to navigation
Jump to search
imported>Barneygale →Changed packets: Update progress bar (0x69) gives enchantment table data. |
imported>Barneygale Update for weekly releases: New packet 0xFA, 0x01 login and 0x09 respawn changed |
||
Line 1: | Line 1: | ||
This page documents the changes from the [[Protocol|last stable Minecraft release]] (currently 1. | This page documents the changes from the [[Protocol|last stable Minecraft release]] (currently 1.0.1) to the current pre-release (currently 12w01a) | ||
== New packets == | == New packets == | ||
=== | === Unknown (0xFA) === | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 15: | Line 13: | ||
! class="col4" | Notes | ! class="col4" | Notes | ||
|- class="row1" | |- class="row1" | ||
| class="col0 centeralign" rowspan= | | class="col0 centeralign" rowspan=3 | 0xFA | ||
| class="col1 centeralign" | | | class="col1 centeralign" | Unknown | ||
| class="col2 centeralign" | | | class="col2 centeralign" | string | ||
| class="col3 centeralign" | | | class="col3 centeralign" | | ||
| class="col4" | | | class="col4" | | ||
|- class="row2" | |- class="row2" | ||
| class="col1 centeralign" | | | class="col1 centeralign" | Length of array | ||
| class="col2 centeralign" | | | class="col2 centeralign" | short | ||
| class="col3 centeralign" | | | class="col3 centeralign" | | ||
| class="col4" | | | class="col4" | Length of the following array | ||
|- class="row3" | |- class="row3" | ||
| class="col1 centeralign" | Array | |||
| class="col2 centeralign" | byte[] | |||
| class="col3 centeralign" | | |||
| class="col4" | | |||
|- class="row4" | |||
! class="col0" | Total Size: | ! class="col0" | Total Size: | ||
| class="col1 rightalign" colspan="4" | | | class="col1 rightalign" colspan="4" | 5 bytes + string + array | ||
|} | |} | ||
== Changed packets == | == Changed packets == | ||
=== | === [[Protocol#Login_Request_.280x01.29|Login Request (0x01)]] === | ||
New string field added | |||
==== Client to Server ==== | |||
{| class="wikitable" | |||
|- class="row0" | |||
! class="col0" | Packet ID | |||
! class="col1" | Field Name | |||
! class="col2" | Field Type | |||
! class="col3" | Example | |||
! class="col4" | Notes | |||
|- class="row1" | |||
| class="col0 centeralign" rowspan="9" | 0x01 | |||
| class="col1 centeralign" | Protocol Version | |||
| class="col2 centeralign" | int | |||
| class="col3 centeralign" | <code>20</code> | |||
| class="col4" | 1.0.0's protocol version is <code>22</code> | |||
|- class="row2" | |||
| class="col0 centeralign" | Username | |||
| class="col1 centeralign" | string | |||
| class="col2 centeralign" | <code>TkTech</code> | |||
| class="col3" | The name of the user attempting to login, max length of 16 | |||
|- class="row3" | |||
| class="col0 centeralign" | Not used | |||
| class="col1 centeralign" | long | |||
| class="col2 centeralign" | <code>0</code> | |||
| class="col3" | | |||
|- class="row4" | |||
| class="col0 centeralign" | '''Unknown''' | |||
| class="col1 centeralign" | string | |||
| class="col2 centeralign" | | |||
| class="col3" | | |||
|- class="row5" | |||
| class="col0 centeralign" | Not used | |||
| class="col1 centeralign" | int | |||
| class="col2 centeralign" | <code>0</code> | |||
| class="col3" | | |||
|- class="row6" | |||
| class="col0 centeralign" | Not used | |||
| class="col1 centeralign" | byte | |||
| class="col2 centeralign" | <code>0</code> | |||
| class="col3" | | |||
|- class="row7" | |||
| class="col0 centeralign" | Not used | |||
| class="col1 centeralign" | byte | |||
| class="col2 centeralign" | <code>0</code> | |||
| class="col3" | | |||
|- class="row8" | |||
| class="col0 centeralign" | Not used | |||
| class="col1 centeralign" | unsigned byte | |||
| class="col2 centeralign" | <code>0</code> | |||
| class="col3" | | |||
|- class="row9" | |||
| class="col0 centeralign" | Not used | |||
| class="col1 centeralign" | unsigned byte | |||
| class="col2 centeralign" | <code>0</code> | |||
| class="col3" | | |||
|- class="row10" | |||
! class="col0" | Total Size: | |||
| class="col1 rightalign" colspan="4" | 25 bytes + length of strings | |||
|} | |||
==== Server to Client ==== | |||
=== | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 67: | Line 109: | ||
! class="col4" | Notes | ! class="col4" | Notes | ||
|- class="row1" | |- class="row1" | ||
| class="col0 centeralign" rowspan=" | | class="col0 centeralign" rowspan="9" | 0x01 | ||
| class="col1 centeralign" | | | class="col1 centeralign" | Entity ID | ||
| class="col2 centeralign" | | | class="col2 centeralign" | int | ||
| class="col3 centeralign" | <code> | | class="col3 centeralign" | <code>1298</code> | ||
| class="col4" | | | class="col4" | The Players Entity ID | ||
|- class="row2" | |- class="row2" | ||
| class="col0 centeralign" | | | class="col0 centeralign" | Not used | ||
| class="col1 centeralign" | | | class="col1 centeralign" | string | ||
| class="col2 centeralign" | | | class="col2 centeralign" | (empty string) | ||
| class=" | | class="col3" | Not used | ||
|- class="row3" | |- class="row3" | ||
| class="col0 centeralign" | | | class="col0 centeralign" | Map Seed | ||
| class="col1 centeralign" | | | class="col1 centeralign" | long | ||
| class="col2 centeralign" | <code> | | class="col2 centeralign" | <code>971768181197178410</code> | ||
| class="col3" | | | class="col3" | The server's map seed. Must be sent in respawn packets by the client. | ||
|- class="row4" | |- class="row4" | ||
| class="col0 centeralign" | '''Unknown''' | |||
| class="col1 centeralign" | string | |||
| class="col2 centeralign" | | |||
| class="col3" | | |||
|- class="row5" | |||
| class="col0 centeralign" | Server mode | |||
| class="col1 centeralign" | int | |||
| class="col2 centeralign" | <code>0</code> | |||
| class="col3" | 0 for survival, 1 for creative | |||
|- class="row6" | |||
| class="col0 centeralign" | Dimension | |||
| class="col1 centeralign" | byte | |||
| class="col2 centeralign" | <code>0</code> | |||
| class="col3" | <code>-1</code>: The Nether, <code>0</code>: The Overworld, <code>1</code>: The End | |||
|- class="row7" | |||
| class="col0 centeralign" | Difficulty | |||
| class="col1 centeralign" | byte | |||
| class="col2 centeralign" | <code>1</code> | |||
| class="col3" | <code>0</code> thru <code>3</code> for Peaceful, Easy, Normal, Hard | |||
|- class="row8" | |||
| class="col0 centeralign" | World height | |||
| class="col1 centeralign" | unsigned byte | |||
| class="col2 centeralign" | <code>128</code> | |||
| class="col3" | Defaults to <code>128</code> | |||
|- class="row9" | |||
| class="col0 centeralign" | Max players | |||
| class="col1 centeralign" | unsigned byte | |||
| class="col2 centeralign" | <code>8</code> | |||
| class="col3" | Used by the client to draw the player list | |||
|- class="row10" | |||
! class="col0" | Total Size: | ! class="col0" | Total Size: | ||
| class="col1 rightalign" colspan="4" | | | class="col1 rightalign" colspan="4" | 25 bytes + length of strings | ||
|} | |} | ||
=== [[Protocol# | === [[Protocol#Respawn_.280x09.29|Respawn (0x09) ]] === | ||
New string field added | |||
{| class="wikitable" | |||
|- class="row0" | |||
! class="col0" | Packet ID | |||
! class="col1" | Field Name | |||
! class="col2" | Field Type | |||
! class="col3" | Example | |||
! class="col4" | Notes | |||
|- class="row1" | |||
| class="col0 centeralign" rowspan="6" | 0x09 | |||
| class="col1 centeralign" | Dimension | |||
| class="col2 centeralign" | byte | |||
| class="col3 centeralign" | <code>1</code> | |||
| class="col4" | <code>-1</code>: The Nether, <code>0</code>: The Overworld, <code>1</code>: The End | |||
|- class="row2" | |||
| class="col1 centeralign" | Difficulty | |||
| class="col2 centeralign" | byte | |||
| class="col3 centeralign" | <code>1</code> | |||
| class="col4" | <code>0</code> thru <code>3</code> for Peaceful, Easy, Normal, Hard. <code>1</code> is always sent c->s | |||
|- class="row2" | |||
| class="col1 centeralign" | Creative mode | |||
| class="col2 centeralign" | byte | |||
| class="col3 centeralign" | <code>1</code> | |||
| class="col4" | <code>0</code> for survival, <code>1</code> for creative. | |||
|- class="row1" | |||
| class="col1 centeralign" | World height | |||
| class="col2 centeralign" | short | |||
| class="col3 centeralign" | <code>128</code> | |||
| class="col4" | Defaults to <code>128</code> | |||
|- class="row1" | |||
| class="col1 centeralign" | Map Seed | |||
| class="col2 centeralign" | long | |||
| class="col3 centeralign" | <code>-3815848935435401459</code> | |||
|- class="row1" | |||
| class="col1 centeralign" | '''Unknown''' | |||
| class="col2 centeralign" | string | |||
| class="col3 centeralign" | | |||
| class="col4" | | |||
|- class="row2" | |||
! class="col0" | Total Size: | |||
| class="col1 rightalign" colspan="4" | 16 bytes + length of string | |||
|} | |||
== Other changes == | == Other changes == | ||
None currently. | |||
== Protocol History == | == Protocol History == | ||
=== | === 2012-01-05 === | ||
* | * 12w01a | ||
* Protocol version is now 23 | |||
* Protocol version is now | |||
=== 2011- | === 2011-12-15 === | ||
* | * 11w50a | ||
=== 2011- | === 2011-12-08 === | ||
* | * 11w49a | ||
=== 2011- | === 2011-12-01 === | ||
* | * 11w48a | ||
=== 2011- | === 2011-11-24 === | ||
* | * 11w47a | ||
Revision as of 08:59, 6 January 2012
This page documents the changes from the last stable Minecraft release (currently 1.0.1) to the current pre-release (currently 12w01a)
New packets
Unknown (0xFA)
Packet ID | Field Name | Field Type | Example | Notes |
---|---|---|---|---|
0xFA | Unknown | string | ||
Length of array | short | Length of the following array | ||
Array | byte[] | |||
Total Size: | 5 bytes + string + array |
Changed packets
Login Request (0x01)
New string field added
Client to Server
Packet ID | Field Name | Field Type | Example | Notes |
---|---|---|---|---|
0x01 | Protocol Version | int | 20
|
1.0.0's protocol version is 22
|
Username | string | TkTech
|
The name of the user attempting to login, max length of 16 | |
Not used | long | 0
|
||
Unknown | string | |||
Not used | int | 0
|
||
Not used | byte | 0
|
||
Not used | byte | 0
|
||
Not used | unsigned byte | 0
|
||
Not used | unsigned byte | 0
|
||
Total Size: | 25 bytes + length of strings |
Server to Client
Packet ID | Field Name | Field Type | Example | Notes |
---|---|---|---|---|
0x01 | Entity ID | int | 1298
|
The Players Entity ID |
Not used | string | (empty string) | Not used | |
Map Seed | long | 971768181197178410
|
The server's map seed. Must be sent in respawn packets by the client. | |
Unknown | string | |||
Server mode | int | 0
|
0 for survival, 1 for creative | |
Dimension | byte | 0
|
-1 : The Nether, 0 : The Overworld, 1 : The End
| |
Difficulty | byte | 1
|
0 thru 3 for Peaceful, Easy, Normal, Hard
| |
World height | unsigned byte | 128
|
Defaults to 128
| |
Max players | unsigned byte | 8
|
Used by the client to draw the player list | |
Total Size: | 25 bytes + length of strings |
Respawn (0x09)
New string field added
Packet ID | Field Name | Field Type | Example | Notes |
---|---|---|---|---|
0x09 | Dimension | byte | 1
|
-1 : The Nether, 0 : The Overworld, 1 : The End
|
Difficulty | byte | 1
|
0 thru 3 for Peaceful, Easy, Normal, Hard. 1 is always sent c->s
| |
Creative mode | byte | 1
|
0 for survival, 1 for creative.
| |
World height | short | 128
|
Defaults to 128
| |
Map Seed | long | -3815848935435401459
| ||
Unknown | string | |||
Total Size: | 16 bytes + length of string |
Other changes
None currently.
Protocol History
2012-01-05
- 12w01a
- Protocol version is now 23
2011-12-15
- 11w50a
2011-12-08
- 11w49a
2011-12-01
- 11w48a
2011-11-24
- 11w47a