Difference between revisions of "Pre-release protocol"
Jump to navigation
Jump to search
Barneygale (talk | contribs) (→Changed packets: Update progress bar (0x69) gives enchantment table data.) |
Barneygale (talk | contribs) (Update for weekly releases: New packet 0xFA, 0x01 login and 0x09 respawn changed) |
||
(One intermediate revision by the same user not shown) | |||
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)
Contents
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