你是否还记得DNF,一天你不小心救了赛丽亚,从此变成了拯救阿拉德大陆的勇士,从此开始冒险之旅,不管你的职业是亲儿子还是下水道,你一直对你玩的角色情有独钟,在一次次刷图PK中,你变强了,你可以刷深渊,刷异界,刷远古,装备越来越好,技能越来越熟练,强化越来越高,后来强化碎掉了,你一气之下卸载了游戏,可没几天又入坑了,就这样你一直沉迷在阿拉德大陆的象牙塔里,直到你毕业工作了,再无时间,再也听不到赛丽亚的那句:“你来啦!”。
是的,在掉线城与虚弱勇士中,你我都一样,因为在那片大陆上有爆出期待已久装备的开心,也有强碎武器装备的绝望,每一件装备,每一个技能,每一个地图,每一个NPC,每一个怪物,每一首音乐都是我们曾经的青春…
本文讲解阿拉德之怒手游架设教程,这也是我第一次尝试安卓/IOS客户端的架设,原本只是研究H5游戏,奈何情怀让人按捺不住啊!
阿拉德之怒 – 安卓模拟器截图:
苹果手机截图:
GM工具:
架设
1.架设条件
阿拉德之怒架设需要准备:
2.安装宝塔及环境
宝塔是一个服务器运维管理软件,安装命令:
安装完后,按照提示信息登录宝塔(如果无法访问可能是由于服务器没有开放8888端口,参考步骤开放端口),并在宝塔软件商店中搜索以下软件安装:
1、web服务器:Nginx1.20
2、数据库:Mysql 10.2
3、数据库:Redis 6.2.6
4、编程语言:PHP 7.1
5、数据库管理工具:phpMyAdmin 4.4
6、进程管理器:PM2管理器 5.2
安装完后,还需安装PHP 7.1的扩展redis和sg11。
需注意的是,此游戏涉及到的软件和环境多且版本特殊,建议不要和其他游戏共用一个服务器,出错失败的概率会很大,额,说的就是刚踩坑的我,服务器配置最低4G内存,2G内存很容易断开服务。
3.开放端口
我们直接开放所有端口1-65535,阿里云服务器在安全组中配置规则。
然后在宝塔菜单安全中开放所有端口。
如果对安全性有要求,可以单独开放需要开放的端口,方法同上。
4.上传源码
拿到源码后,将服务端alade.zip压缩文件通过宝塔上传到根目录(如果宝塔禁止上传到根目录,可上传其他路径后剪切粘贴到根目录)。
解压完成后,通过宝塔菜单终端,命令授予777权限:
配置环境:
5.修改IP
源码中的IP是我自己虚拟机的(43.138.22.71),需要替换成你自己的服务器IP。
\home\sql\demoald.sql
\home\root\pre-publish-new\server_res\UdpConnServer\UdpConnServer.cfg
\home\root\pre-publish-new\server_res\AdminServer\NetAddress.xml
\home\root\pre-publish-new\server_res\Config\UdpServer.xml
\home\root\pre-publish-new\server_res\RelayServer\RelayServer.cfg
\home\root\pre-publish-new\server_res\RelayServer\ServersAddress.xml
以UdpConnServer.cfg为例,在宝塔中找到文件,双击修改,Ctrl+F批量替换IP。
6.导入数据库
宝塔设置数据库root密码为pwd123456。为什么不是123456,因为考虑到如果你想修改源码中的密码,可以全局搜索替换,不会冲突。
在软件商店中设置Mysql,配置修改为资源中数据库配置.txt中的内容,全部替换掉后,在重载配置和重启Mysql。如果重启后失败请重启服务器即可恢复启动,
如果还是失败,可以考虑Mysql5.7或重装系统。亲测,华为云mysql无法启动成功。
重启Mysql成功后,命令导入数据库。
7.创建网站
添加站点,域名写你的IP,根目录/www/wwwroot/alade,PHP选择7.1版本。
再次设置该网站,网站目录中关闭防跨站,运行目录设置为public。
伪静态使用thinkphp,没错,竟然是TP5 – -,我用过最多的php框架,别说,还有点亲切~
8.修改热更包
热更包其实就是你首次打开游戏后,游戏自动会下载的文件。
8.1 安卓热更包
在资源中的热更包-安卓热更包目录下。建议安装360压缩软件进行操作。
双击package-1.39.1.237578-1.39.1.239178.zip压缩文件,直接打开AssetBundles/environment_serverlist_xml.pck文件(本地Notepad++编辑器编辑)。
修改红框内的三行换成你的IP,需要注意的是要对位修改,保证值为17位(43.138.22.71/////共17位)。举例你的IP为1.1.1.1,要算上小数点一共是7位,那在后面就需要补10个/,即1.1.1.1//////////,如果你的IP为123.123.123.123共15位,那么在后面就需要补2位,即123.123.123.123//。
打开资源中的MD5.exe,将改好后的压缩文件拖进来,获取文件md5值。
修改文件package-1.39.1.237578-1.39.1.239178.txt,将上一步获取的md5值替换。
处理安卓热更包后需要将源码中的热更包文件替换,目录/www/wwwroot/alade/public/assetnt/android/zip/1.39.1.239178,在宝塔界面该目录下,直接将俩文件拖进去覆盖即可。
8.2 苹果热更包
如果你使用的安卓手机或安卓模拟器可以跳过这步,毕竟IOS涉及到签名,搞起来比较麻烦。
在资源中的热更包-苹果热更包目录下,查看/assetios/ios/zip/1.39.1.239178下文件,双击package-1.39.1.237578-1.39.1.239178.zip用直接打开AssetBundles/environment_serverlist_xml.pck,修改红框内的三行换成你的IP,同样需要对位修改,保证值为17位。
修改完后,剩下的步骤和安卓一样,需要修改另一个文件的md5值,然后将两个文件替换到目录/www/wwwroot/alade/public/assetnt/ios/zip/1.39.1.239178即可。
9.配置PM2管理器
通过软件商店找到pm2管理器并设置,添加项目启动文件为/home/root/pre-publish-new/server_res/gmald/src/app.js,后面的表单内容会根据启动文件自动生成。
10.启动游戏后台
经过一番三下五除二的操作,终于到了启动游戏后台的时候,命令:
有一个报错,可无视,查看端口占用情况,命令:
11.创建游戏账号
创建游戏账号链接:http://IP/index/Reg?agent=alade123 ,IP替换为你的IP,安全码同密码填写一致即可。
12.安卓客户端
12.1 反编译
反编译本地需要JAVA环境,可以通过https://www.java.com/zh-CN/download/下载安装。
安装好JAVA环境后,打开资源工具中的APKTool工具,将客户端目录下阿拉德之怒.APK拖进工具路径,点击反编译apk,该客户端已修复卡顿问题,并优化登录界面只保留账号登录。
12.2 修改IP
反编译完成后会生成一个目录,需要修改其中文件的IP:
\assets\updateserver.json
\smali\com\mgbase\net\Constant.smali
\smali\com\mgpay\c\b.smali
\smali\com\mgpay\net\b.smali
\smali\com\mgpay\ui\f.smali
\smali\com\mgpay\utils\o.smali
推荐 VS Code 全局搜索,一键替换,当然,单独找文件修改也可以。
12.3 回编译
修改完后,将目录拖回工具路径,点击回编译,这个耗时会很长,耐心等待即可。
最后会生签名的apk客户端。
12.4 模拟器测试
我使用的是夜神模拟器,感觉体验好些,下载链接:https://www.yeshen.com/
启动模拟器后,直接将apk拖进模拟器中就可以安装。安装好后,启动游戏。
出现下载文件界面,说明热更包配置是成功的。
选择自定义账号登录,输入上文中创建的游戏账号,即可进入游戏,Nice~
13.苹果客户端
13.1 修改IP
使用360压缩打开资源客户端中的阿拉德之怒.ipa,找到文件\Payload\test.app\Data\Raw\updateserver.json,将红框中的IP修改为你的IP。
用资源工具中的WinHex.exe打开客户端目录下的test文件,点击上面搜索,替换文本,搜索43.138.22.71///,替换成你的IP,同样需要注意的是需要对位修改,保证15位,不够在后面补/,如你的IP是10.1.2.3共8位,需要补7个/,也就是10.1.2.3///////,如果你的IP是123.123.123.123正好15位,就不需要后面补位了。
修改完test文件后,将它拖进目录\Payload\test.app\,点击替换即可。
13.2 苹果签名
我使用的苹果签名是爱思助手:https://www.i4.cn/
在爱思助手工具中搜索IPA,找到IPA签名,选择阿拉德之怒.ipa文件,填写自己的苹果账号,即可进行签名。
签名后就可以成功安装到自己的苹果手机中,需要在手机设置-通用-设备管理中信任该软件才可启动,苹果手机上运行要比安卓流畅的多,地图切换不再卡顿,唯一遗憾的是签名有效期只有7天,每周都得进行一次签名,如果麻烦可以找长期签名,当然也不便宜。
14.游戏后台
游戏总后台链接:http://IP/admin/Index.html ,替换为你的IP,下同。账号和密码都是alade123,可以查看和设置很多信息,大家可以慢慢研究。
除了总后台还有代理登录:http://IP/agent/login ,账号密码也都是alade123,通过代理的推广链接可以注册账号。
用户后台链接:http://IP/index/Login ,可以购买领取物品。
这几个链接实际上我并没有怎么用到,使用cdk授权后的GM工具会更加直接好用,参考后续中的CDK/GM功能。
15.停止游戏后台
如果想停止游戏后台服务,执行后台命令即可:
后续
1. 修改总后台账号密码
修改总后台用户名需要修改两个文件:
www/wwwroot/alade/application/admin/controller/Login.php
www/wwwroot/alade/application/common/controller/Admin.php
将所有alade123改成你的账号名,总后台的登录没有验证数据库的账号名,而是在后台文件中进行了验证。以Login.php为例:
登录总后台后,点击右上角admin,选择修改密码就可以更改密码了。
2.CDK/GM功能
2.1 功能配置
首先在资源中找到补丁-cdkgm功能目录,然后在宝塔中进行以下操作:
创建数据库cdks,并导入数据库文件cdks.sql。
将gmcdk.zip上传到目录/www/wwwroot/alade/public,并解压到该目录,赋予777权限。
修改Login.php文件上传到目录www/wwwroot/alade/application/admin/controller,如果修改过后台账号,请将文件中alade123替换为你的账号。
修改/www/wwwroot/alade/public/gmcdk/config/config.php配置文件。
如图示,修改位置1为你设置的数据库密码,位置2改成你的IP,位置3和4是总后台的账号和密码,默认为alade123,如果修改过按照你修改后的填写,位置5设置GM码,用于生成 CDK。
2.2 功能使用
配置好后,我们来使用,首先打开CDK生成链接:http://IP/gmcdk/cdk 。IP替换为你的IP,下同。填写上面设置的GM码,填写生成数量。
然后对角色进行授权,链接:http://IP/gmcdk/pay 。填写生成的一个CDK,你的角色名,并设置你的后台密码。
最后登录GM工具:http://IP/gmcdk/gm ,填写你的角色名和上一步设置好的后台密码,选好要发送的物品。
发送成功,Nice~,无需重新登录游戏,邮件即可收到。
需要注意的是,设置完CDK/GM功能,总后台登录的验证码填写错误才能登录成功哦~
3.后台自动重连
如果后台服务断开,我们需要重新启动游戏命令,这样比较麻烦,可以使用脚本的方式。
找到资源补丁中自动重连补丁GameStatusProtect.js文件,上传到目录/home/root/pre-publish-new/server_res/gmald/src,并赋予777权限。
然后同之前配置PM2管理一样进行配置,找到PM2管理器添加项目,启动文件为/home/root/pre-publish-new/server_res/gmald/src/GameStatusProtect.js,其他自动生成,随便填写个项目名称即可。
脚本原理就是监听服务端的端口,当端口没有开启时则会进行重启操作。
4.团本PK组队设置
开通团本PK组队功能,首先需要开放服务器所有的UDP,以腾讯云轻量服务器为例,在防火墙中设置。
这样组队和PK功能应该就可以正常使用了。
团本启动命令:
团本设置可单人进入,修改/home/root/pre-publish-new/server_res/Config/DataTables/TeamCopyValueTable.txt文件,将1、2、3、48、49、50行值全部改为1,重启服务器,团本即可一人开启。
5.升级大马猴版本
升级现在最新的大马猴90级版本,有更多好玩的地图和装备,玩法更加多样,比如超难但是奖励很给力的大马猴副本,大马猴?难道是在说旭旭宝宝?
升级大马猴分以下几步,按照原架设基础,替换文件即可,无需清库重置,先关闭游戏后台服务。
5.1 替换热更包
最新的热更包文件分享在资源中的大马猴补丁-热更包,安卓和苹果的都需要替换,替换方法同上文中的修改热更包操作。
5.2 替换Config目录
找到资源中的大马猴补丁-Config.zip压缩文件,上传到宝塔目录/home/root/pre-publish-new/server_res,并解压到该目录赋予777权限,原Config目录可改下名称避免冲突。
替换后记得修改文件Config/UdpServer.xml中的IP。
需要注意的是,热更包的版本号没有改变,再次打开客户端是无法更新到最新的热更包的,需要卸载重新安装客户端,才能下载最新的热更包,体验大马猴版本。
6.安卓改内注册
找到资源中补丁-安卓改内注册,将Reg.php文件替换到宝塔目录/www/wwwroot/alade/application/account/controller,赋予777权限即可。苹果客户端暂时不支持,只能链接页面进行注册。
7.优化GM工具
优化GM首先要操作上文中的CDK/GM功能,因为要用到数据库cdks。
找到资源中的大马猴补丁-优化GM工具,将gm.zip压缩文件上传到目录/www/wwwroot/alade/public。解压到该目录下并赋予777权限。修改/www/wwwroot/alade/public/gm/config/config.php配置文件,修改方法同上文中CDK/GM功能的config.php文件。
修改后,就可以操作CDK授权使用GM工具:
1、CDK生成链接:http://IP/gm/cdk
2、角色授权链接:http://IP/gm/pay
3、GM工具链接:http://IP/gm/gm
优化的GM工具界面更加炫酷,而且支持最新大马猴版本的所有物品。
8.优化启动程序
设置环境变量,打开宝塔/etc/profile文件,末尾添加内容:
执行命令:
将资源中补丁-优化启动程序中的文件qd上传到/root目录下,并赋予777权限。
执行命令:
9.游戏检测脚本
优化启动程序后,在宝塔计划任务中可以创建游戏检测脚本,当有服务断开后游戏会自动重启,注意启动该功能,脚本内容:
可以将上文中的后台自动重连脚本GameStatusProtect.js在pm2管理器中停止,避免冲突。
10.关于游戏架设
游戏中还是有很多BUG的,修复的BUG我会在我的博客中实时更新分享,这个架设教程我花了很长时间打磨(吐血…),因为自己也是新手。
架设难度还是有的,但只要按照教程步骤一步步来肯定是没有问题的,要有耐心,架设的快乐有时候正是架设的这个过程,过程越艰辛,等游戏运行成功的那一刻,你会成茅塞顿开信心满满,一个字,爽~
写在最后
曾经我也是奋战在阿拉德大陆挥洒青春汗水的一名勇士,虽然我玩的都是下水道职业,但从没有放弃,依旧乐此不疲的日复一日刷着图做着装备,整整大学四年DNF陪伴着我,还记得那时的DNF是75-85版本,在我心里是DNF最好玩的版本,我的角色和装备也还保留在那一刻,再也没上过游戏。
第一个职业是小召唤师月之女皇(时装是我精心搭配的),组队总是被人嫌弃,直到后来装备成型了,玩的暗爆流召唤师,输出恐怖,可以单带异界远古了才不被他人嫌弃,深渊爆了很多的史诗,即使自己不能带也不舍得分解,就一直留着,还收藏了好多珍惜的装备。