仙梦奇缘游戏详细图文架设教程

2023-10-08 16:10

本文主要是介绍仙梦奇缘游戏详细图文架设教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

最近我发现了一款非常不错的仙侠手游,安卓苹果双客户端,双区可跨服,画面非常精美,玩法超级丰富,而且 BUG 很少,不出意外我会长期开服,它就是仙梦奇缘~

本文讲解仙梦奇缘手游架设教程,相信这款仙侠手游绝对让你爱不释手,游戏长期维护,欢迎来玩~ 游戏客户端和源码下载请关注我的公众号 echeverra 回复“仙梦奇缘”下载。后台 GM 回复“仙梦奇缘GM”获取。

同样推荐另外几款我架设的H5游戏:H5游戏整理汇总,欢迎来玩耍~

游戏截图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-whJ1SmCw-1689210284317)(https://echeverra.cn/wp-content/static/article-img/xmqy/20230712141505.jpg)]

架设

1. 架设条件

仙梦奇缘架设需要准备:

  1. linux服务器,建议CentOs 7.6版本,推荐轻量应用服务器,性价比高。
  2. 游戏源码,关注我的公众号 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端口,参考步骤开放端口),并在宝塔软件商店中搜索以下软件安装:

  1. web服务器:Nginx1.18
  2. 数据库:Mysql 5.6
  3. 编程语言:PHP 5.6
  4. 数据库管理工具: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。

  1. /home/xmqy/cross/debug/commonconfig.xml
  2. /home/xmqy/cross/debug/serverconfig.xml
  3. /home/xmqy/s1/debug/commonconfig.xml
  4. /home/xmqy/s1/debug/serverconfig.xml
  5. /home/xmqy/s2/debug/commonconfig.xml
  6. /home/xmqy/s2/debug/serverconfig.xml
  7. /www/wwwroot/xmqy/api/getserverand003.php
  8. /www/wwwroot/xmqy/gm/user/config.php

以第一个 commonconfig.xml 文件为例,在宝塔中找到文件,双击修改,Ctrl+F 批量替换 IP。

8. 修改热更包

接下来还需要改双端的热更包文件 IP,注意需要指定位数!可以通过补0或者域名的方式实现。

8.1 安卓热更包

安卓热更包 IP 修改:

  1. /www/wwwroot/xmqy/ugxm_dev/Android/AssetBundle/LuaAssetBundle/luajit/agent
  2. /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 修改:

  1. /www/wwwroot/xmqy/ugxm_dev/IOS/AssetBundle/LuaAssetBundle/lua/init
  2. /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 端口,还会占用 224901110x2000x 的端口,内存大概会占用 2.8G 左右。

12. 安卓客户端

12.1 修改IP

在资源客户端中找到仙梦奇缘.apk,使用360压缩软件打开,找到下面两个文件:

  1. \assets\AssetBundle\LuaAssetBundle\luajit\agent-a68dcd5d9e7bbf3ec0d5cddb447e1d62
  2. \assets\AssetBundle\LuaAssetBundle\luajit\init-7dd731f043e936ebdced7cf6fca7d0d3

使用 Notepad++ 打开,将 192.168.001.01 替换为你的 14 位 IP 或域名,如何修改补位成 14 位请参考上文热更包修改。

修改好后保存,会提示是否更新到压缩包中,选择确定,最后看下修改文件的日期是否是最新的,已确保修改成功了。

12.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压缩软件打开,找到下面两个文件:

  1. \Payload\g16.app\Data\Raw\AssetBundle\LuaAssetBundle\lua\agent-b025dbd1cc67c7d11690d11994861da7
  2. \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 ];thencd /home/xmqy/cross/debug/./start.shcd /home/xmqy/s1/debug/./start.shcd /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,一起学习进步!不定时会有资源和福利相送哦!


这篇关于仙梦奇缘游戏详细图文架设教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/166480

相关文章

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地

在macOS上安装jenv管理JDK版本的详细步骤

《在macOS上安装jenv管理JDK版本的详细步骤》jEnv是一个命令行工具,正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友,:本文主要介绍在macOS上安装... 目录前言安装 jenv添加 JDK 版本到 jenv切换 JDK 版本总结前言China编程在开发 Java

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

电脑提示d3dx11_43.dll缺失怎么办? DLL文件丢失的多种修复教程

《电脑提示d3dx11_43.dll缺失怎么办?DLL文件丢失的多种修复教程》在使用电脑玩游戏或运行某些图形处理软件时,有时会遇到系统提示“d3dx11_43.dll缺失”的错误,下面我们就来分享超... 在计算机使用过程中,我们可能会遇到一些错误提示,其中之一就是缺失某个dll文件。其中,d3dx11_4

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window

游戏闪退弹窗提示找不到storm.dll文件怎么办? Stormdll文件损坏修复技巧

《游戏闪退弹窗提示找不到storm.dll文件怎么办?Stormdll文件损坏修复技巧》DLL文件丢失或损坏会导致软件无法正常运行,例如我们在电脑上运行软件或游戏时会得到以下提示:storm.dll... 很多玩家在打开游戏时,突然弹出“找不到storm.dll文件”的提示框,随后游戏直接闪退,这通常是由于

如何在Java Spring实现异步执行(详细篇)

《如何在JavaSpring实现异步执行(详细篇)》Spring框架通过@Async、Executor等实现异步执行,提升系统性能与响应速度,支持自定义线程池管理并发,本文给大家介绍如何在Sprin... 目录前言1. 使用 @Async 实现异步执行1.1 启用异步执行支持1.2 创建异步方法1.3 调用