惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
S
Secure Thoughts
月光博客
月光博客
美团技术团队
雷峰网
雷峰网
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
News and Events Feed by Topic
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Forbes - Security
Forbes - Security
W
WeLiveSecurity
P
Proofpoint News Feed
阮一峰的网络日志
阮一峰的网络日志
爱范儿
爱范儿
G
GRAHAM CLULEY
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
AI
AI
Last Week in AI
Last Week in AI
Google Online Security Blog
Google Online Security Blog
Schneier on Security
Schneier on Security
云风的 BLOG
云风的 BLOG
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Recent Announcements
Recent Announcements
Webroot Blog
Webroot Blog
T
Tor Project blog
Cisco Talos Blog
Cisco Talos Blog
N
News and Events Feed by Topic
罗磊的独立博客
The Register - Security
The Register - Security
Blog — PlanetScale
Blog — PlanetScale
T
Threat Research - Cisco Blogs
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
人人都是产品经理
人人都是产品经理
T
The Exploit Database - CXSecurity.com
www.infosecurity-magazine.com
www.infosecurity-magazine.com
B
Blog
腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Engineering at Meta
Engineering at Meta
Latest news
Latest news
IT之家
IT之家
D
DataBreaches.Net
博客园 - 司徒正美
N
Netflix TechBlog - Medium
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

echeverra

迟到的2025年终总结,碎碎念我平凡的一年(工作、副业、家庭) - echeverra 致敬阿拉德800万勇士,升级版DOF86端游详细图文架设教程 长安灯火,少年如初,天元西游游戏超详细图文架设教程 一次爽个够,200+精品小游戏库详细图文架设教程 热血传奇,经典重现,完美传奇游戏详细图文架设教程 忆游十三道,游戏更新及迁移服务器 艰难的决定 开箱一时爽,一直开箱一直爽!忆游十三道游戏详细图文架设教程 天塌了,万灵山海炸包了,补偿必须到位! 战力爆表,神魔寂灭!九州神魔录H5游戏详细图文架设教程
萌萌战将,喵的天下,三国猫H5游戏详细图文架设教程
echeverra · 2025-12-03 · via echeverra

前言

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

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

我架设的《三国猫》公益服请关注我的公众号 echeverra, 发送“三国猫”获取游戏链接和源码,后台 GM 发送“三国猫GM”免费获取,游戏长期维护,快来体验一下吧。

如果你对 GM 游戏感兴趣,推荐另外几款我架设的 GM 游戏:GM 游戏整理汇总,你也可以访问我的 521GM游戏网,欢迎来玩~

三国猫游戏截图:

架设

1. 架设条件

三国猫架设需要准备:

  1. linux服务器,安装 CentOs 7.6 版本,推荐腾讯云轻量应用服务器,性价比高。
  2. 游戏源码,关注我的公众号 echeverra,发送 “三国猫” 免费获取。

游戏只开一区会占大概 7G 左右的运行内存,建议最小 8G 内存配置的服务器,而且是 H5 游戏,所以对服务器宽带有一定的要求,不过后面我会介绍使用 2 核 4G 也可以架设该游戏的方法。

2. 连接服务器

服务器安装完系统后,安装资源工具目录下的finalshell.exe,填写服务器 IP,用户名和密码连接服务器。finalshell 非常强大,可以输入命令,文件传输和查看服务器状态等。

3. 安装宝塔及环境

宝塔是一个服务器运维管理软件,安装命令:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

安装完后,按照提示信息登录宝塔,在面板设置菜单中将面板 SSL 关闭,然后在软件商店中搜索以下软件安装:

  1. web服务器:Nginx 1.22
  2. 数据库:MySQL 5.6
  3. 编程语言:PHP 7.4 (安装扩展:ionCube 和 memcache)
  4. 数据库:Redis 7.2
  5. 数据库:MongoDB 4.0
  6. 插件:elasticsearch
  7. 数据库管理工具:phpMyAdmin 5.0
  8. 工具:Linux工具箱 2.5

其中 PHP 需要安装 ionCube 和 memcache 扩展。

安装完扩展后,点击重载配置,然后重启 PHP。

4. 开放端口

我们直接开放服务器所有端口 1-65535,以腾讯云轻量服务器为例,在防火墙中添加规则选择 ALL 全部添加。

然后在宝塔菜单安全中添加端口规则,协议选择 TCP/UDP,端口填写 1-65535,开放所有端口。

如果担心开放全部端口有风险,可以在后文中启动游戏章节,查看具体游戏占用的端口,单独开放这些端口。

5. 关闭防火墙

通过宝塔菜单终端,执行关闭防火墙命令:

systemctl stop firewalld.service
systemctl disable firewalld.service

6. 上传源码

拿到源码后,将sgm.zip压缩文件通过宝塔上传到根目录,由于最新的宝塔禁止直接上传到根目录,可以先上传到任一目录下,再剪切粘贴到/根目录。或直接通过 finalshell 工具直接上传到根目录也可以。

上传成功后,剪切粘贴到根目录,并通过命令解压到根目录。

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 虚拟内存。

然后修改后台接口,在宝塔软件商店找到 elasticsearch,在权限页面将密码复制下来。

找到文件/data/gmhoutai/gameadmin/.env(第 57 行)和/data/gmhoutai/cat_center/.env(第 45 行)将abcdefghijklmnopqrstuvwxyz改为刚复制下来的密码。

然后继续在 elasticsearch 配置文件中,找到xpack.security.http.ssl,将下面的enabled: true改成enabled: false,最后保存。

8. 修改源码 IP

源码中的 IP(103.236.74.161),需要替换成你自己的服务器 IP,替换 IP 文件有 3 个:

  1. /data/sql/cat_center.sql
  2. /data/sql/game_admin.sql
  3. /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

通过命令导入数据库:

cd /data/sql && ./initsql.sh

同步数据库会看到创建 3 个数据库,说明导入成功~

10. 创建网站

三国猫只需要创建 1 个站点,在宝塔网站菜单中添加站点。

站点域名为 IP:81(你的服务器 IP),根目录为 /www/wwwroot/game,PHP 选择 7.4 版本。

11. 启动游戏

以上步骤都操作完毕,就到了激动人心的启动游戏啦!

启动一区:

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

启动二区:

cd /data/server2/bin && ./run.sh

启动跨服:

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

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

netstat -lntp

游戏启动成功后,浏览器输入游戏链接:http://IP:81,就可以访问游戏,愉快的玩耍啦~

12. 游戏后台

三国猫有三个后台,GM 后台、管理后台和运维后台。

首先是 GM 总后台链接:http://IP:81/gm/gm.php,默认GM码:123456。可以授权玩家,也可以直接充值和发送物品。修改 GM 码需要修改文件/www/wwwroot/game/gm/user/config.php$gmcodeb字段值即可。

授权后就可以打开玩家 GM 后台:http://IP:81/gm,登录后就可以充值和发送道具啦~

多提一句哈,现在外面的三国猫资源 GM 后台都是加密的代码,非加密明文的 GM 后台独我一家哦~

管理后台链接:http://IP:82/module/login.php,默认账号:admin,密码:123456,运营后台功能包括邮件发送,设置开服时间等。其中开服时间一定要设置,否则游戏的活动无法开启,竞技场也没法玩。

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

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_configserver_name字段即可,如果你只开了一区,也可以把二区删掉。

密码修改

开服的话肯定是需要修改一些默认密码的,否则会被别人登录篡改数据攻击,MySQL 的密码不用修改,因为默认无法远程连接,他人是无法连接登录的。

主要修改的是管理后台和运维后台的密码,其中运维后台(http://IP:83/module/login.php)修改比较简单,直接登录运维后台,在左侧菜单系统管理 - 修改登录密码菜单中,直接修改即可。

管理后台(http://IP:82/module/login.php)没有修改密码的菜单,需要通过修改数据库game_admin中表t_admin_userpassword值,找个 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下。

然后在资源服务器上创建可访问的资源站点,域名填写IP:port,IP 为资源服务器 IP,端口 port 不要使用已占用的端口,根目录选择/www/wwwroot/sgm

创建完后需要修改配置文件,使得游戏服务器可以跨域访问到资源服务器的文件。

#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

我们使用重定向的方式获取资源服务器游戏资源。修改游戏服务器的站点IP:81,配置文件中添加重定向代码:

location ~ ^/res/(.*)$ {
    # 使用$request_uri确保完整路径传递
    return 301 http://资源服务器IP:port$request_uri;
}

这样游戏中加载的资源就会 301 重定向到资源服务器上,不消耗游戏服务器的宽带啦,Nice~

游戏清档

游戏的数据主要存储在 MySQL 和 MongoDB 数据库中。先关闭游戏服务,将 MySQL 的 3 个数据库直接删除 ,执行重新导入命令就可以了,MongoDB 有两个数据库,也直接全部删掉,游戏重新开始后自动创建。

记得清档重新开服后通过管理后台,重新设置开服时间哈。

低配架设

如果你用的是 2核 4G 配置的服务器,其实也一样可以架设该游戏,只要不开启 elasticsearch 服务,只开一区只会占用 3G 左右内存,经测试不开启 elasticsearch 游戏和后台是没有问题的,也有人反馈说后台一些功能无法使用的。elasticsearch 的主要作用是搜索和数据库性能优化,不开启应该也是没有影响的哈。

游戏监控

担心游戏掉线或者服务器重启,我们可以宝塔创建一个定时任务来监控游戏,异常时自动重新启动游戏。

#!/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]*

在线奖励

如果开服不想直接后台发放游戏物品道具,延长游戏寿命,那么就可以修改在线奖励物品,放一些游戏比较难获取的。

在线奖励需要修改两个文件:

  1. /data/server/bin/script/excel/cat/onlineReward.lua
  2. /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.luaitemCnt代表奖励物品数量,itemCnt_vi不清楚含义,按照原代码是itemCnt数量的一半修改就可以。otherOlReward应该是没有用到,不过建议和onlineReward保持一致。

修改完后重启游戏就生效啦。

关于游戏

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

下个游戏我会直接出个大的,数十个好玩有趣的游戏绝对让你玩到爽~ 期待一下子~

最后感谢大家一路的支持与陪伴,祝大家游戏愉快,一切顺利~ 我们下个游戏见!

好啦,以上就是三国猫架设教程的所有内容,希望对你有所帮助,如有问题可通过我的博客 https://echeverra.cn 或微信公众号 echeverra 联系我。

你学“废”了么?

(完)

(文章今日已有 2 人访问 ::>_<::)