Difference between revisions of "Pre-release protocol"

From wiki.vg
Jump to navigation Jump to search
(Clean slate for next snapshots)
(Update for 1.12.2-pre1)
Line 1: Line 1:
This page documents the changes from the [[Protocol|last stable Minecraft release]] (currently [[Protocol version numbers|1.12-pre1, protocol 338]]) to the current pre-release (currently [[Protocol version numbers|1.12.1-pre1, protocol 338]]). Note that this page contains bleeding-edge information that may not be completely or correctly documented.
+
This page documents the changes from the [[Protocol|last stable Minecraft release]] (currently [[Protocol version numbers|1.12.1, protocol 338]]) to the current pre-release (currently [[Protocol version numbers|1.12.2-pre1, protocol 339]]). Note that this page contains bleeding-edge information that may not be completely or correctly documented.
  
 
One 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 occurred to the respective packets there.
 
One 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 occurred to the respective packets there.
Line 13: Line 13:
 
=== Packets ===
 
=== Packets ===
  
<!--
 
 
{| class="wikitable"
 
{| class="wikitable"
 
  ! ID
 
  ! ID
Line 21: Line 20:
 
!colspan="4"| Handshaking serverbound
 
!colspan="4"| Handshaking serverbound
 
{{PacketList|0x00|Handshake}}
 
{{PacketList|0x00|Handshake}}
 +
|-
 +
!colspan="4"| Play clientbound
 +
{{PacketList|0x1F|Keep Alive (clientbound)}}
 +
|-
 +
!colspan="4"| Play serverbound
 +
{{PacketList|0x0B|Keep Alive (serverbound)}}
 
  |}
 
  |}
-->
 
  
 
== New/modified data types ==
 
== New/modified data types ==
Line 31: Line 35:
  
 
No changes so far.  
 
No changes so far.  
 
[[Category:Minecraft Modern]]
 
  
 
== Play ==
 
== Play ==
Line 38: Line 40:
 
=== Clientbound ===
 
=== Clientbound ===
  
No changes so far.
+
==== Keep Alive (clientbound) ====
 +
 
 +
The server will frequently send out a keep-alive, each containing a random ID. The client must respond with the same packet. If the client does not respond to them for over 30 seconds, the server kicks the client. Vice versa, if the server does not send any keep-alives for 20 seconds, the client will disconnect and yields a "Timed out" exception.
 +
 
 +
{| class="wikitable"
 +
! Packet ID
 +
! State
 +
! Bound To
 +
! Field Name
 +
! Field Type
 +
! Notes
 +
|-
 +
|rowspan="1"| 0x1F
 +
|rowspan="1"| Play
 +
|rowspan="1"| Client
 +
| Keep Alive ID
 +
| {{Change|VarInt|Long}}
 +
|
 +
|}
 +
 
  
 
=== Serverbound ===
 
=== Serverbound ===
  
No changes so far.
+
==== Keep Alive (serverbound) ====
 +
 
 +
The server will frequently send out a keep-alive, each containing a random ID. The client must respond with the same packet.
 +
 
 +
{| class="wikitable"
 +
! Packet ID
 +
! State
 +
! Bound To
 +
! Field Name
 +
! Field Type
 +
! Notes
 +
|-
 +
| 0x0B
 +
| Play
 +
| Server
 +
| Keep Alive ID
 +
| {{Change|VarInt|Long}}
 +
|
 +
|}
 +
 
  
 
== Handshaking ==
 
== Handshaking ==
Line 51: Line 91:
  
 
=== Serverbound ===
 
=== Serverbound ===
 
<!-- Version number will change meaning that this needs to be uncommented
 
  
 
==== Handshake ====
 
==== Handshake ====
Line 71: Line 109:
 
  | Protocol Version
 
  | Protocol Version
 
  | VarInt
 
  | VarInt
  | See [[protocol version numbers]] (currently {{change|335|338}})
+
  | See [[protocol version numbers]] (currently {{change|338|339}})
 
  |-
 
  |-
 
  | Server Address
 
  | Server Address
Line 85: Line 123:
 
  | 1 for [[#Status|status]], 2 for [[#Login|login]]
 
  | 1 for [[#Status|status]], 2 for [[#Login|login]]
 
  |}
 
  |}
 
-->
 
  
 
== Status ==
 
== Status ==
Line 107: Line 143:
  
 
No changes so far.
 
No changes so far.
 +
 +
 +
[[Category:Minecraft Modern]]

Revision as of 16:38, 13 September 2017

This page documents the changes from the last stable Minecraft release (currently 1.12.1, protocol 338) to the current pre-release (currently 1.12.2-pre1, protocol 339). Note that this page contains bleeding-edge information that may not be completely or correctly documented.

One 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 occurred to the respective packets there.

Contents

Data types

No changes so far.

Packets

ID Packet name Documentation
Handshaking serverbound
0x00 Handshake Current Pre
Play clientbound
0x1F Keep Alive (clientbound) Current Pre
Play serverbound
0x0B Keep Alive (serverbound) Current Pre

New/modified data types

No changes so far.

Block Actions

No changes so far.

Play

Clientbound

Keep Alive (clientbound)

The server will frequently send out a keep-alive, each containing a random ID. The client must respond with the same packet. If the client does not respond to them for over 30 seconds, the server kicks the client. Vice versa, if the server does not send any keep-alives for 20 seconds, the client will disconnect and yields a "Timed out" exception.

Packet ID State Bound To Field Name Field Type Notes
0x1F Play Client Keep Alive ID VarInt Long


Serverbound

Keep Alive (serverbound)

The server will frequently send out a keep-alive, each containing a random ID. The client must respond with the same packet.

Packet ID State Bound To Field Name Field Type Notes
0x0B Play Server Keep Alive ID VarInt Long


Handshaking

Clientbound

No changes so far.

Serverbound

Handshake

This causes the server to switch into the target state.

Packet ID State Bound To Field Name Field Type Notes
0x00 Handshaking Server Protocol Version VarInt See protocol version numbers (currently 338 339)
Server Address String Hostname or IP, e.g. localhost or 127.0.0.1, that was used to connect. The Notchian server does not use this information.
Server Port Unsigned Short Default is 25565. The Notchian server does not use this information.
Next State VarInt Enum 1 for status, 2 for login

Status

Clientbound

No changes so far.

Serverbound

No changes so far.

Login

Clientbound

No changes so far.

Serverbound

No changes so far.