想体验经典Q版西游霸服快乐吗?想体验满级VIP的尊贵吗?想体验一招秒杀的爽快吗?各种极品装备、翅膀、宠物通通给你,就在梦幻西游!
本文讲解梦幻西游H5游戏的架设教程,想研究H5游戏如何实现,体验游戏中秒天秒地秒空气的一定不要错过。
梦幻西游游戏截图:
梦幻西游架设需要准备:
宝塔是一个服务器运维管理软件,安装命令:
拿到源码后解压会得到sql和xyh5两个文件,将xyh5压缩文件通过宝塔上传到根目录(如果宝塔禁止上传到根目录,可上传其他路径后剪切粘贴到根目录)。
上传成功后解压到根目录
解压完成后,通过命令授予777权限
chmod-R777/home/serverchmod-R777/www/wwwroot/xy安装lua脚本
yuminstallreadline-devreadline-develunzip安装模块管理工具luarocks
cd/home/softtar-zxvfluarocks-3.0.4.tar.gzcdluarocks-3.0.4/./configure--with-lua=/usr/local--with-lua-include=/usr/local/includemake&&makeinstall&&makebootstrapluarocksinstallluasocket4.导入数据库通过宝塔修改数据库root密码:echeverra(涉及到安全问题,建议修改成自己的密码,对应源码中的echeverra也需替换成自己的密码,推荐使用webstorm或vscodeIDE全局搜索并替换)。
开放数据库远程权限:
mysql-uroot-pecheverraGRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'echeverra'WITHGRANTOPTION;FLUSHPRIVILEGES;quit创建以下数据库:
其中operationanalysisserver名称过长,在宝塔界面会创建数据库失败,可以在phpMyadmin中创建。
建议所有数据库都按照字符集UTF-8,排序规则utf8_unicode_ci创建,否则会出现游戏创建角色失败的错误。
上传sql文件夹下的数据库文件并导入,以account为例(用户名密码默认即可,代码中使用root账户)。
需要开放的端口:
服务器开放端口,以阿里云开放10001端口为例,其他端口按照同样方式添加,其他服务器也在安全里设置。
宝塔开放端口,同样以10001端口为例:
如果不开放端口,服务会无法访问,如果对安全没什么要求,可以直接开放1-65535端口。
源码中的IP是我自己虚拟机的,需要替换成你自己的服务器IP。
需要修改IP的文件:
/www/wwwroot/xy/cdn/preload.js/www/wwwroot/xy/cdn/index.min.html/www/wwwroot/xy/cdn/serverlist.php/www/wwwroot/xy/cdn/serverlist.json举例修改preload.js文件,其他文件修改方式相同。
找到preload.js双击打开编辑模式,按Ctrl+F搜索39.105.134.68,找到后替换成你的服务器IP并保存。
添加游戏网站才能访问游戏,网站域名写你的IP,根目录为/www/wwwroot/xy/,PHP选择5.6版本。
以上都执行完毕,那么就到了激动人心的启动游戏啦,启动命令:
启动成功后查看下端口10001、11001、12001、8001、8004是否监听中,少任何一个都无法成功启动游戏。
刷新游戏后邮件查收。
关闭游戏执行命令:
修改GM用户名密码需要修改文件/www/wwwroot/xy/gm/config.php。
修改$admin和$gmcode即可修改GM的账号和密码,需要注意的是$key不可随意修改,如果修改需对应调整gmkey的值才能通过验证,而gmkey的值则是通过md5($key)得到。
首先会通过$uid.$pwd.$key三个字段拼接后用md5加密,然后将用户$uid作用key,$pwd、$vip、$qu作value以数组形式保存到文件中来储存vip用户的信息。
打开vip1.json可以看到保存的数据:
改成域名访问也很简单,需要修改以下几处:
修改文件:
需要注意的是,使用域名路径后的/cdn/也省略掉。
接下来修改游戏网站,填写域名,根目录为/www/wwwroot/xy/cdn/。
游戏中难免会出现GM工具发送物品过多甚至爆号的情况,这时候可以通过数据库清空角色背包物品来解决。
首先要清空背包的角色,退出游戏。
通过宝塔,打开菜单数据库中的phpMyAdmin工具,并登陆。
找到库gameserver,点击上方SQL菜单,输入sql语句,其中账号替换为你的即可。
再输入sql语句,其中characterid替换为你上一步查询到的即可。
点击执行,就成功删除了该角色的背包物品。
再次登陆游戏,你就会发现,角色的背包就空空如也啦~
于是我开始研究源码,因为后台核心部分的代码进行了加密,所以我只能修改配置xml文件,首先我想修改各属性对应的战力系数,对应文件zhandouli.xml,将各属性对应战力系数减少5倍,测试发现,激活神兵神甲宠物的战力依然提升之前的总战力,只是自身战力值变低,存在bug。
既然不能修改战力系数,那索性就修改各模块的级数上限,通过研究游戏中战力的分布,我发现宠物和星图的战力占比最大,其他战力比较高的部分也一同调整:
修改完测试以上模块的战力确实小了,战力总和应该能控制在20亿多,但是又出现另一个bug,连续快速点击升级会超出修改的等级上限,游戏crash掉...就,很崩溃...
求助各大论坛,还有某宝上该游戏架设的商家,同样存在该bug,并未修复。
后来也想过,西游类H5游戏那么多换一个就好了,架设了好几个都没有启动端口服务失败了,后来发现原来centOs8不行,只能centOs7版本服务器,这里还是要吐槽下游戏架设,环境真的很重要,php版本、Linux版本不一致就很有可能是架设失败的元凶,自己吃亏了很多回。再说回架设的其他西游类H5游戏,明显自己的服务器很吃力,负载CPU都是满的,游戏体验很差,所以只能放弃了。
喜大普奔,不知道奋战了多少个日日夜夜,我终于把BUG修复了,当然,其实就是换了个思路,游戏做了阉割版,但是并不影响游戏体验,Nice~
修改内容:
虽然还在测试中,但是就目前的阶段来看,战力上限大概控制在20亿左右,欢迎来我搭建的游戏中体验。由于修复该BUG花费了很大的心血,修复版我暂时不公开,先在手里捂一会,哈哈,有需要请单独联系我。
我又又又又对游戏进行了优化和修复,对这个游戏情有独钟吧。本次优化了人物等级(180->300)、装备等级(180->250)、锻造等级(180->200)以及宠物等级(180->200),优化了物品数量上限,修复了一些概率性的报错,游戏基本已经很稳定了,欢迎大家来玩哦~