网游的数据都是存储在服务器上,所以所谓外挂的原理其实也没比单机复杂多少。比如有个网游的基本架构如下:
实际上一般还有个账户服务器,用户账户数据一般是跟游戏数据分离开的,一个用户账户是可以登录若干个游戏服务器的。但是这个跟本话题无关暂时省略掉。
比如你在游戏中做了某样操作,比如打个怪,或者开个宝箱,这时候,游戏客户端的任务就是把你这些操作,转换成预先定义好的数据格式发送给游戏服务器,然后游戏服务器收到数据之后,了解了你的意图,然后在游戏服务器上做了一番比较和判断之后,然后把结果发送给游戏客户端,你掉了XX血获得YY经验,打开宝箱得到ZZZ物品。客户端收到服务器的指令之后,在你的画面上把服务器的结果显示出来,仅此而已。
这时候就能看出来了,你仅仅修改游戏客户端的数值是没用的,因为数值并没有同步到游戏服务器上,下次服务器给你发送数据的时候就会改回来。
那么游戏外挂是怎么做的呢?关键就在于外挂会模拟客户端发送数据参考下图。
比如在客户端我正常打怪,手动点击一秒钟打怪一次,但是外挂则会毫无节操地一秒钟发送给服务器几十哪怕上百次打怪的数据。于是有些服务器就会被骗过,从而客户以更高的效率获得经验和奖励。但是这种方法对外挂编写者技术要求比较高,首先你得能分析的出来原来客户端和服务器段通信的数据封包的格式,然后写出模拟客户端的外挂程序。其次最重要的是你得能骗得过服务器。像一秒钟打怪几十次的数据,服务器还是很容易判断出你是在作弊的。而且对于这种严重破坏游戏公平性的外挂来说,被发现的代价还是很大的。游戏公司也是严厉禁止的。
骗不过服务器怎么办呢?于是有些外挂走上了另一条路,这条路上外挂不是模拟游戏客户端了,而是模拟游戏的主体——人。也就是外挂部分或者全部代替人在游戏中的作用。就像下面的图示。
还用打怪来举例子就是外挂给游戏客户端发送模拟指令,模拟用户的打怪操作。然后用某种预先定义好的算法,更有效率的打怪,然后在HP低到一定程度的时候,自动回血。基本上只是一个自动代练的程序实现。这种外挂有些并没有很大的破坏游戏的公平性,游戏官方也是睁一只眼闭一只眼的。
后来好多游戏公司举得,既然这种外挂并没有怎么破坏游戏的公平性,那为啥不自己做呢,能多赚点钱谁不乐意呢?于是有些游戏就又提供了游戏的挂机打怪功能,根据功能不同,免费或收费也不尽相同。于是这种官方提供的东西又被叫做内挂。。。
玩游戏的朋友很多,最后说一下玩网络游戏的代理设置:1。设置网络游戏的代理这就需要用软件了,现在一般使用sockscap和eBorderclient,我习惯用eBorderclient,现在以eBorderclient为例。
下载地址: http://www.gupin.com/soft/213.htm
提供一个注册码:UUUF-9U79-93YK-Y024-ZKA9
2。安装好之后,出现以下提示,点“I want to setup the driver” 然后点“I have one server” 然后添上服务器的IP,端口
3。选下一步,选“proxyonly”,然后点“include list”
点“ADD”,然后找到游戏安装目录里,选中游戏主程序(拿传奇来说,就要选中MIR。XEX),打开,点下一步,完成。
4。然后在开始菜单->程序里找到“e-Border Driver”,运行,勾上“show icon in system tray”,则在屏幕右下角的系统托盘出现
e-Border的小图标,勾上“enable proxy”则使代理生效,指定的程序会通过代理访问网络。
这样就ok了
改动了代理,必须重新启动游戏程序,才会换用新的代理。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)