看懂了请抬上去,让拳头接着回应。拳头的回应告知了你们存在显示漏洞,但是仍旧没有以通俗的语言解释这个显示漏洞为什么会发生。
让我先来为他们解释一下,然后指出这么做的巨大漏洞。
我们不讨论rng的延迟,因为riot并没有对rng这边的客户端做任何变动,自然就是35ms。
我们只看韩国这边:这35ms的延迟是由三部分组成的:
我们统一时间为北京时间换算过去的韩国时间GM+9,我们假定单向延迟35ms
【19:00.000】ming用牛头释放了W,小明的客户端带着“W,19:00”的网络包出发。
【19:00.035】“W,19:00”到达了场馆的游戏服务器
【19:00.045】游戏服务器等待了10ms,发出“W,19:00.045”给faker【时间变了】
【19:00.060】“W,19:00.045”经过15ms到达了faker的机器客户端,接受到了这个包
【19:00.070】“W,19:00.045”接受到了之后又等待了10ms。faker的机器显示了小明的W。
--------------------------------------------
1. 从小明的w到faker的显示器,经过了2个35ms。反之依然所以竞技上是公平的。
2. faker的机器算ping的时候,按19:00.060 -“W,19:00.045” 算就是15ms,按19:00.070算就是25ms。
这两个数不太对是不是,但是让我们反推如果按显示器是22ms算,那么韩国那边的自然延迟就是12ms。
所谓的显示bug按照公告的模型应该是10ms对不对? 13ms是什么鬼,解释不下去了瞎编的么?
--------------------------------------------
新的漏洞在哪呢?
第一,这样太蠢了,违反常识。
第二,违反常识的后果是riot公开了一种所有人无法确认的作弊方法。
一,为什么愚蠢?这涉及到,faker的客户端,游戏服务器,小明的客户端
1 还记得虎扑网友在b站发的简单易用的延迟教学么?他那种方法,修改的是windows系统的延迟,所以
faker的客户端 == 小明的客户端 == 全世界玩家的客户端
游戏服务器不用区别对待
显示没有错误
2 如果riot不想用第三方,
faker的客户端 设置延迟20ms 小明的客户端 == 全世界玩家的客户端
游戏服务器不用区别对待
显示没有错误
3。但是riot偏偏选择了最蠢的
faker的客户端 设置延迟10ms 小明的客户端 == 全世界玩家的客户端
游戏服务器区别对待,faker10ms,小明不变
显示错误
二,今天的MSI可以容忍faker的客户端 不一样游戏服务器区别对待,这就介绍了新的作弊方法。
考虑一下这个,小明坐在釜山场馆内
【19:00.000】faker用瑞兹释放了Q,faker的客户端带着“Q,19:00”的网络包出发。
【19:00.010】“Q,19:00”到达了场馆的游戏服务器,网络层没有延迟直接进引擎
【19:00.020】发给小明的客户端网络层让他等待了10ms,发出“Q,19:00.020”给小明的客户端
【19:00.030】“Q,19:00.020”经过10ms到达了小明的客户端,接受到了这个包
结果呢:
0. 假设Q飞行时间0.005s
1. 服务器在19:00.010+ 0.005s 判断faker的q已经打中了小明
2. 小明19:00.020被打中后才显示faker用了q
3. 小明的fps是19:00.030 - "Q, 19:00.020" = 10ms 跟飞科一样。
@虎扑JR1907419411
“然后你的第二个情况,按你给的数据,如果两人都在场馆,a发技能是首先自己延迟10ms,到达服务器是20ms,服务器延迟后是30ms,这个时候服务器选择给b发这个包,因为b也要先服务器等10ms,再走传播和b客户端等,60ms后这个包会到b这里。也就是说服务器会在35知道q打中了,传播30ms被b看见。在b眼里就是60ms的时候看见q出手,飞行时间5ms后b看见技能打中。感觉没啥问题啊“
他提了非常好的一个问题,就是不管你怎么设置延迟,从一端到另一端都是一样的总时间你10ms,我20ms,但是我到你,你到我都是30ms?
我从两方面回答这个问题,
第一不管我攻击你还是你攻击我都是30ms,但是我们同时攻击对方到达服务器开始算数的时间是有先后的,faker按Q要10ms到客户端然后网络层不拖延,ming按q10ms到网络层拖延你10ms才进游戏引擎总共20ms你才攻击我。如果按fps游戏狙击枪来说,服务器会仲裁我10ms就打中你了你已经死了,这个时候你之后的攻击就不算数了,这就是服务器状态校准。
第二,这个技术很麻烦,也有很多种,属于客户端和服务器也在跑游戏,然后服务器和多个客户端校准的问题。我就不多展开了。有兴趣你可以看看cs和ow的这方面内容。
-----------------------------------------------------
申明我之前标注的单向延迟35ms,便于大家理解,免得疑惑
为了便于小白理解,我忽略了所有回报的包,因为他们跟后续的解释毫无关系
-----------------------------------------------------
网友的建议,虽然例子变得难看许多,但是更正确。希望到此为止你已经懂了。
我们统一时间为北京时间换算过去的韩国时间GM+9,我们假定
双向延迟35ms 单向17.5
相应的拳头的模型10ms, 单向5
韩国自然延迟15,单向7.5
【19:00.000】ming用牛头释放了W,小明的客户端带着“W,19:00”的网络包出发。
【19:00.0175】“W,19:00”到达了场馆的游戏服务器
【19:00.0225】游戏服务器等待了5ms,发出“W,19:00.0225”给faker【时间变了】
【19:00.03】“W,19:00.0225”经过7.5ms到达了faker的机器客户端,接受到了这个包
【19:00.035】“W,19:00.0225”接受到了之后又等待了5ms。faker的机器显示了小明的W。
小明的ping:17.5 * 2 = 35ms
faker的ping: (19:00.035 - 19.00.0225) * 2 = 25ms
结论一样!
-----------------------------------------
问题来了:你猜猜显示是22ms时,谁得利了呢?
以后比赛都可以堂而皇之的10台机器,客户端不一样,服务器也区别对待。公平何在?
看懂了请抬上去,让拳头接着回应。拳头的回应告知了你们存在显示漏洞,但是仍旧没有以通俗的语言解释这个显示漏洞为什么会发生。
让我先来为他们解释一下,然后指出这么做的巨大漏洞。
我们不讨论rng的延迟,因为riot并没有对rng这边的客户端做任何变动,自然就是35ms。
我们只看韩国这边:这35ms的延迟是由三部分组成的:
我们统一时间为北京时间换算过去的韩国时间GM+9,我们假定单向延迟35ms
【19:00.000】ming用牛头释放了W,小明的客户端带着“W,19:00”的网络包出发。
【19:00.035】“W,19:00”到达了场馆的游戏服务器
【19:00.045】游戏服务器等待了10ms,发出“W,19:00.045”给faker【时间变了】
【19:00.060】“W,19:00.045”经过15ms到达了faker的机器客户端,接受到了这个包
【19:00.070】“W,19:00.045”接受到了之后又等待了10ms。faker的机器显示了小明的W。
--------------------------------------------
1. 从小明的w到faker的显示器,经过了2个35ms。反之依然所以竞技上是公平的。
2. faker的机器算ping的时候,按19:00.060 -“W,19:00.045” 算就是15ms,按19:00.070算就是25ms。
这两个数不太对是不是,但是让我们反推如果按显示器是22ms算,那么韩国那边的自然延迟就是12ms。
所谓的显示bug按照公告的模型应该是10ms对不对? 13ms是什么鬼,解释不下去了瞎编的么?
--------------------------------------------
新的漏洞在哪呢?
第一,这样太蠢了,违反常识。
第二,违反常识的后果是riot公开了一种所有人无法确认的作弊方法。
一,为什么愚蠢?这涉及到,faker的客户端,游戏服务器,小明的客户端
1 还记得虎扑网友在b站发的简单易用的延迟教学么?他那种方法,修改的是windows系统的延迟,所以
faker的客户端 == 小明的客户端 == 全世界玩家的客户端
游戏服务器不用区别对待
显示没有错误
2 如果riot不想用第三方,
faker的客户端 设置延迟20ms 小明的客户端 == 全世界玩家的客户端
游戏服务器不用区别对待
显示没有错误
3。但是riot偏偏选择了最蠢的
faker的客户端 设置延迟10ms 小明的客户端 == 全世界玩家的客户端
游戏服务器区别对待,faker10ms,小明不变
显示错误
二,今天的MSI可以容忍faker的客户端 不一样游戏服务器区别对待,这就介绍了新的作弊方法。
考虑一下这个,小明坐在釜山场馆内
【19:00.000】faker用瑞兹释放了Q,faker的客户端带着“Q,19:00”的网络包出发。
【19:00.010】“Q,19:00”到达了场馆的游戏服务器,网络层没有延迟直接进引擎
【19:00.020】发给小明的客户端网络层让他等待了10ms,发出“Q,19:00.020”给小明的客户端
【19:00.030】“Q,19:00.020”经过10ms到达了小明的客户端,接受到了这个包
结果呢:
0. 假设Q飞行时间0.005s
1. 服务器在19:00.010+ 0.005s 判断faker的q已经打中了小明
2. 小明19:00.020被打中后才显示faker用了q
3. 小明的fps是19:00.030 - "Q, 19:00.020" = 10ms 跟飞科一样。
@虎扑JR1907419411
“然后你的第二个情况,按你给的数据,如果两人都在场馆,a发技能是首先自己延迟10ms,到达服务器是20ms,服务器延迟后是30ms,这个时候服务器选择给b发这个包,因为b也要先服务器等10ms,再走传播和b客户端等,60ms后这个包会到b这里。也就是说服务器会在35知道q打中了,传播30ms被b看见。在b眼里就是60ms的时候看见q出手,飞行时间5ms后b看见技能打中。感觉没啥问题啊“
他提了非常好的一个问题,就是不管你怎么设置延迟,从一端到另一端都是一样的总时间你10ms,我20ms,但是我到你,你到我都是30ms?
我从两方面回答这个问题,
第一不管我攻击你还是你攻击我都是30ms,但是我们同时攻击对方到达服务器开始算数的时间是有先后的,faker按Q要10ms到客户端然后网络层不拖延,ming按q10ms到网络层拖延你10ms才进游戏引擎总共20ms你才攻击我。如果按fps游戏狙击枪来说,服务器会仲裁我10ms就打中你了你已经死了,这个时候你之后的攻击就不算数了,这就是服务器状态校准。
第二,这个技术很麻烦,也有很多种,属于客户端和服务器也在跑游戏,然后服务器和多个客户端校准的问题。我就不多展开了。有兴趣你可以看看cs和ow的这方面内容。
-----------------------------------------------------
申明我之前标注的单向延迟35ms,便于大家理解,免得疑惑
为了便于小白理解,我忽略了所有回报的包,因为他们跟后续的解释毫无关系
-----------------------------------------------------
网友的建议,虽然例子变得难看许多,但是更正确。希望到此为止你已经懂了。
我们统一时间为北京时间换算过去的韩国时间GM+9,我们假定
双向延迟35ms 单向17.5
相应的拳头的模型10ms, 单向5
韩国自然延迟15,单向7.5
【19:00.000】ming用牛头释放了W,小明的客户端带着“W,19:00”的网络包出发。
【19:00.0175】“W,19:00”到达了场馆的游戏服务器
【19:00.0225】游戏服务器等待了5ms,发出“W,19:00.0225”给faker【时间变了】
【19:00.03】“W,19:00.0225”经过7.5ms到达了faker的机器客户端,接受到了这个包
【19:00.035】“W,19:00.0225”接受到了之后又等待了5ms。faker的机器显示了小明的W。
小明的ping:17.5 * 2 = 35ms
faker的ping: (19:00.035 - 19.00.0225) * 2 = 25ms
结论一样!
-----------------------------------------
问题来了:你猜猜显示是22ms时,谁得利了呢?
以后比赛都可以堂而皇之的10台机器,客户端不一样,服务器也区别对待。公平何在?