阿拉德教程
阿拉德之怒截图:
安卓模拟器:
苹果手机:
GM 工具:
架设
1. 架设条件
阿拉德之怒架设需要准备:
- linux 服务器,建议 CentOs 7.6 版本,推荐轻量应用服务器,性价比高。
- 游戏源码,关注我的公众号 echeverra,发送 “阿拉德之怒” 获取。
2. 安装宝塔及环境
宝塔是一个服务器运维管理软件,安装命令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
安装完后,按照提示信息登录宝塔(如果无法访问可能是由于服务器没有开放 8888 端口,参考步骤开放端口),并在宝塔软件商店中搜索以下软件安装:
- web 服务器:Nginx1.20
- 数据库:Mysql 10.2
- 数据库:Redis 6.2.6
- 编程语言:PHP 7.1
- 数据库管理工具:phpMyAdmin 4.4
- 进程管理器:PM2 管理器 5.2
安装完后,还需安装 PHP 7.1 的扩展 redis 和 sg11。
需注意的是,此游戏涉及到的软件和环境多且版本特殊,建议不要和其他游戏共用一个服务器,出错失败的概率会很大,额,说的就是刚踩坑的我,服务器配置最低 4G 内存,2G 内存很容易断开服务。
3. 开放端口
我们直接开放所有端口 1-65535,阿里云服务器在安全组中配置规则。
腾讯云轻量应用服务器在防火墙中配置规则。
然后在宝塔菜单安全中开放所有端口。
如果对安全性有要求,可以单独开放需要开放的端口,方法同上。
4. 上传源码
拿到源码后,将服务端 alade.zip
压缩文件通过宝塔上传到根目录(如果宝塔禁止上传到根目录,可上传其他路径后剪切粘贴到根目录)。
上传成功后解压到根目录。
解压完成后,通过宝塔菜单终端,命令授予 777 权限:
chmod -R 777 /www/wwwroot/alade
chmod -R 777 /home/root
chmod -R 777 /home/sql
chmod 777 /home/sk
配置环境:
cd /usr/lib64/
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.21 libstdc++.so.6
ldconfig
修改 etc/profile
文件,在最后添加环境变量信息:
export PATH="$PATH:/home/root/pre-publish-new/server_res/bin"
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 成功后,命令导入数据库。
cd /home
./sk
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. 启动游戏后台
经过一番三下五除二的操作,终于到了启动游戏后台的时候,命令:
cd /home/root/pre-publish-new/server_res
./run.sh
有一个报错,可无视,查看端口占用情况,命令:
netstat -lntp
当然启动游戏后还无法立马进入游戏,我们还需要修改客户端。
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. 停止游戏后台
如果想停止游戏后台服务,执行后台命令即可:
cd /home/root/pre-publish-new/server_res
./stop.sh
后续
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 功能应该就可以正常使用了。
团本启动命令:
cd /home/root/pre-publish-new/server_res/TCSRecordServer
./TCSRecordServer
cd /home/root/pre-publish-new/server_res/TeamCopyServer
./TeamCopyServer
团本设置可单人进入,修改 /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 工具:
- CDK 生成链接:
http://IP/gm/cdk
- 角色授权链接:
http://IP/gm/pay
- GM 工具链接:
http://IP/gm/gm
优化的 GM 工具界面更加炫酷,而且支持最新大马猴版本的所有物品。
8. 优化启动程序
设置环境变量,打开宝塔 /etc/profile
文件,末尾添加内容:
export PATH="$PATH:/home/root/pre-publish-new/server_res/bin"
执行命令:
source /etc/profile
将资源中补丁-优化启动程序
中的文件 qd
上传到 /root
目录下,并赋予 777 权限。
执行命令:
cd /root
./qd
回复对应数字,即可执行命令,是不是很方便。
9. 游戏检测脚本
优化启动程序后,在宝塔计划任务中可以创建游戏检测脚本,当有服务断开后游戏会自动重启,注意启动该功能,脚本内容:
cd /root
./qd check 90277377503050505060
可以将上文中的后台自动重连脚本 GameStatusProtect.js
在 pm2 管理器中停止,避免冲突。
10. 关于游戏架设
游戏中还是有很多 BUG 的,修复的 BUG 我会在我的博客中实时更新分享,这个架设教程我花了很长时间打磨(吐血...),因为自己也是新手。
架设难度还是有的,但只要按照教程步骤一步步来肯定是没有问题的,要有耐心,架设的快乐有时候正是架设的这个过程,过程越艰辛,等游戏运行成功的那一刻,你会成茅塞顿开信心满满,一个字,爽~