Pre-release protocol

From wiki.vg
Revision as of 04:18, 14 September 2017 by Pokechu22 (talk | contribs) (Keep Alive (clientbound): Something's definitely different with this but I don't know what yet)
Jump to: navigation, search

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)

Huh.png The following information needs to be added to this page:
"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.

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.