Minecraft:Protocol version
More actions
A protocol version number (PVN) or network version is an integer used to check for incompatibilities between the player's client and the server they are trying to connect to.<ref>server.jar, located in class com.mojang.bridge.game.GameVersion</ref><ref>Minecraft:Minecraft Wiki:Projects/wiki.vg merge/Protocol version numbers</ref>
Usage
Client and server versions with the same protocol version are compatible with each other. For example, a client running Minecraft:Java Edition 1.8.9 can connect to a server running Minecraft:Java Edition 1.8, as both have a protocol version of 47.
Upon attempting to join a Minecraft:multiplayer server, the game checks if the client has a protocol version newer or older than the selected server; if it does, the game then alerts the player that their client (or the server) is outdated.
Versions with the same protocol version may not always be cross compatible – Minecraft:25w41a and Minecraft:1.21.9-rc1 erroneously have the same PVN, but connecting to a 25w41a server from 1.21.9-rc1 refuses the connection and displays "Network Protocol Error" and 25w41a crashes when attempting to join a 1.21.9-rc1 world.
Versioning
All versions, including minor releases and development versions on both Template:Els, have their own protocol version. The version takes the form of an ever-increasing positive integer unlike client versions. Protocol versions may occasionally be skipped between major releases.
Since Minecraft:1.16.4-pre1, protocol versions of Template:JE development releases take the form of very large numbers best represented using hexadecimal (represented by the prefix "0x" in the protocol version tables). These development release protocol versions have the 30th bit set to 1 and otherwise increment normally, starting from 0x40000001 (1073741825 in decimal). This was made to allow release versions to be cross-compatible while both being incompatible with their development versions. For example, both Minecraft:1.20.5 and Minecraft:1.20.6 have a protocol version of 766, and are therefore multiplayer cross-compatible, while both of these are incompatible with Minecraft:1.20.6-rc1, which has a protocol version of 0x400000C0.
Storage location
Java Edition
version.json
Each Minecraft build since Minecraft:18w47b specifies its current protocol version in the Minecraft:version.json file, found in the root directory of the Minecraft:client.jar and Minecraft:server.jar files.
- Template:Nbt version.json
- Template:Nbt: The protocol version of this build.
Version command
Running Template:Cmd (only present in Minecraft:25w15a and later) prints the protocol version to chat.
Bedrock Edition
Since beta 1.2.0.22, the protocol version can be viewed by going into "Profile Settings" and scrolling down to the bottom. The protocol version appears in front of the text saying "Protocol Version:". It can also appear on the preview/beta debug text in front of the text saying "cli-pn".
List of protocol versions
Template:Protocol version/Latest
The tables below are sorted by Minecraft:data version.
History
Java Edition
Bedrock Edition
See also
References
Template:Navbox Java Edition technical Template:Navbox Bedrock Edition
Minecraft:es:Versión de protocolo Minecraft:fr:Version de protocole Minecraft:it:Versione protocollo Minecraft:ja:プロトコルバージョン Minecraft:ko:프로토콜 버전 Minecraft:pt:Versão do protocolo Minecraft:ru:Версия протокола Minecraft:uk:Версія протоколу Minecraft:zh:协议版本