首页 > GTA5外挂为何如此泛滥?

gta5外挂真多,GTA5外挂为何如此泛滥?

互联网 2020-12-04 18:16:44

玩过GTA5的玩家都知道,GTA5有大量的外挂,目前主流的外挂有刷钱,刷车,无敌,自瞄,防封号,甚至还有外挂在线下也能把你弄到怀疑人生,那么我们就以专业角度分析为什么GTA5有这么多外挂

刷飞碟外挂

首先,GTA5的网络架构采用的是C/S+P2P,首先我们先来熟悉这两个架构,C/S就是用户/服务器(Client/Server)那么这个是什么意思呢?简单来说就是有一个人教你做事,他是老师,你是学生,你必须听他的,他说什么你做什么,而P2P就是学生可以自己做自己的,每个人都可以成为老师(当然外挂泛滥的条件不止这些,继续往下看)

C/S架构

除了架构,游戏运行还需要协议,大部分游戏用的都是TCP协议,而GTA5不同于其他的游戏,他用的是UDP协议

TCP协议UDP协议

TCP协议有一个三次握手的过程,简单来说是这样

1、客户端向服务器发送信息,告诉服务器我是客户端XXX,建立连接

2、服务器接收到客户端的连接请求后,告诉客户端:我是服务端,我已经收到你的连接请求了

3、客户端再告诉服务器,我是客户端,我已经接收到服务器给我的信息,可以建立连接了

4、客户端与服务器连接就建立成功了,开始传输数据(完成)

而UDP没有建立连接,过程如下图所示

1、客户端直接把所有数据都扔给服务器,我是客户端XXX,这些都是数据,不管服务端收没收到,反正客户端已经发了

2、客户端收到后,发送给客户端:我已经收到了,这句话不管客户端看没看,服务端已经发了(完成)

从上面可以看出,TCP是安全可靠的一种协议,而UDP是不可靠的一种协议,TCP会对数据进行校验,这样可以避免文件在发送过程中损坏,而UDP是无连接的协议,文件完整性是未知的

那你可能会问:为什么GTA5他不用TCP偏偏去用UDP,这不是自讨苦吃吗?很好,这个问题问得非常好

如果在GTA5上用TCP协议,外挂是会少很多,但是会出现很多很严重的问题:

1、玩游戏巨卡无比,掉线都是家常便饭

2、服务器无法承受上百亿的客户端连接,直接崩溃,跟游戏说再见

如果用的是UDP协议的话,连接问题就会好很多,因为只要你把数据发送出去,无需建立连接,不管收没收到,所以在本地看你做的动作流畅无比,但是如果网络延迟很大的话,那么别人看你就变成一路瞬移了,如果用TCP,所有玩家都会巨卡无比,不管是本地还是别人看你,而且也会频繁掉线

第二,前面说了GTA5用了P2P协议,这是一种点对点的传输协议,因为P2P是不需要服务器的,而是由客户端互相传递数据,这样大大的节省了服务器的开销,那么这样有什么好处呢?客户端再也不用因为服务器的传输延迟而卡顿,因为提供数据的不是服务器,而是在战局里面的其他玩家

P2P和C/S的区别

如果你和好基友在开车过弯的时候,是不是会遇到这种情况:

1、你看到基友以一种很别扭的姿态过弯

2、基友过弯时直接撞墙,过了几秒基友突然消失,出现在了马路上

先来说第一种情况,因为是P2P协议,都是由客户端互相发送数据,基友的计算机把数据给你,你的计算机在本地模拟算法,得出结果,所以会看见基友以一种别扭的姿态飘过去

再来说第二种情况,这种情况可能是网络卡了,因为是基友向你发送数据,此时你网络卡了,就没接收到他的数据,此时系统默认他直直地开过去了,然鹅他是过弯了,等你接收到数据时他就会瞬移到马路上

数据安全

由于是客户端之间发送消息,没有中央服务器介入,这就造成了很大的安全隐患

举个例子,你和好基友打PVP对枪,如果你开枪了,计算机会对此进行计算,角度XXX,力度XXX,告诉对方的计算机,对方计算机接收到数据之后会对此进行本地计算,打没打中,如果打中了,我会返回数据给你

但是如果他开了挂,外挂通过修改本地数据包,你打到他之后人家计算机一直返回给你你没打中,你没打中,略略略,你能拿我怎么样 这样就形成了无敌挂和锁血挂

刷车挂也是一样的道理,外挂玩家先在本地刷出一辆车,接着再发送给其他用户数据,其他人接收到之后,这辆车就会出现在地图上,大家就可以看见这辆车了

刷钱也是一样,你是永远不可能直接改变金钱数量的(要是能改岂不是逆天了),所以你只能通过正常手段拿到钱,数据在中央服务器上,所以外挂就会在本地刷钱袋(是有一个叫钱袋的东西,走过去就是2500块钱),由于实体R星不会检测,所以刷完以后他会告诉服务器我是XXX,我有XXX钱了

那大家可能会问,那服务器判断一下是不是钱袋刷出来的不就完了?

是可以通过这样来判断,但是那样服务器也会崩溃,你想想捡一个钱袋服务器就要接收数据,一天都有上兆个钱袋,服务器肯定会炸

所以R星很机智,他先在本地和服务器存一个文件,定期检查,要是你钱没花完,那不好意思你号没了

一个很明显的地方,不管你买车买房买弹药都会在右下角出现“交易处理中”这就是客户端再上传数据给服务器,然而服务器并不会判断你钱来源是否合法,只是负责加减,甚至你死亡都会出现“交易处理中”

网络卡顿原因

在玩GTA5的时候,你会发现有些人玩得很流畅,而有些人则是各种撞树撞电线杆,这都和延迟有关

刚才说了,游戏是P2P架构,所以如果你离一个玩家很远(现实)就会巨卡无比,所以R星也考虑到了这一点,你IP在哪里就匹配到哪里的玩家,所以我们这里都是中国人(也有歪果仁)

如何避免呢?

第一步判断

如果你和一个人玩,他各种瞬移,那么就说明延迟很大

第二步远离

没错、遇到这种玩家一定要躲得远远的,尤其是有基友的情况,因为你不知道他到底在哪里,有可能出事故

GTA5变形蜘蛛外挂

心跳机制

既然UDP协议是无连接协议,那么为什么还是能看到连接超时这四个字呢?

答案就是心跳机制,如果客户端在线,那么每5-10S客户端之间都会发送数据包,如果过时间,客户端还没反应,那么其他客户端就会判定这个客户端“死了”(连接超时),这是为了保证客户端在线

TCP虽然很安全,但是他无法精准判断你是否在线,因为你如果用退出按钮这些方式断开,服务器就可以知道,而如果你用拔网线,禁用网卡的方式,那么服务器就会继续给你发数据包,N次失败后判定你已经离线

GTA5变形金钢外挂心跳机制

那么本期的文章就到这里,也希望GTA5的外挂能尽量少一点吧!

我是皮皮,一个GTA5兼NFSup主,如果喜欢我请给个三连,非常感谢!!!

免责声明:非本网注明原创的信息,皆为程序自动获取自互联网,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责;如此页面有侵犯到您的权益,请给站长发送邮件,并提供相关证明(版权证明、身份证正反面、侵权链接),站长将在收到邮件24小时内删除。

相关阅读