Difference between revisions of "Pre-release protocol"
Thinkofdeath (talk | contribs) (Handshaking) |
Thinkofdeath (talk | contribs) |
||
Line 48: | Line 48: | ||
VarInt - | VarInt - | ||
+ | |||
+ | String - UTF-8 String | ||
== Handshaking == | == Handshaking == | ||
− | + | === Serverbound === | |
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
! Packet ID !! Field Name !! Field Type !! Notes | ! Packet ID !! Field Name !! Field Type !! Notes | ||
Line 58: | Line 61: | ||
| || VarInt || | | || VarInt || | ||
|- | |- | ||
− | | || | + | | || String || |
|- | |- | ||
| || VarInt || | | || VarInt || | ||
Line 66: | Line 69: | ||
== Play == | == Play == | ||
+ | |||
+ | === Clientbound === | ||
+ | |||
+ | ==== Keep Alive ==== | ||
+ | {| class="wikitable" | ||
+ | ! Packet ID !! Field Name !! Field Type !! Notes | ||
+ | |- | ||
+ | | rowspan=1 | 0x00 | ||
+ | | Keep Alive ID || Int || | ||
+ | |} | ||
+ | |||
+ | |||
+ | ==== Join Game ==== | ||
+ | {| class="wikitable" | ||
+ | ! Packet ID !! Field Name !! Field Type !! Notes | ||
+ | |- | ||
+ | | rowspan=7 | 0x01 | ||
+ | | Entity ID || Int || The player's Entity ID | ||
+ | |- | ||
+ | | Level type || String || level-type in server.properties | ||
+ | |- | ||
+ | | Gamemode || Byte || 0: survival, 1: creative, 2: adventure. Bit 3 (0x8) is the hardcore flag | ||
+ | |- | ||
+ | | Dimension || Byte || -1: nether, 0: overworld, 1: end | ||
+ | |- | ||
+ | | Difficulty || Unsigned Byte || 0 thru 3 for Peaceful, Easy, Normal, Hard | ||
+ | |- | ||
+ | | || Byte || | ||
+ | |- | ||
+ | | Max Players || Byte || Used by the client to draw the player list | ||
+ | |} | ||
+ | |||
+ | ==== Chat Message ==== | ||
+ | {| class="wikitable" | ||
+ | ! Packet ID !! Field Name !! Field Type !! Notes | ||
+ | |- | ||
+ | | rowspan=1 | 0x02 | ||
+ | | JSON Data || String || https://gist.github.com/thinkofdeath/e882ce057ed83bac0a1c | ||
+ | |} | ||
+ | |||
+ | ==== Time Update ==== | ||
+ | {| class="wikitable" | ||
+ | ! Packet ID !! Field Name !! Field Type !! Notes | ||
+ | |- | ||
+ | | rowspan=2 | 0x03 | ||
+ | | Age of the world || Long || In ticks; not changed by server commands | ||
+ | |- | ||
+ | | Time of day || Long || The world (or region) time, in ticks. If negative the sun will stop moving at the Math.abs of the time | ||
+ | |} | ||
== Status == | == Status == |
Revision as of 16:05, 10 October 2013
This page documents the changes from the last stable Minecraft release (currently 1.6.2, protocol 74) to the current pre-release. Note that this page contains bleeding-edge information that may not be completely or correctly documented. He who wishes to commandeer the merging of this into Protocol when an update is made must be sure to respect any changes that may have occured to the respective packets there.
Contents
Protocol History
13w36a - Added sound category byte to 0x3E - Changed 0xC8 to a string:int map
13w37b -
1.6.3 - Terrain fixes to help moving to 1.7, no packet changes from 1.6.2
1.6.4 -
13w38a/b/c -
13w39a/b - UUIDs added to spawn named entity, game state 'gamemode' byte -> float
13w41a - Large protocol work
Protocol Version
13w41a -
13w39a/b - 80
13w38a/b/c - 79
1.6.4 - 78
1.6.3 - 77
13w37b - 76
13w36a - 75
Packet format
Field Name | Field Type | Notes |
---|---|---|
Length | VarInt | |
Type | VarInt | |
Data |
Data Types
VarInt -
String - UTF-8 String
Handshaking
Serverbound
Packet ID | Field Name | Field Type | Notes |
---|---|---|---|
0x00 | VarInt | ||
String | |||
VarInt | |||
VarInt |
Play
Clientbound
Keep Alive
Packet ID | Field Name | Field Type | Notes |
---|---|---|---|
0x00 | Keep Alive ID | Int |
Join Game
Packet ID | Field Name | Field Type | Notes |
---|---|---|---|
0x01 | Entity ID | Int | The player's Entity ID |
Level type | String | level-type in server.properties | |
Gamemode | Byte | 0: survival, 1: creative, 2: adventure. Bit 3 (0x8) is the hardcore flag | |
Dimension | Byte | -1: nether, 0: overworld, 1: end | |
Difficulty | Unsigned Byte | 0 thru 3 for Peaceful, Easy, Normal, Hard | |
Byte | |||
Max Players | Byte | Used by the client to draw the player list |
Chat Message
Packet ID | Field Name | Field Type | Notes |
---|---|---|---|
0x02 | JSON Data | String | https://gist.github.com/thinkofdeath/e882ce057ed83bac0a1c |
Time Update
Packet ID | Field Name | Field Type | Notes |
---|---|---|---|
0x03 | Age of the world | Long | In ticks; not changed by server commands |
Time of day | Long | The world (or region) time, in ticks. If negative the sun will stop moving at the Math.abs of the time |
Status
Login
Plugin Channels
MC|RPack
Field Name | Field Type | Example | Notes |
---|---|---|---|
Resource pack URL | UTF8 string | http://example.com/pack.zip |