H5游戏幻梦西游:笑闹天宫搭建教程及演示

936次阅读
9条评论

共计 3633 个字符,预计需要花费 10 分钟才能阅读完成。

利用韩国甲骨文作为前后端,腾讯轻量香港反代前后端加速。

演示站

游戏链接:https://game.jiejie.uk/

http://58.215.4.214:7788/

GM链接:https://game.jiejie.uk/gm/

http://58.215.4.214:7788/gm/

环境要求

linux 1g内存以上 php5.6 mysql5.5
php7中gm工具无法创建数据表
mysql5.6以上服务端因为使用明文密码无法启动

我的环境:甲骨文自带Ubuntu18.04+宝塔PHP5.6、MySQL5.5、nginx

游戏下载

teambition直链打包下载:前端+后端+数据库+GM.zip

Teambition云盘直链解析平台 支持多用户,支持永久直链,支持列目录,文件夹分享

百度网盘下载:
数据库链接:https://pan.baidu.com/s/1XS6DXSIx6flzvaTF7wIeig  提取码:siv5
前端链接:https://pan.baidu.com/s/1Px8sD2wC3VGbEhtp0BY5SA    提取码:1vmd
后端链接:https://pan.baidu.com/s/1ekm2d-sWcHT37jfEjAyxow    提取码:g57v
GM链接:https://pan.baidu.com/s/1_BUkYXXPTszHMVd7vsAzwA      提取码:e1ka

数据库

以此创建四个数据库,center、cross、user、xntg1

然后解压xiyousql.zip,按文件名依次导入同名数据库。

后端搭建

上传xiyou_server.zip到服务器/root目录解压,usr移动至服务器根目录。server和config移动至/root目录。

给予server目录777权限。server文件夹里的libc++文件夹及里面的文件给予755权限,不然启动报错。

修改1区配置文件目录
/root/server/sh
可以看到三个configure*.xml文件,只需要修改里面数据库的user根pass其他不动

完成后即可测试启动:

cd /root/server/sh
chmod +x gamectl.sh
./gamectl.sh start         

测试启动如果没问题即可按CTRL+C键退出,这里有我出现的两个问题解决方案可供参考:

问题1:error while loading shared libraries: libssl.so.10: cannot open shared object file: No such file or directory

参考链接:https://askubuntu.com/questions/339364/libssl-so-10-cannot-open-shared-object-file-no-such-file-or-directory

解决方案:没有找到libssl.so.10文件,文件路径不一定是这个,自己在usr文件夹找找
sudo ln -s /usr/local/openssl/lib/libssl.so.1.0.0 /usr/lib/libssl.so.10
sudo ln -s /usr/local/openssl/lib/libcrypto.so.1.0.0 /usr/lib/libcrypto.so.10
问题2:while loading shared libraries: libtcmalloc.so.4: cannot open shared object file: No such file or directory
sudo echo "/usr/lib64" > /etc/ld.so.conf.d/local.conf
sudo ldconfig

如果问题都解决了,那我们就可以正常使用了

查看帮助命令:./gamectl.sh help

cd /root/server/sh
./gamectl.sh help                   显示当前帮助内容
./gamectl.sh start                  启动游戏服务
./gamectl.sh startbg                后台运行游戏服务
./gamectl.sh stop                   关闭游戏服务
./gamectl.sh forcestop              强制关闭游戏服务
./gamectl.sh restart                重新启动游戏服务
./gamectl.sh update                 更新lua脚本
./gamectl.sh startall               开启所有服务
./gamectl.sh startbase              开启跨服逻辑相关服务
./gamectl.sh stopall                关闭所有服务
./gamectl.sh updateall              更新所有服务lua脚本
./gamectl.sh center                 启动中心服务
./gamectl.sh centerbg               后台启动中心服务
./gamectl.sh stopcenter             关闭中心服务
./gamectl.sh updatecenter           启动中心服务lua脚本
./gamectl.sh cross                  启动跨服服务
./gamectl.sh crossbg                后台启动跨服服务
./gamectl.sh stopcross              关闭跨服服务
./gamectl.sh forcestopcross         强制关闭跨服服务
./gamectl.sh updatecross            启动跨服服务lua脚本

我们正常使用的话,就用./gamectl.sh startbg和./gamectl.sh crossbg。

前端搭建

上传西游H5前端.zip到网站根目录解压即可。

修改网站根目录下config.php 文件中11-15行:

'dbip'=>'127.0.0.1', //数据库IP
'dbuser'=>'user', // 数据库帐号
'dbpwd'=>'user', //数据库密码
'dbname'=>'user', //数据库名称

index.php文件中,490行:

//调试服务器ip列表
var serverList = [
"1号服务器|公网IP地址:5201",

到这里我们就可以尝试进入游戏了,如果一切没问题的话,就能正常进入玩耍了。

GM工具

上传gm.zip到网站根目录或者其他目录。

修改config.php 10,11行数据库用户名和密码,这里建议填数据库root用户和密码:

$db_username='root';//数据库帐号
$db_password='xxxxx';//数据库密码

35-37行是GM登陆用户名和密码还要数据库名,数据库名建议随便输一个或者默认,不用自己去新建数据库:

$admin='admin'; 	//首次登陆账号
$adminpass='123456';  //首次登陆密码	
$gmdb = "gm";	//后台数据库名称

到这里就结束了,下面是进阶教程,可忽略。

自动重启和便捷重启服务端

宝塔添加计划任务-shell任务,每天或者每小时运行。

如果我们服务端卡死了,也可以手动点执行即可完成重启。

以下是脚本内容,上面三条是关闭命令,下面四条是启动命令,其中三条是跨服有关的。

#/bin/sh
cd /root/server/sh
./gamectl.sh forcestop   
./gamectl.sh stopall
./gamectl.sh forcestopcross
sleep 30
./gamectl.sh startbg
sleep 30
./gamectl.sh crossbg
./gamectl.sh updatecross
./gamectl.sh startbase

反代后端和开启https(可选)

开启https

宝塔直接申请Let免费证书或者用你自己的证书开启https即可,开启http强制跳转https。

反代后端

在你的网站配置文件加上以下代码即可,只适用于nginx:

    location /xyapi/ {
    rewrite ^/xyapi/(.*)$ /$1 break;
    proxy_pass http://IP:5201;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    }

前端开启wss后端

开启https的话,你在网站根目录index.php 第490设置的服务器列表将不会生效,需要修改index.php以下内容:

index.php第466行的后端链接
	var __CONFIG__ = {
		"__SER_URL__": "game.jiejie.uk/xyapi/",
		"__PLATFORM_ID__": 1,
这是我的反代后端,自行修改成你自己的反代后端链接

还要修改/libs/modules/start/start.min.js第1801行:

a = "wss://" + s + ":50000/" + i % 1e4 + "/"
改为
a = "wss://" + s + i % 1e4 + "/"

改了这个js以后,建议清除浏览器缓存,否则一直无法正常登陆。

到这里就正式结束了,感谢你的浏览。

参考链接:https://www.liuzelin.com/study/xiyou.html

正文完
 
评论(9条评论)
验证码
天天 评论达人 LV.1
2022-08-25 09:53:51 回复

不错啊

 Android  Chrome  中国浙江省杭州市电信
superjoin 评论达人 LV.1
2021-06-03 21:45:29 回复

大神,我想搭建但是不太会,求联系方式

 Android  Chrome  中国河北省石家庄市电信
大花 评论达人 LV.1
2020-12-22 14:59:16 回复

我一开跨服命令,游戏就网络中断再也连不上了

 Windows  Chrome  中国江苏省无锡市电信
    root 博主
    2020-12-22 15:06:54 回复

    @大花 是不是服务器配置太低了?

     Android  Chrome
youke 评论达人 LV.1
2020-12-19 16:50:32 回复

感谢博主,请问只有一个服务器开启https跨服组队还需要什么其他操作吗?还是一个人不能组队,我房间都创建不了

 Windows  Chrome  新加坡新加坡电信
    root 博主
    2020-12-19 17:53:14 回复

    @youke 我更新一下博客,关于开服关服命令的

     Windows  Chrome
奕奕 评论达人 LV.1
2020-12-19 06:55:23 回复

这游戏没意思,不知道有没有别的好玩的源码

 iPhone  Safari  日本东京都东京
    root 博主
    2020-12-19 09:47:07 回复

    @奕奕 我也没有别的源码哦,遇到什么玩什么

     Android  Chrome
一叶甘棠 评论达人 LV.1
2020-12-18 12:31:25 回复

打卡,遇到问题再来问ヾ(≧∇≦*)ゝ

 Windows  Chrome  中国香港