简介
本模组在 Fabric 客户端及服务端实现了 ViaVersion,以允许客户端连接到不同的 MC 版本,或允许服务端支持不同 MC 版本的客户端连接。
概述
ViaVersion 是一款基于服务器的插件,配合 ViaBackwards 和 ViaRewind 可以做到从 1.7.X 到最新版的 MC 客户端都可以连接你的服务器。
在当时正是 Rift 盛行的时候,开发团队决定做 Via 插件全家桶的客户端版本 ViaRift,但没多久 Rift 不再更新;1.14 下 Fabric 的出现,他们于是决定转向 Fabric 平台继续开发,ViaFabric 就这么诞生了。
ViaFabric 如同 ViaVersion 一样,当安装在服务端并配合 ViaBackwards 和 ViaRewind 时,可以允许 1.7.X 至最新版 MC 的客户端都能连接你的服务器。当安装在客户端并配合那两个附属插件时,可以让你的客户端访问从 1.8.X 至最新版 MC 的服务器,也可以使单人游戏兼容 1.7.X 至最新版 MC 的客户端加入。
当然兼容性与否取决于服务端是否有客户端必须安装或不兼容的 Mod:大部分兼容原版客户端的服务器都可以正常联机,少数客户端可选或无效的服务端 Mod,如 Krypton (氪) ,可能会出现不兼容 ViaFabric 的现象,导致连接发生错误或游戏内部分方块不正常。
注意:ViaFabric 仅支持在大版本的最后一个小版本(如 1.16.5,1.18.2,1.19.4 等)和部分小版本(如 1.20.1)安装使用。
而新版的 ViaVersion 内部变动导致那些适用旧的小版本(如 1.19.2,1.20.2 等)的 ViaFabric 不再支持同时安装使用最新的 ViaVersion 和 ViaBackwards;也就是说 1.18.1,1.19 - 1.19.3 和 1.20.2 等版本无法使用 ViaFabric (+ ViaVersion) + ViaBackwards 连接到最新版本的 MC。
已知问题
指令
安装在服务端时,有三个作用相同的指令:/viaversion,简写为 /viaver 和 /vvfabric;1.14+ 还有一个仅客户端的指令:/viafabricclient 。
在服务器执行这些指令均需要 OP 权限等级 3 以上。
配置
配置文件:
如何禁用 ViaFabric:
在菜单里禁用或设置协议版本为 -1。
如何使用自动探测版本:
一般设置协议版本为 AUTO 或 -2。
特定服务器使用:ddns.example.com._v-2.viafabric
如何设置特定服务器的版本:
在服务器地址后加 ._v(版本).viafabric. 后缀。
例如:minigame.example.com._v1_8.viafabric
类似模组
对应 1.8.9、1.12.2 Forge 版的移植请移步 ViaForge。
支持连接到更多服务器版本的客户端替代品见 ViaFabricPlus。
与 Multiconnect
ViaFabric 支持与 Multiconnect 共存,两者区别如下图所示:
ViaFabric 不会深入修改客户端,它旨在实现 ViaVersion 自身的功能,通过“代理”和翻译网络协议来工作。因此,你仍可以在小于 1.13 的服务器中使用部分 1.13+ 特性(如加速游泳、活板门趴下),但很可能触发服务器的反作弊插件/模组。
ViaFabric 可以在 Fabric 服务端上运作,而 Multiconnect 则只是仅客户端的 Mod。
ViaFabric 适用于 Legacy Fabric 1.8.9 及 1.12.2、Fabric 1.14.4 - 最新的正式版 MC 及新的快照版本,而 Multiconnect 则仅适用于 Fabric 1.14.4 - 1.19.3 的正式版。
Multiconnect 则是通过修改原版代码来实现高版本客户端在 1.12.2 以下版本服务器里的游泳机制和其它服务端无法修复的区别。
与 ViaFabricPlus
ViaFabric 不能与 ViaFabricPlus 同时安装使用。
两者区别如下:
特性 \ 名称 | ViaFabric | ViaFabricPlus |
---|
可安装在 | 不同版本的 Fabric 客户端和服务端 | 1.19.3 ~ 最新版 MC 的 Fabric / Quilt 客户端 |
功能 | 简单的实现 ViaVersion | 实现 ViaVersion 并包括客户端修复 |
工作原理 | 翻译网络数据包 | 更深的修改客户端代码 |
触发反作弊 | 非常可能 | 几乎不可能 |
警告
作者原话:我无法确认每个服务器都允许使用该模组。该模组可能会和部分反作弊冲突。自行承担风险。