阿拉德教程

阿拉德之怒截图:

安卓模拟器:

苹果手机:

GM 工具:

架设

1. 架设条件

阿拉德之怒架设需要准备:

  1. linux 服务器,建议 CentOs 7.6 版本,推荐轻量应用服务器,性价比高。
  2. 游戏源码,关注我的公众号 echeverra,发送 “阿拉德之怒” 获取。

2. 安装宝塔及环境

宝塔是一个服务器运维管理软件,安装命令:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

 

 

 

安装完后,按照提示信息登录宝塔(如果无法访问可能是由于服务器没有开放 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 权限:

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 我会在我的博客中实时更新分享,这个架设教程我花了很长时间打磨(吐血...),因为自己也是新手。

架设难度还是有的,但只要按照教程步骤一步步来肯定是没有问题的,要有耐心,架设的快乐有时候正是架设的这个过程,过程越艰辛,等游戏运行成功的那一刻,你会成茅塞顿开信心满满,一个字,爽~

阿拉德教程
http://blog.eth168.com/index.php/archives/374/
本文作者 浪客剑心
发布时间 2023-01-15
许可协议 CC BY-NC-SA 4.0
发表新评论