近期没事干,玩了一会儿网页游戏,travian,玩的是 speed 服的,因为普服的速度没意思。
里面涉及到一个话题,就是扫田。
田不象绿洲,开图即现,而是要非得点进去才能看得见,再者,对于大量造兵者,没有田就会饿死人,因此,田也就成了一个争夺的目标。
下面我们看一下如何写一个扫田器。
首先,你得在任何一个服注册一个帐号,这个要求太简单了,但是要注意,以下我们要做的就用这个帐号,这个帐号如果没有意外,肯定会在你用完之后被封。
1.写一个程序,登录进这个服务器。
这个要求很简单。因为我目前使用 C# 所以以 speed.travian.cn 说一下方法,
要
这很重要,.Net 中有对网络有用的地东西,IO在操作 Stream 上提供支持,而RegularExpressions则是正则表达式的了。
然后,
如此就可以得知登录页面的代码,因为里面有几处是几个随机值,要提交的,包括几个input 的 name 。
得到的 source 就是网页的源代码。
如前面几贴提到,如果要使用代理,则
这样就实现代理访问了。
得到 source 之后,即可对其进行分析。
为了方便,去掉所有的 " 号,因为这个东西处理起来很麻烦。
接下来根据正则表达式取得登录的内容。
好了,提交的字符串是poststring, sr 就是登录之后的村庄主页的详细内容了。当然,还是页面源码。
其实此处有没有这个源码意义不大,因为我们此处的目的在于扫田,(我另外一个程序中有取这些信息进行一些自动建筑之类)
接下来,我们开始进行扫田了。
travian 的地图是一个方形地图,左上角是 (-400,400)右下解是 400,-400)每个格子一直加过去即可,构造好相应的 URL ,直接访问,得到源码后根据一个 <div >接下来没什么技术难度了,开50个线程,一个格子一个格子扫过去。
因为此方法将大幅影响服务器的响应,所以,就不发布这个害人的东西了。