wlkejires 发表于 2026-2-2 20:22:40

喵的天下,三国猫H5游戏详细图文架设教程

这个月给大家带来一款以三国题材为背景的萌系策略卡牌游戏《三国猫》H5 代金券内购版,融合了 Q 版画风、养成玩法和轻度策略战斗,玩家可以收集三国名将,组建自己的队伍,快来体验一下吧。
https://echeverra.cn/wp-content/static/article-img/sgm/cover1.png

本文讲解《三国猫》架设教程,我将详细讲解架设步骤和开服修改,全部都是干货!大家也可以直接玩我架设好的公益服,体验游戏中土豪氪金的快乐,希望你也喜欢这款游戏~

三国猫游戏截图:
https://echeverra.cn/wp-content/static/article-img/sgm/450efa0dd268.png


https://echeverra.cn/wp-content/static/article-img/sgm/de9f436ba337.png


https://echeverra.cn/wp-content/static/article-img/sgm/47d9824d77a5.png


https://echeverra.cn/wp-content/static/article-img/sgm/f6521e368b82.png


https://echeverra.cn/wp-content/static/article-img/sgm/c65c63089eda.png


https://echeverra.cn/wp-content/static/article-img/sgm/3b76f3ea8953.png


https://echeverra.cn/wp-content/static/article-img/sgm/6ddc519b2d7e.png


https://echeverra.cn/wp-content/static/article-img/sgm/642ded96ef8a.png


https://echeverra.cn/wp-content/static/article-img/sgm/e1fcc9088a27.png

架设1. 架设条件三国猫架设需要准备:
[*]linux 服务器,安装 CentOs 7.6 版本,推荐腾讯云轻量应用服务器,性价比高。
[*]游戏源码,文章最后附件下载。
游戏只开一区会占大概 7G 左右的运行内存,建议最小 8G 内存配置的服务器,而且是 H5 游戏,所以对服务器宽带有一定的要求,不过后面我会介绍使用 2 核 4G 也可以架设该游戏的方法。2. 连接服务器服务器安装完系统后,安装资源工具目录下的 finalshell.exe,填写服务器 IP,用户名和密码连接服务器。finalshell 非常强大,可以输入命令,文件传输和查看服务器状态等。
https://echeverra.cn/wp-content/static/article-img/common/1747971697594.png

3. 安装宝塔及环境宝塔是一个服务器运维管理软件,安装命令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh





安装完后,按照提示信息登录宝塔,在面板设置菜单中将面板 SSL 关闭,然后在软件商店中搜索以下软件安装:
[*]web 服务器:Nginx 1.22
[*]数据库:MySQL 5.6
[*]编程语言:PHP 7.4 (安装扩展:ionCube 和 memcache)
[*]数据库:Redis 7.2
[*]数据库:MongoDB 4.0
[*]插件:elasticsearch
[*]数据库管理工具:phpMyAdmin 5.0
[*]工具:Linux 工具箱 2.5
其中 PHP 需要安装 ionCube 和 memcache 扩展。
https://echeverra.cn/wp-content/static/article-img/sgm/2ea92b4e7701.png

安装完扩展后,点击重载配置,然后重启 PHP。
https://echeverra.cn/wp-content/static/article-img/sgm/f9086c4b3ae7.png

4. 开放端口我们直接开放服务器所有端口 1-65535,以腾讯云轻量服务器为例,在防火墙中添加规则选择 ALL 全部添加。
https://echeverra.cn/wp-content/static/article-img/common/3409f583bb6c.png

然后在宝塔菜单安全中添加端口规则,协议选择 TCP/UDP,端口填写 1-65535,开放所有端口。
https://echeverra.cn/wp-content/static/article-img/common/55611bf0fe67.png

如果担心开放全部端口有风险,可以在后文中启动游戏章节,查看具体游戏占用的端口,单独开放这些端口。5. 关闭防火墙通过宝塔菜单终端,执行关闭防火墙命令:
systemctl stop firewalld.service
systemctl disable firewalld.service





6. 上传源码拿到源码后,将 sgm.zip 压缩文件通过宝塔上传到根目录,由于最新的宝塔禁止直接上传到根目录,可以先上传到任一目录下,再剪切粘贴到 / 根目录。或直接通过 finalshell 工具直接上传到根目录也可以。
https://echeverra.cn/wp-content/static/article-img/sgm/ccbfb79c6a93.png

上传成功后,剪切粘贴到根目录,并通过命令解压到根目录。
cd / && unzip sgm.zip





并给予 777 全部权限:
chmod -R 777 /data
chmod -R 777 /www/wwwroot/game





然后重启下 Nginx(确保 Nginx 环境已经安装成功):
/etc/init.d/nginx restart





7. 配置环境先设置虚拟内存,使用 Linux 工具箱添加 Swap,由于游戏占用内存比较大,建议添加完虚拟内存加上服务器本身的内存达到 10G,比如添加 4G 虚拟内存。
https://echeverra.cn/wp-content/static/article-img/common/7b68aa7c1ddc.png

然后修改后台接口,在宝塔软件商店找到 elasticsearch,在权限页面将密码复制下来。
https://echeverra.cn/wp-content/static/article-img/sgm/c020788e203b.png

找到文件 /data/gmhoutai/gameadmin/.env(第 57 行)和 /data/gmhoutai/cat_center/.env(第 45 行)将 abcdefghijklmnopqrstuvwxyz 改为刚复制下来的密码。然后继续在 elasticsearch 配置文件中,找到 xpack.security.http.ssl,将下面的 enabled: true 改成 enabled: false,最后保存。
https://echeverra.cn/wp-content/static/article-img/sgm/5e34e8e8b114.png

8. 修改源码 IP源码中的 IP(103.236.74.161),需要替换成你自己的服务器 IP,替换 IP 文件有 3 个:
[*]/data/sql/cat_center.sql
[*]/data/sql/game_admin.sql
[*]/www/wwwroot/game/index.php
或者通过命令直接修改 IP,两种方式选择其一即可:
sed -i "s/103.236.74.161/服务器IP/g" `grep 103.236.74.161 -rl /data`
sed -i "s/103.236.74.161/服务器IP/g" `grep 103.236.74.161 -rl /www/wwwroot/game`





将命令中的服务器IP 改成你的服务器 IP,通过命令就可以将全部文件 IP 替换掉。9. 配置数据库宝塔数据库中,修改 root 密码:123456。
https://echeverra.cn/wp-content/static/article-img/sgm/9f27538334e4.png

通过命令导入数据库:
cd /data/sql && ./initsql.sh





同步数据库会看到创建 3 个数据库,说明导入成功~
https://echeverra.cn/wp-content/static/article-img/sgm/2ace7512c1e1.png

10. 创建网站三国猫只需要创建 1 个站点,在宝塔网站菜单中添加站点。站点域名为 IP:81(你的服务器 IP),根目录为 /www/wwwroot/game,PHP 选择 7.4 版本。
https://echeverra.cn/wp-content/static/article-img/sgm/aee8dc7c37fc.png

11. 启动游戏以上步骤都操作完毕,就到了激动人心的启动游戏啦!启动一区:
cd /data/server/bin && ./run.sh





启动二区:
cd /data/server2/bin && ./run.sh





启动跨服:
cd /data/cross/bin && ./run.sh





启动完毕后查看下游戏端口:
netstat -lntp






https://echeverra.cn/wp-content/static/article-img/sgm/b5c71050ced3.png

游戏启动成功后,浏览器输入游戏链接:http://IP:81,就可以访问游戏,愉快的玩耍啦~12. 游戏后台三国猫有三个后台,GM 后台、管理后台和运维后台。首先是 GM 总后台链接:http://IP:81/gm/gm.php,默认 GM 码:123456。可以授权玩家,也可以直接充值和发送物品。修改 GM 码需要修改文件 /www/wwwroot/game/gm/user/config.php 中 $gmcodeb 字段值即可。
https://echeverra.cn/wp-content/static/article-img/sgm/76c784b9751b.png

授权后就可以打开玩家 GM 后台:http://IP:81/gm,登录后就可以充值和发送道具啦~
https://echeverra.cn/wp-content/static/article-img/sgm/d6ded5acdb0d.png

多提一句哈,现在外面的三国猫资源 GM 后台都是加密的代码,非加密明文的 GM 后台独我一家哦~管理后台链接:http://IP:82/module/login.php,默认账号:admin,密码:123456,运营后台功能包括邮件发送,设置开服时间等。其中开服时间一定要设置,否则游戏的活动无法开启,竞技场也没法玩。
https://echeverra.cn/wp-content/static/article-img/sgm/64cb27bfb806.png

运维后台链接:http://IP:83/module/login.php,默认账号:admin,密码:123456,一定一定一定不要和管理后台同一浏览器打开,否则会一直刷新,无法访问,运维后台功能也比较多,同样有邮件发送,查看玩家,游戏配置等等。
https://echeverra.cn/wp-content/static/article-img/sgm/96cff476baed.png

13. 关闭游戏关闭游戏服务很简单,关闭一区:
cd /data/server/bin && ./stop.sh





关闭二区:
cd /data/server2/bin && ./stop.sh





关闭跨服:
cd /data/cross/bin && ./stop.sh





后续免责声明我架设的所有游戏资源均搜集于互联网,如有侵权,请联系我,我会马上删除。游戏都是禁止内充的,只限于技术研究使用,禁止商用,请于下载后 24 小时内删除,或购买正版。根据二○○二年一月一日《计算机软件保护条例》规定:为了学习和
研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软
件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬
鉴于此,也希望大家按此说明研究软件。区名修改区名修改很简单,使用宝塔的 phpMyAdmin,修改 MySQL 数据库 game_admin 中表 t_server_config 的 server_name 字段即可,如果你只开了一区,也可以把二区删掉。
https://echeverra.cn/wp-content/static/article-img/sgm/4ab2e77d65ae.png

密码修改开服的话肯定是需要修改一些默认密码的,否则会被别人登录篡改数据攻击,MySQL 的密码不用修改,因为默认无法远程连接,他人是无法连接登录的。主要修改的是管理后台和运维后台的密码,其中运维后台(http://IP:83/module/login.php)修改比较简单,直接登录运维后台,在左侧菜单系统管理 - 修改登录密码菜单中,直接修改即可。管理后台(http://IP:82/module/login.php)没有修改密码的菜单,需要通过修改数据库 game_admin 中表 t_admin_user 的 password 值,找个 MD5 在线加密网页,将你要设置的密码通过 MD5 加密(32 位)处理后,复制到 password 中。同时需要修改文件 /data/gmhoutai/gameadmin/.env 第 24 行,将字段 ROOT_PASSWORD 值改为你加密前的密码,这样密码就修改成功啦~管理后台密码修改完,还需要对 GM 后台进行同步修改,在文件 /www/wwwroot/game/gm/user/config.php 中,对数组 $quarr 中的字段 managep 值也需要改为新的管理后台密码,这样后台 GM 才能邮件发送成功。资源外置因为游戏是 H5 网页版,所以会加载大量的游戏静态资源占用宽带,观察浏览器网络请求,发现大量的静态资源都在 /www/wwwroot/game/res 目录下,所以我们将 res 目录上传到资源服务器目录 /www/wwwroot/sgm 下。
https://echeverra.cn/wp-content/static/article-img/sgm/36870581d681.png

然后在资源服务器上创建可访问的资源站点,域名填写 IP:port,IP 为资源服务器 IP,端口 port 不要使用已占用的端口,根目录选择 /www/wwwroot/sgm。
https://echeverra.cn/wp-content/static/article-img/sgm/eb140649f843.png

创建完后需要修改配置文件,使得游戏服务器可以跨域访问到资源服务器的文件。
#CORS-START
add_header 'Access-Control-Allow-Origin' 'http://游戏服务器IP:port';
add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,PATCH,DELETE,HEAD';
add_header 'Access-Control-Allow-Headers' 'Content-Type,Authorization,X-Requested-With,Range,Accept,Cache-Control,If-Modified-Since,';
add_header 'Access-Control-Max-Age' '86400';
add_header 'Access-Control-Expose-Headers' 'X-Custom-Header,Content-Length,ETag,Cache-Control,Last-Modified,Expires,Vary,';
if ($request_method = 'OPTIONS') {
    return 204;
}
#CORS-END






https://echeverra.cn/wp-content/static/article-img/sgm/df455f05aca4.png

我们使用重定向的方式获取资源服务器游戏资源。修改游戏服务器的站点 IP:81,配置文件中添加重定向代码:
location ~ ^/res/(.*)$ {
    # 使用$request_uri确保完整路径传递
    return 301 http://资源服务器IP:port$request_uri;
}






https://echeverra.cn/wp-content/static/article-img/sgm/487f2d9c75f2.png

这样游戏中加载的资源就会 301 重定向到资源服务器上,不消耗游戏服务器的宽带啦,Nice~
https://echeverra.cn/wp-content/static/article-img/sgm/f63f283bd867.png

游戏清档游戏的数据主要存储在 MySQL 和 MongoDB 数据库中。先关闭游戏服务,将 MySQL 的 3 个数据库直接删除 ,执行重新导入命令就可以了,MongoDB 有两个数据库,也直接全部删掉,游戏重新开始后自动创建。记得清档重新开服后通过管理后台,重新设置开服时间哈。低配架设如果你用的是 2 核 4G 配置的服务器,其实也一样可以架设该游戏,只要不开启 elasticsearch 服务,只开一区只会占用 3G 左右内存,经测试不开启 elasticsearch 游戏和后台是没有问题的,也有人反馈说后台一些功能无法使用的。elasticsearch 的主要作用是搜索和数据库性能优化,不开启应该也是没有影响的哈。游戏监控担心游戏掉线或者服务器重启,我们可以宝塔创建一个定时任务来监控游戏,异常时自动重新启动游戏。
https://echeverra.cn/wp-content/static/article-img/sgm/7988c71f0d0d.png


#!/bin/sh

XYTCPListeningnum=`netstat -an | egrep "0.0.0.0:10001" | awk '$1 == "tcp"'|wc -l`

if [ $XYTCPListeningnum -eq 0 ];
    then

cd /data/server/bin && ./stop.sh
cd /data/cross/bin && ./stop.sh

sleep 20

cd /data/server/bin && ./run.sh
cd /data/cross/bin && ./run.sh

fi





清理日志游戏运行会产生大量的日志 Log 文件,时间长会占满硬盘,同样可以通过宝塔创建定时任务每天清理日志文件,比如我只开一区,清理日志脚本如下:
rm -f /data/server/bin/log/*
rm -f /data/server/bin/core.[0-9]*





在线奖励如果开服不想直接后台发放游戏物品道具,延长游戏寿命,那么就可以修改在线奖励物品,放一些游戏比较难获取的。在线奖励需要修改两个文件:
[*]/data/server/bin/script/excel/cat/onlineReward.lua
[*]/data/cross/bin/script/excel/cat/onlineReward.lua
一个是一区的在线奖励文件,另一个是跨服的在线奖励文件,两个都修改,代码是一样的。
(function()onlineReward={
[1]={useTime=0,itemID=399,itemCnt=1000,itemCnt_vi=500},
[2]={useTime=120,itemID=420,itemCnt=50000,itemCnt_vi=25000},
[3]={useTime=300,itemID=3011,itemCnt=50,itemCnt_vi=25},
[4]={useTime=900,itemID=3010,itemCnt=50,itemCnt_vi=25},
[5]={useTime=1200,itemID=510,itemCnt=2,itemCnt_vi=1},
[6]={useTime=1500,itemID=503,itemCnt=1,itemCnt_vi=1},
[7]={useTime=2100,itemID=111,itemCnt=450000,itemCnt_vi=200000},
[8]={useTime=2700,itemID=118,itemCnt=10,itemCnt_vi=2},
[9]={useTime=3600,itemID=102,itemCnt=200,itemCnt_vi=100},
[10]={useTime=4500,itemID=101,itemCnt=1200000,itemCnt_vi=600000},
[11]={useTime=5400,itemID=111,itemCnt=1000000,itemCnt_vi=500000},
[12]={useTime=7200,itemID=399,itemCnt=1,itemCnt_vi=150}}end)();
(function()otherOlReward={
[1]={useTime=0,itemID=399,itemCnt=1000,itemCnt_vi=500},
[2]={useTime=120,itemID=420,itemCnt=50000,itemCnt_vi=25000},
[3]={useTime=300,itemID=3011,itemCnt=50,itemCnt_vi=25},
[4]={useTime=900,itemID=3010,itemCnt=50,itemCnt_vi=25},
[5]={useTime=1200,itemID=510,itemCnt=2,itemCnt_vi=1},
[6]={useTime=1500,itemID=503,itemCnt=1,itemCnt_vi=1},
[7]={useTime=2100,itemID=111,itemCnt=450000,itemCnt_vi=200000},
[8]={useTime=2400,itemID=118,itemCnt=10,itemCnt_vi=2},
[9]={useTime=3000,itemID=102,itemCnt=200,itemCnt_vi=100},
[10]={useTime=3600,itemID=101,itemCnt=1200000,itemCnt_vi=600000},
[11]={useTime=4500,itemID=111,itemCnt=1000000,itemCnt_vi=500000},
[12]={useTime=5400,itemID=399,itemCnt=1,itemCnt_vi=150}}end)();





这是我修改后的代码,其中 onlineReward 中的第一行,useTime 代表在线满多少秒才能获取奖励,itemID 是奖励的物品代码,全部的物品代码可以查看文件 /data/server/bin/script/excel/cat/item.lua,itemCnt 代表奖励物品数量,itemCnt_vi 不清楚含义,按照原代码是 itemCnt 数量的一半修改就可以。otherOlReward 应该是没有用到,不过建议和 onlineReward 保持一致。修改完后重启游戏就生效啦。
https://echeverra.cn/wp-content/static/article-img/sgm/c06ab3ca78a2.png

关于游戏这款萌萌哒的三国卡牌游戏非常适合摸鱼挂机,问题 BUG 很少,玩法也很有趣,目前后台我只开放了猫币充值,这样不至于大家一下子就毕业没有乐趣了,快来一起收集你的三国喵喵战将吧,希望你也喜欢这款游戏哈~
https://echeverra.cn/wp-content/static/article-img/sgm/cover2.png

下个游戏我会直接出个大的,数十个好玩有趣的游戏绝对让你玩到爽~期待一下子~最后感谢大家一路的支持与陪伴,祝大家游戏愉快,一切顺利~我们下个游戏见!

页: [1]
查看完整版本: 喵的天下,三国猫H5游戏详细图文架设教程