自上次架设了仙剑问情后,觉得对那类游戏无感,但是DNF可是童年时的回忆,所以打算也架设一个来玩一玩。一开始打算架设在甲骨文云上,奈何没有centos系统,于是拿出其中的一台DD,结果失联,删机后就再也开不到了,留下仅有的一台运行博客,然后架设在AWS-光帆上,但是经常内存和CPU爆满。
2022年9月8日编辑:现在又开到了甲骨文云,然后也有了波仔大神的在线重装centos的视频,安装了一波,打算再次架设私服
参考教程:
游戏介绍:
《阿拉德之怒》是众多山寨DNF手游里比较成功的了,因为树大招风种种原因,最终在2021年12月1日还是关服倒闭了。你们现在搜到的任何《阿拉德之怒》都是私服。
源码下载地址:
文件包含有游戏源码和所需的各种工具:
- SSH连接工具:Tabby(也可以用其他的)
- apktool(反编译工具)
- C32Asm(16进制查看修改工具)
- Notepad++(文本编辑器)
- MD5验证工具(查看文件MD5值)
服务端搭建:
1.首先重置好一台centos7服务器(这里第一次架设在AWS光帆上时用的Centos7,在甲骨文ARM机器上用的centos8),并分配固定IP,然后安装宝塔纯净版
yum install -y wget && wget -O install.sh http://v7.hostcli.com/install/install_6.0.sh && sh install.sh
2.使用宝塔面板部署下面环境:
- nginx1.20
- mysql 5.6
- php7.1(php安装 sg11、redis扩展)
- phpmyadmin4.4
- Redis 6.2.6
- PM2管理器5.2
这里我采用编译安装,速度较慢,但是应该能相对更加稳定。
Redis 6.2.6与PM2管理器5.2需要在宝塔面板
–软件商店
–运行环境第二页
即可找到;
然后在装好后的php7.1
扩展里安装好sg11
、redis
3.在宝塔面板-安全 里开启65535端口,并在ssh里删除服务器防火墙
systemctl stop firewalld
systemctl disable firewalld
4.上传上传cfald.zip
到服务器根目录(根目录不是root目录!!使用Tabby或其他工具上传数据,宝塔不能直接上传到根目录,可以先上传到其他目录再移动到根目录!!)
由于后期要对IP进行修改,这里可以先在本地解压,然后使用Notepad++之类的工具批量搜索替换,然后再打包上传,具体为把所有\home\root\pre-publish-new目录下的文件包含的IP为43.135.2.37
替换为你自己服务器的IP,一共有26处,如果这里不替换,也可以上传之后在宝塔里修改
5.在根目录进行解压,并赋予文件777权限
cd /
unzip cfald.zip
chmod -R 777 /home/
chmod -R 777 /root/qd
chmod -R 777 /www/wwwroot/game
6.环境配置
cd /usr/lib64/
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.21 libstdc++.so.6
ldconfig
7.修改linux
服务器的下的profile
文件:
- 具体路径在
/etc/profile
使用宝塔编辑即可,找到53
行添加以下参数: - 修改后记得保存。
export PATH="$PATH:/home/root/pre-publish-new/server_res/bin"
export PATH="$PATH:/home/root/pre-publish-new/server_res2/bin"
8.回到ssh重启profile
source /etc/profile
9在宝塔面板里把数据库root密码设置为west2.cn
10.在宝塔面板
–软件商店
–已安装
–MySQL 5.6
–配置修改
–删除所有内容
:
- 在本地找到我给大家准备的
数据库.txt
全选复制里面的内容,在配置修改
中全部粘贴,保存
重载配置重启数据库
11.修改数据库文件:
\home\sql\demoald.sql
第169
–170
行 两处:43.135.2.37
替换为自己的服务器IP
12.在ssh
输入命令导入数据库:
cd /home
./sk
数据库创建结束。可以通过宝塔查看是否创建成功。(数据库 – 点击 从服务器获取 获取到4个就正确的)
13.搭建网站:
- 新建一个网站,输入你的ip地址
- 网站目录设置
/www/wwwroot/game
- 运行目录
/public
- 关闭
防跨站攻击(open_basedir)
设置伪静态thinkPHP
重启PHP7.1
14.修改网站服务端内容:(如果上传之前已经修改过了,这里就不用改了)
- 用宝塔修改以下路径文件内的IP:
43.135.2.37
为你自己服务器IP
\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
\home\root\pre-publish-new\server_res2\UdpConnServer\UdpConnServer.cfg
\home\root\pre-publish-new\server_res2\AdminServer\NetAddress.xml
\home\root\pre-publish-new\server_res2\Config\UdpServer.xml
\home\root\pre-publish-new\server_res2\RelayServer\RelayServer.cfg
\home\root\pre-publish-new\server_res2\RelayServer\ServersAddress.xml
15.修改网站服务器端热更文件:
/www/wwwroot/game/public/assetnt/android/zip/1.39.1.239178/package-1.39.1.237578-1.39.1.239178.zip
/www/wwwroot/game/public/assetnt/ios/zip/1.39.1.239178/package-1.39.1.237578-1.39.1.239178.zip
- 下载以上两个
package-1.39.1.237578-1.39.1.239178.zip
热更压缩包至本地,建议逐个操作。 - 找到压缩包内的
environment_serverlist_xml.pck
文件单独解压。 - 使用
C32Asm
工具打开,选择16进制模式。 - 搜索
43.135.2.37//////
全部替换为自己服务器IP
后面跟上/
补齐17
位长度即可。 - 注意:
android
与ios
的热更都是搜索43.135.2.37//////
此流程操作完全一致。
- 修改好后保存,将
environment_serverlist_xml.pck
拖拽回package-1.39.1.237578-1.39.1.239178.zip
覆盖原有文件 - 上传回对应网站目录,同样覆盖原有文件。
- 传结束后 回到本地,打开
MD5验证工具
拖拽package-1.39.1.237578-1.39.1.239178.zip
查看各项数值:
如图复制这两项数值,修改宝塔当前路径下package-1.39.1.237578-1.39.1.239178.txt
里的对应值
- 保存即可,当前为
android
演示案例,IOS
修改方式也是一致,下载热更,修改ip,替换热更,读取MD5,写入MD5与文件大小。
16..宝塔面板内配置PM2管理器:
/home/root/pre-publish-new/server_res/gmald/src/app.js
/home/root/pre-publish-new/server_res2/gmald/src/app.js
- 添加
2
个项目,一行1
个,运行用户选择默认的www
,项目名不要重复。
相关注意事项:
PM2添加项目出错解决方法:更换Node版本
游戏总是掉线的解决办法:PM2添加的项目内存 加大
如果重启服务器后发现MP2项目列表被清空了,参考我写的这篇文章解决:https://west2.cn/2487.html
17.启动游戏服务
启动一区
cd /home/root/pre-publish-new/server_res && ./run.sh
启动二区
cd /home/root/pre-publish-new/server_res2 && ./run.sh
关闭一区
cd /home/root/pre-publish-new/server_res && ./stop.sh
关闭二区
cd /home/root/pre-publish-new/server_res2 && ./stop.sh
实测亚马逊光帆搭建成功,甲骨文ARM机器报错
./start_help2.sh:行33: ../bin/AdminServer: 无法执行二进制文件: 可执行文件格式错误
../bin/AdminServer start failed…
./start_help2.sh:行33: ../bin/RecordServer: 无法执行二进制文件: 可执行文件格式错误
../bin/RecordServer start failed…
./start_help2.sh:行33: ../bin/MatchServer: 无法执行二进制文件: 可执行文件格式错误
../bin/MatchServer start failed…
./start_help2.sh:行33: ../bin/WorldServer: 无法执行二进制文件: 可执行文件格式错误
../bin/WorldServer start failed…
./start_help2.sh:行33: ../bin/GateServer: 无法执行二进制文件: 可执行文件格式错误
../bin/GateServer start failed…
./start_help2.sh:行33: ../bin/SceneServer: 无法执行二进制文件: 可执行文件格式错误
../bin/SceneServer start failed…
./start_help2.sh:行33: ../bin/DungeonServer: 无法执行二进制文件: 可执行文件格式错误
../bin/DungeonServer start failed…
../bin/TCSRecordServer:行1: /home/root/pre-publish-new/server_res/bin/RecordServer: 无法执行二进制文件: 可执行文件格式错误
../bin/TCSRecordServer start failed…
./start_help2.sh:行33: ../bin/TeamCopyServer: 无法执行二进制文件: 可执行文件格式错误
../bin/TeamCopyServer start failed…
./start_help2.sh:行33: ../bin/UdpConnServer: 无法执行二进制文件: 可执行文件格式错误
../bin/UdpConnServer start failed…
./start_help2.sh:行33: ../bin/RelayServer: 无法执行二进制文件: 可执行文件格式错误
../bin/RelayServer start failed…
查看端口:
netstat -lntp
10001
18009
有这两个端口团本就启动成功了
到此,我们网站服务端就已经架设好了,接下来是android
与ios
的安装包反编译修改讲解,耐心看。
本文写于第二遍在ARM机器上搭建时,由于上面的步骤失败了,下面的直接引用原文,做个记录
客户端修改:
我们在反编译之前需要确定自己电脑是否配置好了JAVA JDK
环境,没配置的朋友先看完这篇文章:
学习JAVA JDK开发环境配置https://west2.cn/2492.html
安卓端修改:
1.这里先从安卓改起,打开apktool(反编译工具)
找到本地的阿拉德.apk
拖拽进去,选择反编译
如果反编译的过程中报错,说明JAVA JDK
环境没有配置好。
接下来找到以下6
个路径,修改文件内容中的地址
替换成自己IP地址
推荐使用Notepad++
assets\updateserver.json 搜索:rg.nt6p.com 替换为你自己服务器ip \smali\com\mgbase\net\Constant.smali 搜索:iossssss.nt6p.com 替换为你自己服务器ip \smali\com\mgpay\c\b.smali 搜索:iossssss.nt6p.com 替换为你自己服务器ip \smali\com\mgpay\net\b.smali 搜索:iossssss.nt6p.com 替换为你自己服务器ip \smali\com\mgpay\ui\f.smali 搜索:iossssss.nt6p.com 替换为你自己服务器ip \smali\com\mgpay\utils\o.smali 搜索:iossssss.nt6p.com 替换为你自己服务器ip PS:安卓客户端修改APP名字: \res\values\strings.xml
修改后记得保存。
2.把反编译导出的文件夹,拖拽进apktool(反编译工具)
进行回编译+签名
,过程比较久需要耐心等待,直至提示结束即可。
安卓端到此就结束了,我使用安卓模拟器安装并运行,以下是游戏截图:
成功进入创建角色
成功安装
运行内置成功注册账号
读取到公告和大区
成功进入创建角色
成功安装
1.苹果端修改:
注:网上没有人详细的演示苹果端的修改过程,但我会讲 看到这里的朋友们都是幸运的。
1.对比安卓要修改6
项文件,IOS只需要修改2
项文件,而且不需要反编译。首先找到本地的阿拉德.ipa
建议修改前先备份,使用你电脑的压缩软件打开它,你会发现阿拉德.ipa
就是个压缩包,我们需要找到以下路径文件,修改里头的指定内容即可。
Payload/test.app/test 搜索azzzzz.nt6p.com ip自己使用对位域名替换 Payload/test.app/data/raw/updateserver.json 修改rg.nt6p.com为自己的IP PS:苹果客户端修改APP名字: \Payload\test.app\Info.plist
修改需要单独把文件拖拽出来解压,使用Notepad++
修改后保存,再拖拽回压缩包里进行覆盖原文件。
2.打开PC版爱思助手
,在工具箱内,找到IPA签名
把我们刚刚修改后的阿拉德.ipa
拖拽进去进行签名,需要使用苹果ID登陆签名,过程有些慢,需要耐心等待。
签名成功后,回到爱思主界面
–我的设备
–应用游戏
-把签名成功的阿拉德.ipa
安装包拖进去就会安装至手机了,如图:
回到iphone上,我以IOS15系统为例:打开设置通用vpn与设备管理
给予开发者APP信任
就可以使用了。
注意:ios是无法在游戏内注册账号的,需要注册游戏账号请接着往下看GM后台说明。
IOS端的教程到此就结束了,运行游戏后的图就不发了,跟安卓一样,我在视频中会演示到。