
ViaVersion — 在 Minecraft 服务器上支持不同版本客户端的插件
ViaVersion 允许使用较新客户端版本的玩家连接到运行较旧版本的服务器。如果服务器运行在 26.1.2,而玩家打开了游戏的上一个版本,他无需在自己一侧进行任何操作即可进入。该插件免费且开源。
ViaVersion 允许使用较新客户端版本的玩家连接到运行较旧版本的服务器。如果服务器运行在 26.1.2,而玩家打开了游戏的上一个版本,他无需在自己一侧进行任何操作即可进入。该插件免费且开源。
ViaVersion — 在 Minecraft 服务器上支持不同版本客户端的插件
Minecraft 版本:26.1.2
加载器:Paper
插件版本:5.9.0
Java:25
ViaVersion 允许使用较新客户端版本的玩家连接到运行较旧版本的服务器。如果服务器运行在 26.1.2,而玩家打开了游戏的上一个版本,他无需在自己一侧进行任何操作即可进入。该插件免费且开源。
工作原理
该插件拦截客户端与服务器之间的网络数据包,并在协议之间实时进行转换。
最完整的支持是在 Paper 上。在 BungeeCord 和 Velocity 上,ViaVersion 安装在代理本身上,而不是后端服务器上。
命令
所有命令都在聊天框或服务器控制台中输入。要在游戏内执行,需要管理员权限。
命令表
命令 | 作用 |
| 在线玩家及其客户端版本的列表 |
| 开启/关闭用于防止玩家之间碰撞的自动命令 |
| 将玩家的数据包输出到控制台 — 仅在支持人员请求时使用 |
| 开启 Netty 中的 ResourceLeakDetector — 仅在支持人员请求时使用 |
| 开启/关闭进入时关于新更新的通知 |
| 生成包含诊断信息的链接,用于联系支持人员 |
| 关于特定玩家或所有玩家连接的详细信息 |
| 所有玩家及其每秒数据包数量的列表 |
| 重新加载配置;踢出所有已连接的玩家 |

alt:/viaver list 命令的输出
配置
文件: plugins/ViaVersion/config.yml. 首次启动时自动生成。
block-versions — 阻止特定版本的连接。支持运算符 < 和 >,例如:block-versions: ["<1.17"].
block-disconnect-msg — 因被阻止的版本而断开连接时显示的消息。支持 Minecraft color codes。
logging.log-blocked-joins — 将来自被阻止版本的连接尝试记录到控制台。默认为 false。
send-supported-versions — 为 true 时,服务器在 ping 响应中向客户端告知所支持版本的列表。
数据包限制
默认情况下,当超过每秒 800 个数据包时玩家会被踢出。此外还会按时间窗口跟踪行为 — 例如,当 sustained-max-per-second: 200、sustained-period-seconds: 7 和 sustained-threshold: 4 时,如果玩家在 7 秒中的 4 秒内超过每秒 200 个数据包,就会被踢出。要关闭限制 — enabled: false。
附加参数
hologram-patch — 在较旧的服务器上为 1.9+ 客户端修正全息图的高度。默认为 false。如果来自 HolographicDisplays 之类插件的全息图显示在错误的高度 — 开启此参数。
serverside-blockconnections — 为 1.13+ 客户端开启方块连接的服务器端处理。默认为 true。影响栅栏、玻璃板、门的正确显示。参数 blockconnection-method 决定处理方式:packet — 在数据包层面,world — 在世界层面(实验性)。
use-1_15-instant-respawn — 为 true 时,1.15+ 客户端会立即重生,没有死亡画面。默认为 false。
armor-toggle-fix — 为 1.19.4+ 客户端修正在已占用槽位中更换盔甲的错误。默认为 true。
enforce-secure-chat — 决定进入时发送给 1.19+ 客户端的 secure chat 值。如果服务器运行在 1.19 或更新版本,不建议更改。
结论
ViaVersion 解决了一个简单但重要的问题:客户端与服务器版本不匹配。如果管理员由于依赖旧插件而无法更新服务器,而玩家已经使用更新的版本 — 该插件无需在客户端一侧做任何更改即可解决问题。基础使用无需配置。
安装
一次典型安装大约 5 分钟。流程相同,只是 Loader 和对应构建不同。
- 1Stop your Minecraft server.
- 2Drop the plugin .jar into the server /plugins folder.
- 3Start the server once so the plugin generates its config files.
- 4Edit /plugins/<name>/config.yml as needed, then run /reload confirm or restart.








