阿拉德手游服务端Centos搭建教程
大家好我是艾西,又有几天没有更新文章了。这几天看了看还是有不少人对手游感兴趣,今天给大家分享一款早些年大火的pc游戏,现在也有手游了“阿拉德”。
你是否还记得DNF,一天你不小心救了赛丽亚,从此变成了拯救阿拉德大陆的勇士,从此开始冒险之旅。直到你毕业工作了,再无时间,再也听不到赛丽亚的那句:“你来啦!”。
是的,在掉线城与虚弱勇士中,你我都一样,因为在那片大陆上有爆出期待已久装备的开心,也有强碎武器装备的绝望,每一件装备,每一个技能,每一个地图,每一个NPC,每一个怪物,每一首音乐都是我们曾经的青春...
架设准备工作:
服务器一台(centos7.x版本以上即可)
阿拉德服务端、客户端
远程工具Finalshell
Notepad++
ApkToolAid(反编译工具安卓签名)(运行这个软件需要jdk环境自己自行安装)
注:服务器与宝塔把tcp和udp端口全部开启,如果不懂怎么操作找服务器供应商!
防火墙全部关闭
安装宝塔及环境 (文章中http即为xxxx,https即为xxxxx,com即为zzz)
宝塔是一个服务器运维管理软件,安装命令:yum install -y wget && wget -O install.sh xxxx://download.bt.cn/install/install_6.0.sh && sh install.sh 1ba5f33df全选代码
安装完后,按照提示信息登录宝塔安装以下软件
- web服务器:Nginx1.20
2、数据库:Mysql 5.6
3、扩展:Redis 6.2.6
4、编程语言:PHP 7.1(Redis、sg11在此软件安装扩展)
5、数据库管理工具:phpMyAdmin 5.1
6、进程管理器:PM2管理器 5.2 (在宝塔面板手动搜索下载)
7、扩展:sg11
安装完后,还需安装PHP 7.1的扩展redis和sg11。
需注意的是,此游戏涉及到的软件和环境多且版本特殊,建议不要和其他游戏共用一个服务器
上传服务端
将服务端alade.zip压缩文件上传到服务器里
修改客户端
将服务端的IP替换成你自己的服务器IP,这里需要用到软件Notepad++(代码编辑器)
安卓:改222xxx..xxx.xxx位数不够在 :81后面补正斜杠“/”位数超出用同位数域名代替!
assets/updateserver. json
assets/bin/Dat a/Mlanaged/Met adata/ global -metadata. dat
苹果:改“222xxx..xxx.xxx”位数不够在:81后面补正斜杠“/”位数超出用同位数域名代替!
\Payl oad\test. app\Data\Raw\updateserver. json
\Payload\test. app \Data' \Managed\Metadata\global -metadata. dat
实操教程操作:打开客户端找到updateserver. json文件右键以Notepad++打开,将里面的IP改为你自己的服务器IP然后保存 将我们修改好的文件放入客户端替换掉原文件
修改第二个文件global -metadata. dat右键以Notepad++打开还是一样的把原IP改为你自己的服务器IP即可然后保存 将我们修改好的文件放入客户端替换掉原文件
下一步把ios的文件也修改一下跟安卓的是一样的操作步骤,最后将改好的文件丢进客户端
唯一不同需要注意的是安卓的为apk文件,苹果的为ipa文件。文件编辑器并不是只有Notepad++用其他的编辑器也是可以的比如:MetaDataStringEditor
注:替换IP时每个IP段有位数的不同,举例103.219.20.233和103.219.30.23相差一位数,在我们替换IP时Notepad++直接替换可能会出现数位不够的情况那么只需要用/补位就行,适合熟手操作,而MetaDataStringEditor字符串编辑器就是直接单个查找替换的不会出现少位或多多位的情况,这里大家根据自己的习惯去操作就行了。
现在我们将安卓的apk文件进行反编译签名,直接选中文件拖过去就行。点击签名保存到桌面
当签名显示完时间那就完成了(显示用时0秒的话检查自己有没有安装JDK环境)
现在回到Finalshell界面将上传好的手工端解压输入命令:
cd /
tar zxvf ald. tar.gz
给予77权限
Chmod- R 777 /root/
Chmod -R 777 /www/wwwroot/
环境配置
添加libmysqlclient. so软链接 输入命令:
ln -s /www/server /mysql /lib/libmysqlclient. so /usr/1ib64/libmysqlclient. so
ldconfigl 回车
安装gcc5. 2环境输入命令:
cd /root
wget - no-check- -certificate xxxxs://copr. fedoraproject. org/ coprs/hhorak/ devtoolset-4- rebuild- bootstrap/ repo/ epel- 6/ hhorak- devtoolset -4- rebuild- bootstrap-epel-6.repo -O /etc/yum.repos.d/devtoolset-4.repo
依次输入一下命令:
yum install compat -libgmp-4.3.1 -1.s17. x86_ 64. rpm -y
yum install compat -libmpfr-2.4.1 -1.s17. x86_ 64. rpm -y
yum install devtoolset-4 -gcc devtoolset -4- gcc-c++ devtoolset-4 -binutils- y
scl enable devtoolset-4 bash
以上全部加载完后,在我们的root目录找到.bashrc文件,如果找不到可以刷新一下
右键.bashrc文件以Notepad++程序打开将source/opt /rh/ devtool set -4/ enable
复制到文件里点击保存就行。(宝塔里面也是一样的可以改看人习惯操作方式一样的)
导入数据库
宝塔设置数据库root密码为xxxx(按自己喜好来)
宝塔---数据库----Mysql---root密码---设置即可
--
然后在软件商店中设置Mysql,配置修改为资源中数据库配置.txt中的内容,全部替换掉后,在重载配置和重启Mysql。
修改数据库.将原端内的IP修改掉
\root sql demoald. sql的IP
\root \sql \ald_ web. sql的IP
将这两个文件内的IP全部替换成你自己服务器IP然后保存
导入数据库输入命令
cd /root
./sk
有没有导入完成可以直接在宝塔数据库选项直接查看到如下图
创建网站
添加站点,域名写你的IP(有域名的直接填入域名就好)端口填入81
根目录/www/wwwroot/alade,PHP选择7.1
再次设置该网站,网站目录中关闭防跨站,运行目录设置为public。
伪静态使用thinkphp
这样的话我们网站的搭建设置就完成了
修改服务端IP地址全部改为你自己的服务器IP地址即可
/root /platform/Config/UdpServer. xml
/root/platforn/CenterServer /CenterServer. cfg
/root/platform/RelayServer /RelayServer. cfg
/root/platform/RelayServer1 /RelayServer. cfg
/root/platform/UdpConnServer /UdpConnServer. cfg
/root/platform/UdpConnServer1 /UdpConnServer. cfg
/root/s1/AdminServer / AdminServer. cfg
/root/s1/AdminServer /NetAddress. xml
/root/s1 /Config/UdpServer. Xml
可以直接在图中此处位置直接将我们需要修改的文件路径输入进去这样会方便很多
然后宝塔配置pm2管理器,在软件商店查好我们安装好的PM2管理器,将版本切换到16以上,然后点击项目列表选择启动文件即可
游戏总是掉线的解决办法:
PM2上图中的内存上限去修改,根据自己的服务器配置去调整1024M=1G
所以服务器配置还是很重要的,不然很多东西容易被限制
启动游戏
启动platform服务
cd /root platform
./run. sh
启动一区
cd /root/s1
. /run. sh .
关闭游戏
关闭platform服务
cd /root/platform
. /stop. sh
关闭一区
cd /root/s1
. /stop. sh
启动后可以通过
瑞口查看命令netstat -1ntp
安装客户端将我们之前反编译的安卓apk文件拖进模拟器进行测试游戏在网页注册账号
注册账号
邀请码: 可自行设置
外部注册地址:
xxxx://IP :81/game/Login/GL?d1=(数据库密码地址)
总后台:
xxxx://ip:81/admin/Login. html
账号:123(自行设置)
密码: 123(自行设置)
GM授权物品后台:
xxxx://ip:81/ gmht/gm. Php
(我想这个后台估计是所有人玩游戏最想要的东西吧hhhh~)
GM码:可自行设置
玩家后台:
xxxx://ip:81/gmht
将我们注册的账号输入进去开始游戏了
今天的分享就到这里啦我是艾西我们下期见!
多学习多练习有时候眼睛会了脑子不一定会,拥有一台服务器可以做很多有趣的事!
附资仅供参考: 苹果签名
苹果签名是爱思助手:xxxxs://zzz.i4.cn/
在爱思助手工具中搜索IPA,找到IPA签名,选择阿拉德.ipa文件,填写自己的苹果账号,即可进行签名。
签名后就可以成功安装到自己的苹果手机中,需要在手机设置-通用-设备管理中信任该软件才可启动,苹果手机上运行要比安卓流畅的多,地图切换不再卡顿,唯一遗憾的是签名有效期只有7天,每周都得进行一次签名,如果麻烦可以找长期签名(自己去找签名商)
修改总后台账号密码
修改总后台用户名需要修改两个文件:
www/wwwroot/alade/application/admin/controller/Login.php
www/wwwroot/alade/application/common/controller/Admin.php
将所有alade123改成你的账号名,总后台的登录没有验证数据库的账号名,而是在后台文件中进行了验证。以Login.php为例:
登录总后台后,点击右上角admin,选择修改密码就可以更改密码了。
功能配置
首先在资源中找到补丁-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。
后台自动重连
如果后台服务断开,我们需要重新启动游戏命令,这样比较麻烦,可以使用脚本的方式。
找到资源补丁中自动重连补丁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,其他自动生成,随便填写个项目名称即可。
脚本原理就是监听服务端的端口,当端口没有开启时则会进行重启操作。
优化启动程序
设置环境变量,打开宝塔/etc/profile文件,末尾添加内容:
export PATH="$PATH:/home/root/pre-publish-new/server_res/bin"
执行命令:
source /etc/profile
将资源中补丁-优化启动程序中的文件qd上传到/root目录下,并赋予777权限。
执行命令:
cd /root
./qd
回复对应数字,即可执行命令
游戏检测脚本
优化启动程序后,在宝塔计划任务中可以创建游戏检测脚本,当有服务断开后游戏会自动重启,注意启动该功能,脚本内容:
cd /root
./qd check 9027 7377 5030 5050 5060
可以将上文中的后台自动重连脚本GameStatusProtect.js在pm2管理器中停止,避免冲突。