samoyed 发表于 2022-7-20 16:30:44

MTR模组forge一直存在的bug

当开启MTRforge服务器时才会出现的bug
在多人游戏里,当有多个人进入服务器之后,MTR模组服务器会以第一个进入服务器的人为模组主机,这里的模组主机是我自己起的名字。
为什么叫模组主机???
一、因为当第一个人(被模组认定为主机的那个人)用铁路仪表板刷新线路的时候会立即显示刷新成功,但是其他人点击刷新线路的时候会变成灰色框显示正在刷新并且一直卡住
二、当第一个人(被模组认定为主机的那个人)在建造轨道的时候轨道会立即显示在所建造的路面上,但是其他人会等待10秒-15秒时间不等才会显示出来,能立即显示出来的只有一个被连接的轨道节点。
三、当第一个人(被模组认定为主机的那个人)乘坐地铁时,登上地铁会直接踩在地铁地板上,其他人在没有办法踩到地铁地板上,则会陷下去知道接触轨道的那层方块,列车关门启动后其他人才被恢复到踩在地铁地板上,缆车同理,只不过缆车其他人会一直陷下去,并且启动的时候无法像地铁那样纠正自己站位,从而导致无法乘坐缆车。


这个是我开MTR地铁forge服务器以来到现在一直没有被修复的bug,我一个朋友他开的是fabric服务器并没有出现此情况,不知道在座的各位开forge服务器的大神们有没有遇到类似的问题。


这个帖子不能发视频,如果能视频我很想录一段给你们看看,进来的大神们留步帮我看看谢谢啦


XHG78999 发表于 2022-7-20 19:00:42

https://github.com/jonafanho/Minecraft-Transit-Railway/issues/438扔上去力

Zbx1425 发表于 2022-7-20 19:36:08

问题已解决,下一个更新版本将会修复

这倒是和所谓“模组主机”没有关系,MTR 完全没有给某位玩家指定特殊地位的逻辑。
原因是向客户端发送同步数据包时,发送完数据包后没有正确重设 ByteBuf 的 readerIndex,使得发送数据包时只有第一个包能正常发出,其后的所有包全部是空的;而 MTR 在要向全服务器所有玩家发送数据包时正巧是按照加入游戏的顺序逐一发送,这就碰巧使得只有第一个加入游戏的玩家能够收到正常的数据包内容了。

Fabric 一侧使用不同的途径发送数据包,所以未受到此 bug 影响;大概是因为在多人游戏上才会发生,使得当时测试时未能发现。

samoyed 发表于 2022-7-20 19:52:45

Zbx1425 发表于 2022-7-20 19:36
问题已解决,下一个更新版本将会修复

这倒是和所谓“模组主机”没有关系,MTR 完全没有给某位玩家指定特殊 ...

感谢大佬的解答!

XHG78999 发表于 2022-7-21 09:34:16

Zbx1425 发表于 2022-7-20 19:36
问题已解决,下一个更新版本将会修复

这倒是和所谓“模组主机”没有关系,MTR 完全没有给某位玩家指定特殊 ...

今天早上刚刚收到邮件。
修的很累罢,谢谢,(%%%
页: [1]
查看完整版本: MTR模组forge一直存在的bug