前言
最近我发现了一款非常不错的仙侠手游,安卓苹果双客户端,双区可跨服,画面非常精美,玩法超级丰富,而且 BUG 很少,不出意外我会长期开服,它就是仙梦奇缘~
本文讲解仙梦奇缘手游架设教程,相信这款仙侠手游绝对让你爱不释手,游戏长期维护,欢迎来玩~ 游戏客户端和源码下载请关注我的公众号 echeverra 回复“仙梦奇缘”下载。后台 GM 回复“仙梦奇缘GM”获取。
同样推荐另外几款我架设的H5游戏:H5游戏整理汇总,欢迎来玩耍~
游戏截图:
架设
1. 架设条件
仙梦奇缘架设需要准备:
- linux服务器,建议CentOs 7.6版本,推荐轻量应用服务器,性价比高。
- 游戏源码,关注我的公众号 echeverra,发送 “仙梦奇缘” 获取。
服务器推荐 2H4G 配置,游戏运行会占用 2.8G 左右的内存。
2. 安装宝塔及环境
宝塔是一个服务器运维管理软件,安装命令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
安装完后,按照提示信息登录宝塔(如果无法访问可能是由于服务器没有开放8888端口,参考步骤开放端口),并在宝塔软件商店中搜索以下软件安装:
- web服务器:Nginx1.18
- 数据库:Mysql 5.6
- 编程语言:PHP 5.6
- 数据库管理工具:phpMyAdmin 4.4
3. 关闭防火墙
通过宝塔菜单终端,执行关闭防火墙命令:
systemctl stop firewalld.service
systemctl disable firewalld.service
4. 开放端口
我们直接开放所有端口1-65535,阿里云服务器在安全组中配置规则。
腾讯云服务器在防火墙中配置规则。
然后在宝塔菜单安全中开放所有端口。
5. 上传源码
拿到源码后,将服务端目录下的 xmqy.tar.gz
压缩文件通过宝塔上传到根目录(如果宝塔禁止上传到根目录,可上传其他路径后剪切粘贴到根目录)。
上传成功后终端命令进行解压。
cd /
tar zxvf xmqy.tar.gz
解压完成后,命令授予777权限:
chmod -R 777 /www/wwwroot/xmqy
chmod -R 777 /home/sql
chmod -R 777 /home/xmqy
chmod 777 /home/sk
6. 配置环境
安装 gcc 动态库:
yum install gcc -y
yum install gcc-c++ -y
yum install glibc* -y
ldconfig
7. 修改源码IP
源码中的 IP(192.168.1.1),需要替换成你自己的服务器 IP。
- /home/xmqy/cross/debug/commonconfig.xml
- /home/xmqy/cross/debug/serverconfig.xml
- /home/xmqy/s1/debug/commonconfig.xml
- /home/xmqy/s1/debug/serverconfig.xml
- /home/xmqy/s2/debug/commonconfig.xml
- /home/xmqy/s2/debug/serverconfig.xml
- /www/wwwroot/xmqy/api/getserverand003.php
- /www/wwwroot/xmqy/gm/user/config.php
以第一个 commonconfig.xml
文件为例,在宝塔中找到文件,双击修改,Ctrl+F 批量替换 IP。
8. 修改热更包
接下来还需要改双端的热更包文件 IP,注意需要指定位数!可以通过补0或者域名的方式实现。
8.1 安卓热更包
安卓热更包 IP 修改:
- /www/wwwroot/xmqy/ugxm_dev/Android/AssetBundle/LuaAssetBundle/luajit/agent
- /www/wwwroot/xmqy/ugxm_dev/Android/AssetBundle/LuaAssetBundle/luajit/init
两个文件都需要将 IP (192.168.01.001) 替换成你的 14 位IP。
假如你的IP是 123.123.12.12,可以数下一共 13 位,那么就需要补一个 0,也就是 123.123.12.012,补成 14 位 IP,如果你的 IP 是 123.123.123.123 一共 15 位,那么很不幸,你只能用 14 位域名替换了。
以上两个文件无法在宝塔中直接打开,可以先下载到本地用 Notepad++ 打开,修改好后,上传覆盖。
8.2 苹果热更包
IOS 热更包 IP 修改:
- /www/wwwroot/xmqy/ugxm_dev/IOS/AssetBundle/LuaAssetBundle/lua/init
- /www/wwwroot/xmqy/ugxm_dev/IOS/AssetBundle/LuaAssetBundle/lua/agent
网上基本所有的仙梦奇缘教程 IOS 热更包修改文件都是.../LuaAssetBundle/luajit/init
,这是错的!所以最终 IOS 端都没有成功。
同样需要替换 IP (192.168.01.001),注意是第一个 init
文件需要替换 15 位 IP,第二个文件 agent
替换成 14 位 IP,修改方法同安卓热更包。
9. 导入数据库
宝塔数据库菜单中修改root密码为123456
。
在宝塔软件商店 MySQL 5.6 设置配置修改中第 26 行添加:
lower_case_table_names=1
修改完后重启 Mysql。
通过命令导入数据库:
cd /home
./sk
再手动导入数据库 cross
,在宝塔数据库中先创建数据库 cross
。
上传本地数据库 cross.sql
,选择导入。
10. 创建网站
在宝塔网站中添加站点,域名填写 IP:9981
,目录设置为 \www\wwwroot\xmqy
,PHP 版本选择 5.6。
添加完站点还需设置伪静态:
location /api/ {
rewrite /(.*)getserverand003/$ /api/getserverand003.php;
rewrite /(.*)verify/$ /api/verify.php;
}
11. 启动游戏服务
经过一番三下五除二的操作,终于可以启动游戏服务啦,命令:
cd /home/xmqy/cross/debug/
./start.sh
cd /home/xmqy/s1/debug/
./start.sh
cd /home/xmqy/s2/debug/
./start.sh
查看下端口占用情况:
netstat -lntp
除了网站占用的 9981
端口,还会占用 22490
、1110x
和 2000x
的端口,内存大概会占用 2.8G 左右。
11. 安卓客户端
11.1 修改IP
在资源客户端中找到仙梦奇缘.apk
,使用360压缩软件打开,找到下面两个文件:
- \assets\AssetBundle\LuaAssetBundle\luajit\agent-a68dcd5d9e7bbf3ec0d5cddb447e1d62
- \assets\AssetBundle\LuaAssetBundle\luajit\init-7dd731f043e936ebdced7cf6fca7d0d3
使用 Notepad++ 打开,将 192.168.001.01
替换为你的 14 位 IP 或域名,如何修改补位成 14 位请参考上文热更包修改。
修改好后保存,会提示是否更新到压缩包中,选择确定,最后看下修改文件的日期是否是最新的,已确保修改成功了。
11.2 签名
签名需要JAVA环境,可以通过 https://www.java.com/zh-CN/download/ 下载安装。
安装好JAVA环境后,找到资源中的签名工具 ApkTool,将修改好后的 APK 文件拖到工具路径中,点击签名,过程中提示获取版本号失败可无视,不会影响最终签名。
12.3 模拟器测试
我使用的是夜神模拟器,感觉体验好些,下载链接:https://www.yeshen.com/。
启动模拟器后,直接将apk拖进模拟器中就可以安装。安装好后,启动游戏。
出现下载文件界面,说明热更包配置是成功的。
加载完资源,输入用户名和密码,点击登录即可进入游戏,Nice~
13. 苹果客户端
13.1 修改IP
在资源客户端中找到仙梦奇缘.ipa
,使用360压缩软件打开,找到下面两个文件:
- \Payload\g16.app\Data\Raw\AssetBundle\LuaAssetBundle\lua\agent-b025dbd1cc67c7d11690d11994861da7
- \Payload\g16.app\Data\Raw\AssetBundle\LuaAssetBundle\lua\init-f5f6eabcb1c1d491a59b87a7f5fccd1b
使用 Notepad++ 打开,同样将 192.168.001.01
替换为你的 14 位 IP 或域名。
13.1 签名
苹果签名我使用的是爱思助手:https://www.i4.cn/。
在爱思助手工具中搜索IPA,找到IPA签名,选择仙梦奇缘.ipa
文件,填写自己的苹果账号,即可进行签名。
签名后就可以成功安装到自己的苹果手机中,需要在手机设置-通用-设备管理中信任该软件才可启动,签名有效期只有7天,每周都得进行一次签名,如果麻烦可以找长期签名,当然也不便宜。
14. 游戏后台
游戏后台 GM 授权链接:http://IP:9981/gm/gm.php
,可进行充值、物品发送、添加取消授权等、修改授权密码等功能,修改 /www/wwwroot/xmqy/gm/user/config.php
文件中 $gmcode
字段可设置 GM 码。
玩家 GM 后台链接:http://IP:9981/gm
。
运营后台地址:http://IP:9981/admin/admintool
,默认用户名和密码都是 admin
。
15. 关闭游戏服务
停止游戏后台服务,执行命令:
cd /home/xmqy/cross/debug/
./stop.sh
cd /home/xmqy/s1/debug/
./stop.sh
cd /home/xmqy/s2/debug/
./stop.sh
后续
游戏BUG
仙梦奇缘这款游戏我玩了一段时间,最大的 BUG 是 IOS 端关闭聊天会闪退,后来我发现了一款仙梦传奇换皮的手游上古传说,用那个IOS APP测试不会闪退,经过一系列互换 IP 测试,可以断定是仙梦服务端数据传输异常造成额 IOS 客户端闪退,无奈自己能力有限,就暂时先不解决啦。
其他的一些小问题基本都是 IOS 端,如换头像闪退一些无关紧要的小 BUG。Android 端并未发现 BUG。
游戏优化
游戏我主要优化了下后台 GM,全物品文件近 400KB,所以后台打开物品列表就要 5 秒钟,实在让人抓狂,所以我对物品进行了精简,并分成了装备和道具两个文件,分别只有 100KB 左右,打开速度快了很多,体验满分~
同时对于之前游戏玩家经常反馈背包满的问题,我又增加了清理背包和清理邮件功能,测试没问题~
以上优化改动可在资源中找到 gm.zip
文件,上传到 /www/wwwroot/xmqy/
目录下,删除原 gm
目录,解压 gm.zip
到当前目录,并授予 777 权限即可。
游戏监控
游戏如果端口异常服务中断,可以在宝塔计划任务中添加监听脚本。
#!/bin/sh
XYTCPListeningnum=`netstat -an | egrep "0.0.0.0:11100" | awk '$1 == "tcp"'|wc -l`
echo $XYTCPListeningnum
if [ $XYTCPListeningnum -eq 0 ];
then
cd /home/xmqy/cross/debug/
./start.sh
cd /home/xmqy/s1/debug/
./start.sh
cd /home/xmqy/s2/debug/
./start.sh
fi
游戏运行后,产生的 log 也比较大,对于服务器硬盘较小的不是很友好,我们同样可以通过宝塔计划任务定期清理日志文件。
rm -f /home/xmqy/cross/debug/log/*
rm -f /home/xmqy/s1/debug/log/*
rm -f /home/xmqy/s2/debug/log/*
游戏评价
这款游戏玩法功能真的是超级丰富,很耐玩,我玩了一段时间也只是点满了部分功能属性。
游戏的剧情也不错,画面很仙侠,各种时装、宠物、翅膀应有尽有,还能御剑腾云驾雾,具体的大家进游戏体验吧~
虽然功能玩法多,但是客户端仅有 400 多MB,这和那些动辄 1、2G 的客户端好太多了,而且热更包文件也不大,Android 端热更文件 22.3 MB,大概 2 分钟下载完成,IOS 端热更文件 16.9 MB,大概 5 分钟下载完成。
碎碎念
最近可能有些迷茫,不知道写图文教程、架设游戏发布为了什么?是的,网上有很多更直观的视频教程,我也没有从中盈利,反而在游戏测试、写文、架设、维护、授权等事情上花费了很多的时间,从公众号粉丝过万后我也变得没那么有激情了,自己的博客主题开发也停滞了。
也许我应该在编程技术上花费更多的时间了,对工作及时总结输出,毕竟提升技术实力才是硬道理。
至于游戏,随缘吧,就当是一种放松娱乐,我只研究我感兴趣的游戏,不会去附和谁,就碎碎念到此吧,希望我的游戏也能给你带来些许的开心,这样我也会很欣慰的~
好啦,以上就是仙梦奇缘架设教程的所有内容,希望对你有所帮助,如有问题可通过我的博客 https://echeverra.cn 或微信公众号 echeverra 联系我。
你学“废”了么?
(完)
文章首发于我的博客 https://echeverra.cn/xmqy,原创文章,转载请注明出处。
欢迎关注我的微信公众号 echeverra,一起学习进步!不定时会有资源和福利相送哦!