协议版本

来自Minecraft Wiki
跳转至: 导航搜索

协议版本(Protocol Version Number,简称PVN)[1][2]是用于检查与服务器版本之间是否不兼容的整数。

用法[编辑 | 编辑源代码]

一个过时的客户端试图连接到一个新版本的服务器。

具有相同协议版本的客户端和服务器版本彼此兼容。例如,运行Java版1.8.9的客户端可以连接到运行Java版1.8的服务器,这是因为两者的协议版本都是47。

当尝试加入多人游戏服务器时,游戏将检查客户端是否有比所选服务器更新或更旧的协议版本;如果是这样,游戏就会提醒玩家他们的客户端(或服务器)已过期。

版本管理[编辑 | 编辑源代码]

所有版本,包括Java版基岩版上的次要版本和开发版本,都有自己的协议版本。与客户端版本不同,协议版本是一个不断增长的正整数。协议版本可能偶尔会在主要版本之间略过几个数字。

储存位置[编辑 | 编辑源代码]

Java版[编辑 | 编辑源代码]

18w47b起,协议版本可以在当前游戏版本的version.json内找到,该文件位于客户端的client.jar和服务端的server.jar内。

  • version.json
    •  protocol_version: 此游戏版本的协议版本。

基岩版[编辑 | 编辑源代码]

1.2.0beta版起,当前的协议版本可以在设置的“档案”界面中滚动至底部来查看。协议版本的数值会出现在“协议版本:”字样后,也会出现在beta提示文本的“cli-pn”字样后。

协议版本列表[编辑 | 编辑源代码]

Java版最新的正式版本1.16.4的协议版本是754。
Java版最新的开发版本20w46a的协议版本是0x40000006。

基岩版最新的正式版本1.16.100的协议版本是419。
基岩版最新的开发版本beta 1.16.200.56的协议版本是422。

历史[编辑 | 编辑源代码]

Java版Classic
0.0.15a加入了协议版本。
Java版Alpha
v1.0.17_02将协议版本号重置为1。
Java版
1.7.213w41a使用Netty重写协议版本控制系统,将协议版本重置为0。更新前的协议版本与更新后协议版本相同的版本不兼容。
1.16.4pre1新的网络协议方案,现在在高比特位(第30位)会设置一个比特给快照版本使用。每个快照的协议版本会增加1,但是网络协议兼容时,完整发布版的协议版本可能会和之前的完整发布版一样。
携带版Alpha
0.1.0加入了协议版本。

参见[编辑 | 编辑源代码]

参考[编辑 | 编辑源代码]

  1. server.jar, located in class com.mojang.bridge.game.GameVersion
  2. https://wiki.vg/Protocol_version_numbers