相信很多游戏玩家都听说过外挂、脚本、辅助这几个词吧,但他们之间的差异你了解吗?今天小憨包将跟大家讲解一下游戏中的辅助、脚本、外挂的区别究竟是什么?
塞恩回头R
游戏辅助大致类似游戏第三方插件如《魔兽世界》的大脚 《梦幻西游》的工具箱,多玩LOL盒子等等。
他们的共同特点便是不修改游戏本质数据,提供帮助 演算 题库 等不影响游戏正常运营的范围内软件!如经验计算器、宠物人物属性计算器、技能冷却计算器、冷却提醒 跑商跑图时间查询、 摆摊卖东西收益查询等。
原来盒子的战斗力是大家互相攀比的标准
此类软件大部分游戏运营商不反对,且提倡,因为这些数据极大的方便了官方的数据总结。英雄联盟盒子被官方所禁用的主要原因便是一键换肤系统严重影响了官方皮肤的销量
游戏脚本脚本的特点在于不修改游戏数据,只是按照程序编写的格式去代替你的游戏操作,本质上只是为了实现计算机模拟人类行为而研发的一种工具。
目前市面上的按键精灵是软件类脚本的佼佼者,其开放式的可上传性,也让它如日中天。
但是脚本的发展经历需要分成两个阶段来讲。早期的脚本只是提供全自动或者是半自动的操作,例如《传奇》中的自动打怪寻路、《劲舞团》中的自动跳舞、《地下城与勇士》中的一键喊话等。为的是免去了人类机械化的重复操作,减少了游戏前期准备的枯燥性。
《传奇》中自动寻路的脚本
但是随着科技的进步,一些脚本开始脱离了这个初衷,尤其MOBA游戏中的脚本最为猖獗。我们就以《英雄联盟》中的脚本来具体说一下。
首先,此类脚本的运行的目的是尽最大可能的避免操控的人物角色收到伤害。
在游戏里,鼠标放在技能上是可以看到非对向性技能的弹道的,所以可以通过脚本获得对方英雄的弹道,弹道速度,技能距离的数据,再通过回避“它”进行规避。
这个功能实现的基础就在于计算机的计算速度要比人类高出很多。所以在技能丢出去一瞬间,脚本早已计算好了最佳的躲避路径。
就像这样。
注意图中的红线代表着盲僧玩家鼠标点击的位置
英雄联盟是有受伤和无受伤两种状态。就比如说我被防御塔打一下,我就受伤了,受伤是通过某个碰撞物打在我身上,所以脚本的目的就很明确了:回避碰撞物防止受伤状态。
同样的还有大家耳熟能详的走A操作,理论上走a攻速到1.7以上以正常人的反应速度就无法完美走a。但是可以通过代码,进行完美的攻击间隔计算,从而达到完美走a。
对于早期的脚本,游戏公司不打压,也不支持。但是对于后者这种等同于外挂的脚本,是会严厉打击的。
游戏外挂游戏是由无数的代码堆叠而成的,而每个人对于功能代码的实现所思考的方式是不同的,这就给外挂提供了可乘之机。在这些位置修改或者插入一些特殊代码,就能够实现改变游戏的功能。小憨包还是用几个例子来具体说明一下。
内存修改谈到内存修改类游戏就不得不提一下两款大名鼎鼎的软件:金山游侠和cheat engine。
前者是***游戏修改软件的鼻祖,后者可以说是游戏外挂的始作俑者了。(LOL圈的阿呆就是利用金山游侠修改的)
对于绝大多数的单机游戏,手游,页游来说,虽然游戏服务器保存了大量的重要的参数,但由于客户端不可避免的需要进行大量的计算和资源的加载,本地内存中必定存有部分的临时变量,通过判断这些变量的变化规律和函数寻到利于自身的参数,比如伤害值一类。继而寻找该变量的内存地址,再更久分析获得内存基址进行修改,就完成了修改某项数值的操作。
为什么某些3A大作在仅仅出来一周不到就会被破解,因为游戏一旦下载下来,游戏数据就会全部存于本机之中,这样方便破解者的入手。
DNFDNF本身在设计时采取的理念就是服务器负责发送与接收数据,不参与数值的计算。简单来讲就是服务器只负责当前角色的货币,装备,材料等资源的获取与消耗情况,但不会检查过程是否合法,而角色的伤害运算则放在本地化进行。
我们知道Internet客户/服务器模式的通讯一般采用TCP/IP通信协议,数据交换是通过IP数据包的传输来实现的,一般来说我们客户端向服务器发出某些请求,比如移动、战斗等指令都是通过封包的形式和服务器交换数据。那么我们把本地发出消息称为SEND,意思就是发送数据,服务器收到我们SEND的消息后,会按照既定的程序把有关的信息反馈给客户端,比如,移动的坐标,战斗的类型。那么我们把客户端收到服务器发来的有关消息称为RECV。
外挂截取传输数据并加以修改
知道了这个道理,接下来我们要做的工作就是拦截分析客户端和服务器之间往来的数据,并且将其中一些数据进行修改,然后模拟服务器发给客户端,或者模拟客户端发送给服务器,这样就可以实现我们修改游戏的目的了。
绝地求生前两者仅仅是运用了某一款外挂的功能,而在《绝地求生》中,玩家所使用的的外挂可谓是五花八门。
基础功能:除草、无后座等
这是初级操作,是将本地某些特定文件中的参数进行修改即可实现。
除草挂
进阶功能:透视,子弹瞬击,加速,吸空投,秒换子弹,秒吃药。(原有功能加强)
这个是在原有游戏功能的基础之上进行了加强,也就是实现了DNF中的拦截传输数据并且进行修改的功能,一般是在内存中进行。
人物透视
终极功能:自瞄,路飞手臂,子弹跟踪,灵魂出窍,炸飞机,空中拳击赛等非常规功能。
路飞手臂
此类是利用了游戏代码的漏洞,是原游戏中没有的功能。在原有代码的基础之上增加了一些本不该有的代码,是真正具有开创性的功能。
最后想说的话外挂,一个应该存在但是不应该出现的东西。被有心之人挖掘出来之后发扬光大,毁了一个又一个的经典游戏,不可谓不可恶。
但是从另一个角度来看,说明我们现在的开发能力还是有很大的提升空间的。待有一日,希望这些所有的外挂、脚本、辅助能够成为游戏领域中进步的垫脚石吧!
THE END
我是小憨包说游戏,喜欢我的话就点个关注吧~
感谢支持!
往期回顾:
游戏首班车:道貌岸然、凶狠残暴、灭绝人伦,这才是真正的江湖
游戏首班车:浅谈恐怖游戏的发展
游戏首班车:浅谈《部落与弯刀》的优缺点
从B站的“8亿、冯提莫”中,我看到了拼多多的影子