Difference between revisions of "Pre-release protocol"

From wiki.vg
Jump to navigation Jump to search
m (pre2)
(Reset, added information about undocumented 1.21-pre2)
Tag: Replaced
 
(773 intermediate revisions by 48 users not shown)
Line 1: Line 1:
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-pre2, protocol 339]]). Note that this page contains bleeding-edge information that may not be completely or correctly documented.
+
There is currently a pre-release version available: 1.21-pre2, but it has not yet been documented. For the latest stable Minecraft release, see the [[Protocol|Protocol]] page. For previous pre-release pages, see the [[Protocol version numbers|Protocol version numbers]] page.
  
 
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 12: Line 12:
  
 
=== Packets ===
 
=== Packets ===
 
{| class="wikitable"
 
! ID
 
! Packet name
 
!colspan="2"| Documentation
 
|-
 
!colspan="4"| Handshaking serverbound
 
{{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 ==
 
 
No changes so far.
 
 
== Block Actions ==
 
 
No changes so far.
 
 
== Play ==
 
 
=== Clientbound ===
 
 
==== Keep Alive (clientbound) ====
 
 
{{Need Info|"random ID" and such seem to no longer actually be the case.  For the client, this doesn't matter (just parrot back the same data), but what the numbers actually mean and how the server uses them seem to be different now.}}
 
 
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 ===
 
 
==== 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 ==
 
 
=== Clientbound ===
 
 
No changes so far.
 
 
=== Serverbound ===
 
 
==== Handshake ====
 
 
This causes the server to switch into the target state.
 
 
{| class="wikitable"
 
! Packet ID
 
! State
 
! Bound To
 
! Field Name
 
! Field Type
 
! Notes
 
|-
 
|rowspan="4"| 0x00
 
|rowspan="4"| Handshaking
 
|rowspan="4"| Server
 
| Protocol Version
 
| VarInt
 
| See [[protocol version numbers]] (currently {{change|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|status]], 2 for [[#Login|login]]
 
|}
 
 
== Status ==
 
 
=== Clientbound ===
 
  
 
No changes so far.
 
No changes so far.
 
=== Serverbound ===
 
 
No changes so far.
 
 
== Login ==
 
 
=== Clientbound ===
 
 
No changes so far.
 
 
=== Serverbound ===
 
 
No changes so far.
 
 
  
 
[[Category:Minecraft Modern]]
 
[[Category:Minecraft Modern]]

Latest revision as of 09:24, 6 June 2024

There is currently a pre-release version available: 1.21-pre2, but it has not yet been documented. For the latest stable Minecraft release, see the Protocol page. For previous pre-release pages, see the Protocol version numbers page.

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

No changes so far.