《绝地求生》本地录像和外挂

《绝地求生》是现在无容置疑的最火的游戏。

图片发自App

它精美的画面和真实刺激的战场体验,征服了不少游戏玩家。

但是,接踵而来的是大量的外挂。

今天想到了这件事儿,就想分享一下我的想法。

《绝地求生》是有录像的,无非是带时间戳的网络包的一个集合和回放。所以,我们能想到的是,它的服务器把一局里,每个人的每个动作的网络包全部广播给所有人,才能获得这样的结果。客户端记录了所有的网络包,就能生成一个本地录像。这样,也避免了结束时、或者观看时才下载对服务器造成的压力和带宽需求。不过,这很大程度上对外挂提供了便利,对着墙就能知道所有人的位置和动作。

今天早上,我忽然灵光一闪,发现了一个方法,或许不成熟,但是发展起来,也是一种有效的方案。

方法是这样的:服务器根据位置和朝向,以及武器状态影响的视野和地形,过滤出能看见的对象;这些对象的数据包使用本局公开密钥加密;其他对象的数据包使用本局不公开的密钥,附加上用公开密钥加密的可公开信息,比如模糊的枪声,脚步声等。这些都使用大概位置信息,不是用精确位置定位。游戏结束时,不公开密钥发放给客户端,解密之前不可解密的数据包,丢弃附加的辅助信息,合成本地的回放数据。而且,对于中途离场这种情况,不公开密钥可以设为每人不同,以最大程度防止提前泄密。或者,采用此局完成才分发密钥到账户信息的方式,杜绝提前泄密。

这个方法,可以解决一部分外挂问题,提升游戏的公平性。但是,对于视野内的对象,还是没有绝对的防止透视和自瞄准的方法。这个,更多的还是要依赖后台的智能分析和玩家举报了。

你可能感兴趣的:(《绝地求生》本地录像和外挂)