找回密码
 立即注册

扫一扫,极速登录

QQ登录

只需一步,快速开始

搜索
查看: 59|回复: 0

一直开箱一直爽!忆游十三道游戏源码详细图文架设教程

[复制链接]

68

主题

1

回帖

481

积分

超级版主

积分
481
发表于 2026-2-4 17:43:59 | 显示全部楼层 |阅读模式
本帖最后由 wlkejires 于 2026-6-22 10:24 编辑

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

忆游十三道游戏截图:


















架设1. 架设条件
忆游十三道架设需要准备:
游戏会占大概 1.3G 左右的运行内存,可以网页 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 关闭,然后在软件商店中搜索以下软件安装:
  • web 服务器:Nginx 1.26
  • 数据库:MySQL 5.7
  • 编程语言:PHP 7.1
  • 数据库:Redis 7.2
  • 数据库:MongoDB 4.4
  • 数据库管理工具:phpMyAdmin 4.4
  • 工具:Linux 工具箱 2.5
4. 开放端口
我们直接开放服务器所有端口 1-65535,以腾讯云轻量服务器为例,在防火墙中添加规则选择 ALL 全部添加。



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



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





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



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





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





7. 配置环境
先设置虚拟内存,使用 Linux 工具箱添加 Swap,由于游戏占用内存并不大,建议 2G 内存的服务器添加,比如添加 4G 虚拟内存。



然后安装环境,首先下载安装 Node.js:
cd /
wget https://cdn.npmmirror.com/binaries/node/v16.19.1/node-v16.19.1-linux-x64.tar.xz -P /usr/local/src/
cd /usr/local/src
sudo xz -d node-v16.19.1-linux-x64.tar.xz
sudo tar -xvf node-v16.19.1-linux-x64.tar -C /usr/local/src/
sudo mv /usr/local/src/node-v16.19.1-linux-x64 /usr/local/node
sudo ln -s /usr/local/node/bin/node /usr/local/bin/
sudo ln -s /usr/local/node/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
sudo ln -s /usr/local/node/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx





再下载安装 Typescript:
npm config set registry https://registry.npmmirror.com
npm install -g typescript@3.7.7
sudo ln -s /usr/local/node/bin/tsc /usr/local/bin/





安装项目依赖:
cd /data/www/shanhai_backend_tb
npm install





8. 修改源码 IP
源码中的 IP(43.140.249.71),需要替换成你自己的服务器 IP,替换 IP 文件只有一个:
  • \www\wwwroot\web-mobile\assets\pzwj\import\8c\8c76ddfa-1253-4d67-8294-3ff77d5a10b0.json
我们也可以通过命令直接修改 IP:
sed -i "s/43.140.249.71/服务器IP/g" `grep 43.140.249.71 -rl /www/wwwroot/web-mobile`





将命令中的服务器IP 改成你的服务器 IP,通过命令就可以将全部文件 IP 替换掉。
9. 配置数据库
忆游十三道用到了三种数据库,MySQL、Redis 和 MongoDB,我们来一个一个配置。
首先配置 MySQL,将 MySQL root 密码修改为 123456。



导入数据库,执行命令:
mysql -uroot -p123456
create database cdk;
use cdk;
source /data/cdk.sql;
exit





在同步数据中点击从服务器同步到面板,可以获取到一个数据库,说明导入成功。



然后配置 Redis,在性能调整中将密码 requirepass 修改为 123456,同时将数据库数量 databases 修改为 1600。



在设置持久化中 RDB 持久化 3 个时间分别设置 99、99、100000 条,这些设置是为了解决登录排队的问题。



最后配置 MongoDB,先使用 Navicat 远程连接 MongoDB,在资源工具中找到 Navicat_16.zip 解压后双击打开 navicat.exe,无需授权就可以直接使用。
打开界面后,点击左上角连接,选择 MongoDB。



使用 SSH 连接,勾选使用 SSH 隧道,填写主机服务器 IP,用户名密码是你服务器的用户名密码,点击确定。



MongoDB 连接成功后,鼠标右键新建数据库 shanhaitbkf 和 shanhaitbkfflow。



然后开始导入数据库脚本,双击创建好的数据库 shanhaitbkf,鼠标右键选择运行脚本文件,找到资源中的 2 个数据库 shanhaitbkf.js 和 a_huodong.js,先后分别运行导入,a_huodong.js 脚本是我修改的开启全部活动的脚本。



再双击数据库 shanhaitbkfflow,找到资源中的数据库 shanhaitbkfflow.js 导入。全部运行导入后,鼠标右键数据库点击刷新就可以看到导入的所有数据库集合啦。



以上就是三种数据库所有配置和导入了,MySQL 存储授权 CDK 的数据,Redis 会存储一些游戏玩家的简单数据,是永久保存的,而游戏的主要数据都会存储在 MongoDB 数据库中。
10. 创建网站
忆游十三道只需要创建 1 个站点,在宝塔网站菜单中添加站点。
站点域名为 IP:81(你的服务器 IP),根目录为 /www/wwwroot/web-mobile,PHP 选择 7.1 版本。



11. 启动游戏
以上步骤都操作完毕,就到了激动人心的启动游戏啦!
启动游戏:
cd /data/www/shanhai_backend_tb
./t_restart.sh





然后输入 9,一键重启。
启动完毕后查看下游戏端口:
netstat -lntp








游戏启动成功后,浏览器输入游戏链接:http://IP:81,就可以访问游戏啦,输入一个自己的账号,就相当于注册了,因为不是用户名密码注册,所以账号填写的尽量复杂一些,然后就可以进入游戏玩耍啦~



12. 客户端修改
忆游十三道客户端仅支持安卓端,只需要修改一个文件:
  • /assets/apps/H5EFAD055/www/assets/pzwj/import/8c/8c76ddfa-1253-4d67-8294-3ff77d5a10b0.json
资源客户端目录下找到忆游十三道.apk 安卓客户端,用好压软件打开,将文件 8c76ddfa-1253-4d67-8294-3ff77d5a10b0.json 拖出来。使用资源中的 Notepad++ 打开,将 IP(43.140.249.71)替换成你自己的服务器 IP。
修改后保存,将文件 8c76ddfa-1253-4d67-8294-3ff77d5a10b0.json 拖回忆游十三道.apk 客户端对应的目录下,替换掉原文件。



然后就可以安装到安卓手机或者电脑模拟器上愉快的玩耍啦~苹果手机玩家也不要慌,直接浏览器访问 H5 游戏链接:http://IP:81 也是一样的哈~
13. 游戏后台
忆游十三道有两个后台,GM 后台和运营后台。
GM 后台需要先生成 CDK,CDK 生成链接:http://IP:81/gm/cdk/log.php,默认 GM 码:123456。修改 GM 码需要修改文件 /www/wwwroot/web-mobile/gm/cdk/genCdk.php 中 $gmpwd 字段值即可。



生成 CDK 后,访问授权链接:http://IP:81/gm/cdk/,填写 CDK 和角色编号,角色编号是游戏中左上角头像点开后的 ID。



授权后就可以打开玩家 GM 后台:http://IP:81/gm/ht.html,填写角色编号,选择物品填写数量,点击添加道具,然后就可以发送啦~



运营后台链接:http://IP:4030,默认账号:admin,密码:123456,运营后台功能包括活动配置,邮件发送,查看玩家数据等,功能还是很强大的。



14. 关闭游戏
关闭游戏服务很简单,同样输入命令:
cd /data/www/shanhai_backend_tb
./t_restart.sh





然后输入 k,全杀 node 就可以啦。
后续免责声明
我架设的所有游戏资源均搜集于互联网,如有侵权,请联系我,我会马上删除。
游戏都是禁止内充的,只限于技术研究使用,禁止商用,请于下载后 24 小时内删除,或购买正版。
根据二○○二年一月一日《计算机软件保护条例》规定:为了学习和
研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软
件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬
鉴于此,也希望大家按此说明研究软件。
游戏修复
游戏我主要修复了一个问题,在测试阶段大概率会出现游戏无法进入,提示活动已结束,我已经在代码中进行了修复,后来没有再出现过该问题。
其他的都是一些小问题,比如游戏中部分市集道具无法内购,提示参数错误问题,并不影响整体游戏,我就没有对此进行修复。
因为可以进行一些取巧,比如星魂获取比较慢,可以将市集第一个兑换轮回石改为高级星魂袋,对应的文件是 /data/www/shanhai_backend_tb/common/excel/shopItem.json,将第一行改为:
{"id":"1","need":[1,1,150],"item":[1,905,100]}





其中所需物品 "need":[1,1,150] 第一个 1 固定不变,第二个 1 是灵石的代码,如果是代金券对应的代码是 8,150 是数量。兑换物品 "item":[1,905,100] 中的 905 是高级星魂袋的代码,100 是数量。修改后需要重启游戏生效,效果如下:



具体的物品代码可以参考文件 /www/wwwroot/web-mobile/gm/itemMoney.json,聪明的你肯定想到可以参考这个逻辑继续添加其他内购物品,但是经测试是不生效的,因为这只是修改的编译后的前端文件,还需要修改对应的后端文件,比较麻烦,所以我就没弄,感兴趣你也可以修改试试。
其他的改动主要是上面说的 MongoDB a_huodong.js 脚本,我将所有活动都开启了。
还可以进行一些魔改,比如等级上万可以在资源中魔改教程.zip 找到,里面有对应教程替换文件即可,感兴趣也可以试试,我这里保留默认的上限 200 级版本。
后续补充更新:后续迁移服务器我又顺手对游戏进行了 BUG 修复和优化 - -
首先是游戏 BUG 道童训练进阶提示道具不足,定位到配置文件,发现是由于道具 ID 写错了,修复的文件我放到了分享资源中的修复目录下 dongtianXlStep.json,将该文件上传到服务器 /data/www/shanhai_backend_tb/common/excel/ 目录下,替换掉原文件,重启下游戏就可以了。



然后对游戏进行了优化,主要是将一些游戏中难获取的道具都放在了市集道具里,并将一些之前无法购买的道具进行了修复。添加的道具包括:随机天级秘法、随机地级秘法、随机玄级秘法、随机黄级秘法、随机下品铭文袋、随机中品铭文袋、随机上品铭文袋、仙术法决、桃神、百炼玉、高级百炼玉、命盘、蓍草、幻灵玉、凤凰金羽、仙兽果、仙盟贡献、仙盟悟性、秘笈点、鱼币、夜明珠、融合丹、淬仙石。



需要修改服务端文件 /data/www/shanhai_backend_tb/common/excel/shopItem.json,添加了大量的难获取道具。
同样前端也需要修改文件 /www/wwwroot/web-mobile/assets/pzwj/import/b9/b95e300e-c555-467c-8557-cbac9191498e.json,前端文件的主体内容和后端是一致的,这样前后端对应才能避免前端篡改数据。
最后是安卓客户端,需要修改文件 /assets/apps/H5EFAD055/www/assets/pzwj/import/b9/b95e300e-c555-467c-8557-cbac9191498e.json,替换后最好重新签名哈。
市集道具优化的文件我也都放到了分享资源中的修复目录下,按照上面的方法替换掉,然后重启游戏即可。
还有一处优化是对游戏经常出现的无法成功登录的问题,需要修改前端的网络请求超时时间,修改文件 /www/wwwroot/web-mobile/assets/scriptAsset/index.js,将其中的 t.timeoutMs=15e3 15 秒改为 t.timeoutMs=60000 60 秒,同时登录倒计时排队中的时间字段 loginTipTime 也改为了 60 秒,对应的客户端文件 \assets\apps\H5EFAD055\www\assets\scriptAsset\index.js 也需要修改,修改好的文件也在分享的修复目录下,这样大概率是可以进入游戏的,但同样有个致命的问题,就是在请求的过程中会一直请求数据占用宽带资源,这个是由于游戏设计的机制问题造成的,游戏的数据量很大,对于游戏的数据查询做的很粗糙,除非用高配的服务器会好些,所以这个优化改动大家请慎重选择。



区名修改
区名修改很简单,打开 Navicat 连接 MongoDB,打开数据库 shanhaitbkf 集合 a_qufu,修改 name 即可,重启游戏后生效。



公告修改
公告修改也很简单,同样修改 MongoDB,打开数据库 shanhaitbkf 集合 a_setting,修改 id 为 6 和 9 的 value 值,按照原有格式修改即可,分别代表游戏内公告和登录界面公告,重启游戏后生效。



密码修改
开服的话肯定是需要修改一些默认密码的,否则会被别人登录篡改数据攻击,MySQL 和 Redis 的密码不用修改,因为默认是无法远程连接的,他人是无法连接登录的。
主要修改的是运营后台的密码,需要修改 MongoDB,打开数据库 shanhaitbkf 集合 a_user,修改 pwd 值即可。



资源外置
因为游戏支持 H5 链接,所以会加载大量的游戏静态资源占用宽带,观察浏览器网络请求,发现大量的静态资源都在 /www/wwwroot/web-mobile/assets 目录下,所以我们将 assets 目录上传到资源服务器目录 /www/wwwroot/13dao 下。



注意我们还需要修改一个文件的 IP,文件 /www/wwwroot/13dao/assets/pzwj/import/8c/8c76ddfa-1253-4d67-8294-3ff77d5a10b0.json,将 IP(43.140.249.71)修改为你的游戏服务器 IP。
然后在资源服务器上创建可访问的资源站点,域名填写 IP:port,IP 为资源服务器 IP,端口 port 不要使用已占用的端口,根目录选择 /www/wwwroot/13dao。



创建完后需要修改配置文件,使得游戏服务器可以跨域访问到资源服务器的文件。
#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,配置文件中添加重定向代码:
# 重定向 /assets/ 路径
location ^~ /assets/ {
    return 301 http://资源服务器IP:port$request_uri;
}








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



游戏重启
游戏建议每天至少重启一次,保证游戏的稳定性,通过宝塔计划定时执行重启游戏命令:
pkill -9 node
cd /data/www/shanhai_backend_tb
npm run build
nohup node ./dist/app.js >>all.log 2>&1 &
npm run buildAdmin
nohup node --max-old-space-size=8192 ./dist/admin/www.js >>all.log 2>&1 &








游戏清档
游戏的运营后台:http://IP:4030 提供了清档功能,口令是 qxt2022,然后分别点击 4、5、9、10,我简单测试了下,应该是生效的。



不过我更建议按照我的方式清档,分别对三种数据库清档。其中 MySQL 和 MongoDB 按照教程上面的重新导入即可,Redis 在宝塔中可以直接清空数据库,然后重启游戏即可。



数据迁移
首先说下为啥要研究数据迁移,此事说来话长,上月本来是要出白日门恋战传奇的,在测试过程中发现当玩家达到两位数后,游戏就会明显延迟卡顿,一联想要每次发布新游戏,我弱小的服务器根本无法让很多玩家进入,于是我一咬牙就买了一个高配的服务器,想着用高配服务器测试下恋战传奇,结果最终发现不是服务器的问题,应该是端的限制,游戏对并发处理的不好,最终放弃了这款传奇。



虽然传奇没有测试通过,但是这个高配服务器让我有了一个大胆的想法,那就是以后发布新游戏,我先部署在高配服务器上,让大家畅玩个 1-2 个月,游戏能够基本毕业,然后在将游戏数据迁移到我的普通长久的服务器上,还能继续玩。
这样大家就不会因为开服人多,游戏卡顿或者无法进入而苦恼了,不过就是需要我搭建两遍游戏,然后迁移游戏数据 - -,不过想想大家终于能够畅快的玩我的游戏了,我还是很激动的,一切都是值得的。
言归正传,忆游十三道数据迁移需要迁移三种数据库的数据。先关闭两个服务器的游戏服务,在原服务器宝塔中 MySQL 和 MongoDB 都可以直接备份数据,然后在新服务器上选择对应的数据库导入备份数据。mongoDB 也可以使用 Navicat 导出 js 脚本,然后运行脚本导入新的服务器。这里重点说下 Redis 数据迁移。
首先一定要先停止新服务器的 Redis,否则导入后很快就会覆盖掉出问题,找到原服务器文件 /www/server/redis/dump.rdb,这个是 Redis 持久化保存的文件,下载下来,然后上传到新服务器目录 /www/server/redis/,覆盖掉原文件,再启动 Redis,启动会自动读取这个文件的内容,这样 Redis 数据迁移就搞定啦!
游戏源码
这次我将在资源中分享忆游十三道的源代码,不是编译好的端哈,源码使用的技术是 cocos + ts,入门门槛并不高,想研究游戏或者二开的小伙伴可以试试,后面我会尝试开发修改一下,如果研究的还可以可能会出个教程也说不定,哈哈~   


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册  

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

QQ|Archiver|手机版|小黑屋|IT资源馆 ( 粤ICP备2025420613号 )|网站地图

GMT+8, 2026-7-19 17:24 , Processed in 0.102723 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表