前几天在研究矿车运动时发现了这样一个Bug:矿车的Motion(用于决定速度)在矿车堆叠时会发生指数爆炸似的增长,最终会很快达到无穷大。经过研究,发现这一Bug似乎是由矿车间的相互推动造成的,因为在矿车运算过程中会将Motion限制在+-0.04之间,此后到Motion被获取应该就只有推动会影响Motion了。
这样,MC-14(堆叠的矿车在脱轨后继续匀速行进)这一远古Bug似乎就有了一个比较合理的解释:在矿车Motion为无穷大时,除非它撞到墙上,它的Motion不会被任何阻力和出无穷大以外的任何反向加速减少,而它对速度又有一个限制,无论Motion再大单轴速度都超不过8m/s,所以他的速度就不再变化,从而出现那种匀速直线运动。
为什么说这个Bug危险呢?研究过浮点数的都知道,无穷大并不是一个合法的数字,它在进行一些运算后(尽管目前还没有发现可以实现这些运算的方案)可能变成NaN(Not a Number,不是数字),最终会被写入到存档中。但是,在存档被再次加载时,如果遇到了值为NaN的Motion服务器(包括专门服务端和客户端内置的服务端)会拒绝读取它并立即崩溃,造成存档损坏,不过参考崩溃报告很好修复。即使没有产生NaN,这样的非法值也可能因为某些运算造成卡死服务器、崩溃等难以预料的后果。
刚才已经报告给Bugjump了,MC-233322(知道这样再晚11个提交多好)。
这样,MC-14(堆叠的矿车在脱轨后继续匀速行进)这一远古Bug似乎就有了一个比较合理的解释:在矿车Motion为无穷大时,除非它撞到墙上,它的Motion不会被任何阻力和出无穷大以外的任何反向加速减少,而它对速度又有一个限制,无论Motion再大单轴速度都超不过8m/s,所以他的速度就不再变化,从而出现那种匀速直线运动。
为什么说这个Bug危险呢?研究过浮点数的都知道,无穷大并不是一个合法的数字,它在进行一些运算后(尽管目前还没有发现可以实现这些运算的方案)可能变成NaN(Not a Number,不是数字),最终会被写入到存档中。但是,在存档被再次加载时,如果遇到了值为NaN的Motion服务器(包括专门服务端和客户端内置的服务端)会拒绝读取它并立即崩溃,造成存档损坏,不过参考崩溃报告很好修复。即使没有产生NaN,这样的非法值也可能因为某些运算造成卡死服务器、崩溃等难以预料的后果。
刚才已经报告给Bugjump了,MC-233322(知道这样再晚11个提交多好)。
这就离谱
确实不错,支持,下次有空去试试。
本帖最后由 Winner32 于 2021-7-29 18:31 编辑
wow,是源代码翻出来的?
1.14的矿车代码不知道跑哪去了
wow,是源代码翻出来的?
1.14的矿车代码不知道跑哪去了
所以是新的旧崩服方法?
为什么会有无穷大)
看完之后除了知道矿车在某些情况下会卡服意外什么都没有看懂
用这个原理差不多可以写个存档修复插件
emmm,好复杂的样子
这叫特性!mc没有bug
这就离谱,这个你是怎么看出来的。。
可以可以,我也去试试
下次我也去试试
有趣学到了
好家伙,又学到一个可以崩服的小技巧
你这头脑可以啊 还能说这么多
,,以前就知道叠加矿车,然后就可以无铁在地上开车,
但是为什么不是负数了,无穷大溢出之后应该变成负数啊,在JAVA里头
好,什么都没看懂
这个矿车叠加?怎么感觉和以前的生物叠加制作的快速通道一样呢。。
利用生物叠加对自己造成的冲击(碰撞箱),然后飞弹出去的那个。特性
利用生物叠加对自己造成的冲击(碰撞箱),然后飞弹出去的那个。特性
这就很离谱
大佬牛蛙233333
膜拜大佬没看太懂但是感觉很牛逼
没看懂怎么回事
笑死....根本看不懂
大佬牛逼
这个编号不错
kqn3 发表于 2021-7-30 09:14
但是为什么不是负数了,无穷大溢出之后应该变成负数啊,在JAVA里头
那是整数浮点有专门的正负无穷.
遇到问题先ban再说
这不是某up去边境之地的方法吗?
那他的存档……
那他的存档……
我第一反应居然是实体碰撞卡的弹射233
落地水,远古bug,我也去反馈一下(doge
,好家伙,直呼好家伙
不不不 是新的特性
你这个MC-233322与MC-14不是重复了吗
QWERTY770 发表于 2021-7-30 11:10
你这个MC-233322与MC-14不是重复了吗
确实报告页面哪里已经有人说这是MC-14的一个分析,不必创建一个新报告,但现在该报告还没有被关闭。不过我认为这应该是一个独立的Bug,它本身有可能造成除MC-14以外的其他问题。
bili_772099850 发表于 2021-7-30 10:12
所以发出来是让熊孩子卡服的吗
不是,目前应该还没有利用堆叠矿车的无穷大Motion卡服或崩服的办法,一般的熊孩子估计更没有,发出来主要是提醒大家这有那么一丁点卡服或崩服的可能性。
忘了在晚11个了
空空空空空无 发表于 2021-7-30 07:35
这叫特性!mc没有bug
有用叫特性(TNT复制、无头活塞破基岩、羊驼复制、etc.),没用叫Bug(声音溢出、溺尸AI内存泄漏、MC-4、etc.),这个明显是有用的,确实该叫特性。
若真有奇迹 发表于 2021-7-30 08:52
好家伙,又学到一个可以崩服的小技巧
目前还不能崩服,没有具体方案,就像证明某个定理需要先证明哥德巴赫猜想类似
奇怪特性+1
牛哇,说起来之前在bbs也看见过一个类似的233
jiujiuqie 发表于 2021-7-30 10:27
这不是某up去边境之地的方法吗?
那他的存档……
是直接瞬间去还是坐上矿车挂机?如果是瞬间那么卡服方法可能已经找到了,长距离移动还是比较卡的(话说那个版本是多少)。可以具体说一下哪个up吗?
矿车么 大佬也是细心 玩矿车玩的少 看楼主大大的提醒 下次多注意些
lovexyn0827 发表于 2021-7-30 17:55
是直接瞬间去还是坐上矿车挂机?如果是瞬间那么卡服方法可能已经找到了,长距离移动还是比较卡的(话说那 ...
emm 来迟了
是矿车挂机
版本……1.2或1.3、1.4,是早期版本
UP:某小豆
哦呵呵呵我要去试试
可以的。。。。。。。
为啥我试了好像不行
这很离谱
好发杂的样子