AI DIGEST
AI 摘要
LIVE

文章提供《疯狂水世界》S5内购版手工端从零到上线的完整教程:基于Cocos引擎,服务端运行于CentOS 7.6 Linux,使用Node网关、Redis缓存、MySQL 8.0与Nginx 1.28。步骤包括:重装系统并放行端口、安装宝塔与环境组件、配置PHP扩展与Redis密码、上传解压服务端、导入数据库、在宝塔启动Node网关、反编译安卓与iOS客户端修改IP并签名。教程给出常见问题与后台地址,按流程可实现从空白服务器到成功登船出海。

《疯狂S世界》S5 赛季内购版手工端架设实录:跟着 30 分钟教程视频,从空白服务器到登船出海

最近拿到一份《疯狂水世界》S5 赛季内购版的手工端整合包,里面带了手工端、安卓客户端、镜像端,以及一段长达 30 分钟的架设教程视频。我把视频逐段拆开看了两遍,把作者敲的每一条命令、点的每一个按钮都记了下来,整理成这篇图文教程。照着做,一台空白的服务器就能跑起这个游戏——视频结尾作者本人也是用同样的流程成功进到游戏里的。

先交代一下底子:这是一个 Cocos 引擎做的海岛生存类手游,服务端跑在 Linux 上,用 Node 做网关,Redis 做缓存,MySQL 存数据。整体架设思路不复杂:装面板 → 配环境 → 传服务端 → 导数据库 → 起 Node 项目 → 客户端改 IP → 进游戏,七步走完。

一、开工前的准备:服务器与工具清单

视频开头作者先交代了硬件要求:CentOS 7.6 系统,服务器配置建议 8G 内存起步。演示时他用的是一台 4 核 16G 的轻量云服务器;如果你内存只有 4G,后面可以用 Linux 工具箱加虚拟内存补救,这个第三节会讲。

服务器买好之后,第一件事是到云厂商控制台重装成 CentOS 7.6,顺手设置 root 密码。视频里用的是腾讯云轻量,在控制台点「重装系统」选镜像即可;阿里云操作同理。重装完记得去「防火墙」(阿里云叫安全组)添加放行规则,视频作者的做法是图省事直接放行 1-65535 全端口段,你在意安全的话可以只放行后面列出的游戏端口。

然后是本地工具,视频里出现的是这三样:

工具 用途 备注
FinalShell(或同类 SSH 工具) 连接服务器执行命令、上传文件 第一次连接会弹指纹确认,选「接受并保存」
浏览器 访问宝塔面板 —
新版 jsc 解密工具 1.44 + APK Tool / MT 管理器 反编译安卓客户端、改 IP、回编译签名 整合包「客户端」目录里自带

连接服务器时,主机填公网 IP,端口 22,用户名 root,密码就是重装系统时设的那个。

《疯狂S世界》S5 赛季内购版手工端架设实录:跟着 30 分钟教程视频,从空白服务器到登船出海

视频 01:54 画面 —— 这里安装的版本啊,也给你们写好了,哎好,然后安装的环境这里的版本都给你们写上了,NG装一点,28的,

《疯狂S世界》S5 赛季内购版手工端架设实录:跟着 30 分钟教程视频,从空白服务器到登船出海

视频 02:54 画面 —— 这里是10G的蓄力内存,这个10240是10G的蓄力内存,添加好之后显示在这个交换这里,

二、装宝塔,配环境(Nginx / MySQL 8.0 / PHP 7.4)

SSH 连上之后,第一步照着整合包里的搭建说明装宝塔面板,把安装命令粘贴进终端回车,中途问你是否继续时输入 y 回车。装完终端会输出面板访问地址、账号和密码,用浏览器打开登录。第一次登录会要求绑定宝塔手机号,可以跳过。

登录后宝塔会弹出一键安装环境的推荐套件,这里就是整个教程的第一个分水岭——版本别乱选。视频作者对着整合包说明逐个确认的版本是:

组件 版本要求 来源
Nginx 1.28 推荐套件勾选安装
MySQL 8.0 推荐套件勾选安装
PHP 7.4 推荐套件勾选安装
Redis 默认稳定版 软件商店搜索安装
Node.js 版本管理器 v16.20.2 软件商店搜索安装(见下节)
Linux 工具箱 任意版本 可选,用于加虚拟内存

视频作者的宝塔版本较旧,最高只能装到 Nginx 1.24,他特别说明了这一点:新版宝塔直接装 1.28 就行,不影响后续流程。推荐套件里没有的 Redis,去「软件商店」搜出来单独装。

关于内存:作者实测这个服务端跑起来内存占用约 8G。内存不够(比如 4G 小鸡)就去软件商店装个「Linux 工具箱」,在设置里添加 Swap 虚拟内存——4G 内存大概再加 5G 左右的 Swap。他自己的机器内存充足,现场演示加了个 10G(填 10240)。

《疯狂S世界》S5 赛季内购版手工端架设实录:跟着 30 分钟教程视频,从空白服务器到登船出海

视频 04:54 画面 —— 这个你就输入你自己服务系的外网IP,然后回车,然后就可以了,然后这里宝堂,网站,NG第一项目,添加项目,

《疯狂S世界》S5 赛季内购版手工端架设实录:跟着 30 分钟教程视频,从空白服务器到登船出海

三、PHP 扩展与 Redis:两个最容易漏的坑

环境装完不等于能用。视频 13 分钟处,作者专门停下来装了两样容易漏的东西:

  1. PHP 7.4 安装扩展:软件商店 → 找到 PHP 7.4 → 设置 → 安装扩展,把 fileinfo 和 redis 这两个扩展装上。整合包说明里特别点名了 fileinfo 和 Redis,漏装后面起服务会直接报错。
  2. Redis 设置密码:软件商店 → Redis → 设置 → 性能调整,把整合包说明里给的那串 Redis 密码填进去保存,然后点「服务」→ 重载配置 → 重启。作者强调了一个细节:Redis 改完密码最好重启两遍,他遇到过只重启一遍密码不生效的情况。

Node 也在这一步一起装掉:软件商店搜「Node.js版本管理器」安装,打开后点「更新版本列表」,往下拉找到 v16.20.2 安装,装完把命令行版本切换成 v16.20.2。注意不要装更高的 18/20 大版本,网关项目是按 16 写的。

《疯狂S世界》S5 赛季内购版手工端架设实录:跟着 30 分钟教程视频,从空白服务器到登船出海

视频 08:54 画面 —— 但是装口后面必须要留一个鞋杠,

《疯狂S世界》S5 赛季内购版手工端架设实录:跟着 30 分钟教程视频,从空白服务器到登船出海

四、放行端口与关闭防火墙

接下来放行端口。宝塔 → 安全 → 添加端口规则。整合包说明里给了两种方案:

  • 省事方案:放行 1-65535 全端口,同时用命令关掉系统防火墙(systemctl stop firewalld.service 和 systemctl disable firewalld.service 两条)。视频作者自己用的就是这套。
  • 安全方案:只放行游戏实际用到的端口段(8866、20651、50052、50053、50054、888、90、8092、8093、9042、100、8090、9091 这些),防火墙保持开启。作者明确说这种更安全,推荐在意安全的用户用。

别忘了云厂商那一层的防火墙/安全组也要放行,就是第一节里重装系统后加的那条规则,两层都要通。

五、上传并解压服务端

把手工端里的 server.zip 上传到服务器根目录。视频里作者用 FinalShell 的文件管理器,双击进入 /(根目录的标志是里面能看到 bin、etc、root、usr 这些系统目录),把压缩包直接拖进去等进度条走完。文件六百多兆,公网上传要等一会儿。

上传期间不要闲着——作者特意提醒,解压要等宝塔环境全部装完(至少 PHP 装完)之后再做,同时趁等待的时间把 PHP 扩展和 Redis 密码这些事办了。

环境就绪后,依次执行三条命令:

cd /
unzip server.zip        # 解压服务端
/etc/init.d/nginx reload   # 重载 Nginx,加载后台站点配置
chmod -R 777 /root         # 给服务端目录授权
chmod -R 777 /www/wwwroot  # 给站点目录授权

《疯狂S世界》S5 赛季内购版手工端架设实录:跟着 30 分钟教程视频,从空白服务器到登船出海

视频 07:54 画面 —— 通常的去调一下里面的IP,跟安卓修改一样,

《疯狂S世界》S5 赛季内购版手工端架设实录:跟着 30 分钟教程视频,从空白服务器到登船出海

六、数据库:改密码、一键导入

服务端压缩包里带了现成的数据库脚本,不需要手动建库。流程两步:

  1. 把 MySQL root 密码改成 Test1234(服务端配置文件里写死的就是这个密码,改别的就得自己去配置文件里同步,没必要)。宝塔 → 数据库 → 点击 root 密码 → 填入 Test1234 → 提交。
  2. 执行导入命令。整合包说明里给了一条一键导入命令,复制到终端回车即可,脚本会自动建库灌数据。命令跑完没有红色报错就是成了。

《疯狂S世界》S5 赛季内购版手工端架设实录:跟着 30 分钟教程视频,从空白服务器到登船出海

七、Node 网关项目:让手机能连上服务器

这是整个架设里最「看不见摸不着」的一步,好在宝塔的 Node 项目功能把它图形化了。路径:宝塔 → 网站 → Node 项目 → 添加 Node 项目。视频里作者逐项填的是:

配置项 填什么
项目目录 /www/wwwroot/zhgback(解压后自动出现的网关目录)
启动选项 自定义命令:node --use-strict app.js
项目端口 100
运行用户 root
Node 版本 v16.20.2(前面装好并切过的那个)
项目名称 zhgback(跟目录同名即可)

新版宝塔的添加界面默认只显示前几项,需要点一下「显示其他选项」之类展开,才能看到启动选项、运行用户这些字段,视频作者也专门提醒了这一点。

提交之后项目状态变成「运行中」就说明网关活了。如果起不来,九成是 Redis 密码没生效(回去重启两遍)或者 PHP 扩展没装全。

《疯狂S世界》S5 赛季内购版手工端架设实录:跟着 30 分钟教程视频,从空白服务器到登船出海

视频 18:00 画面 ——

《疯狂S世界》S5 赛季内购版手工端架设实录:跟着 30 分钟教程视频,从空白服务器到登船出海

八、客户端反编译与改 IP

服务端这边全部就绪后,轮到客户端。安卓端用的是整合包里的「新版 jsc 解密 1.44」工具,它自带 Java 运行环境;如果你自己另下 APK Tool,记得去下带 JRE 的完整版。视频里的操作顺序:

  1. 把工具压缩包完整解压(不要在压缩软件里直接双击运行 exe),得到反编译工具目录。
  2. 把游戏 APK(浪漫水世界_mod_signed.apk)拖到工具的路径输入框,点「反编译」,等日志跑完,会生成一个与 APK 同名的文件夹。
  3. 进入反编译出来的文件夹,按整合包说明列出的路径改三个文件:assets/project.manifest、assets/version.manifest,以及 smali/com/gv/cocos/utils/SDKSupport.smali——前两个是 Cocos 的热更清单,里面写着资源服务器地址;第三个 smali 文件里藏着连接服务器的 IP,只有反编译之后才看得到。把这些文件里所有指向原服务器的地址替换成你自己的服务器公网 IP(视频演示机是从 192.168.200.128 改成演示 IP,实际以你机器为准)。注意只改这三个文件,其余别动。
  4. 改完把整个文件夹拖回工具,点「回编译」,回编译完成后得到新 APK。
  5. 签名:用 MT 管理器给新 APK 签名,V1、V2、V3 都勾上。不签名或只签 V1,新版安卓系统会直接拒装。
  6. 把签名好的 APK 装进雷电模拟器(或者真机),打开游戏。

视频里模拟器第一次启动时弹过一次「网络异常,请稍后重试」,那是因为服务端 Node 项目还没起好;网关正常后再进就能顺利登录了。

《疯狂S世界》S5 赛季内购版手工端架设实录:跟着 30 分钟教程视频,从空白服务器到登船出海

视频 21:30 画面 ——

《疯狂S世界》S5 赛季内购版手工端架设实录:跟着 30 分钟教程视频,从空白服务器到登船出海

九、iOS 端的改法(十四位 IP 限制)

视频结尾 27 分钟处作者补了苹果端的改法:iOS 没有反编译工具,用压缩软件直接打开 IPA,找到与安卓相同的清单文件,把里面的 IP 改成跟安卓一致即可。

但有个硬限制必须注意:IPA 里存的 IP 是按位数对位替换的,算上端口和斜杠最多容纳 14 个字符。你的「IP:端口/」比原来长,就得删掉多余的斜杠来凑位——端口后面的斜杠必须保留,否则客户端读取会出错。视频里演示的替换串是「14.66.31.30:8866///」这种形式,数得很清楚。所以:

  • IP 超长(比如某些长 IP):换成短域名,或者精简端口;
  • 改了网站端口的话,安卓端对应的位置也要同步按位改,两边必须对齐。

作者原话是「要么改网站端口,要么改文件路径,要么用域名」,总之围绕 14 位这个上限做文章。演示时他自己的 IP 太长改不进去,就把演示回退了,但规则讲得很明白。

《疯狂S世界》S5 赛季内购版手工端架设实录:跟着 30 分钟教程视频,从空白服务器到登船出海

视频 28:12 画面 ——

《疯狂S世界》S5 赛季内购版手工端架设实录:跟着 30 分钟教程视频,从空白服务器到登船出海

十、启动游戏与后台地址一览

服务端日常启停在 /root/ccc 目录:cd /root/ccc 后执行 ./sk,看到「Starting sk… OK」和监控提示就是启动成功;停服用 ./sk stop。Node 网关在宝塔后台可以随时重启。

游戏自带一套运营后台,整合包说明里都列了,装好后按需取用(演示机 IP 换成你自己的):

入口 地址 账号 / 密码
总后台 http://服务器IP:90/agent/login.html admin666 / admin666
代理后台 http://服务器IP:90/agent/login.html 自行在总后台创建
平台后台 http://服务器IP:90/agent/index.html 演示账号 13333333334 / 123456
注册地址(带代理参数) http://服务器IP:90/reg/index/index?agent=代理账号 —
CDK 后台 http://服务器IP:90/ht/cdk/ —
CDK 激活 http://服务器IP:90/psy/ —
GM 后台 http://服务器IP:90/ht/gm/ —

视频 26 分钟处作者补充:注册地址里的代理账号可以自己创建——去代理后台注册一个代理,把地址里的参数换成你的代理账号即可,每个代理的邀请码都不一样;日常运营主要用的就是 CDK 后台。客户端注册时需要填注册通道码(演示包里预设的是 MMYC50,写在整合包说明里)。

最后是见证结果的时刻:模拟器打开改好 IP 的客户端,注册通道码填上,注册账号登录——加载条走完,像素风的大海和木筏就出现在屏幕上了。开局主角漂在海上,任务提示「在海滩上拾取 13 份木材」,血条、钻石、金币、建造栏一应俱全,内购代金券版 S5 赛季的内容都在。下面两张就是视频结尾搭建成功后的实机画面:

《疯狂S世界》S5 赛季内购版手工端架设实录:跟着 30 分钟教程视频,从空白服务器到登船出海

视频 30:00 画面 ——

《疯狂S世界》S5 赛季内购版手工端架设实录:跟着 30 分钟教程视频,从空白服务器到登船出海

十一、常见问题

1. Node 项目启动失败? 先查两件事:Redis 密码是否真的生效(改完重启两遍)、PHP 的 fileinfo / redis 扩展是否装了。网关连不上 Redis 是最常见的原因。

2. 客户端一直「网络异常」? 三个 IP 检查点:三个客户端文件里的 IP 是否全部替换、服务端 /root/ccc 的 sk 是否启动、Node 网关项目是否「运行中」。另外云服务器安全组和宝塔防火墙两层都要放行端口。

3. 内存不够、服务起不来? 8G 内存是建议下限。4G 机器先加 5G 左右 Swap 再启动,能明显缓解。

4. iOS 装 IPA 时客户端报读取错误? 十有八九是对位替换时把端口后的斜杠删掉了,那个斜杠必须保留。

5. MySQL 密码能改成别的吗? 可以,但服务端配置文件里写的是 Test1234,改密码就得连配置文件一起改,一劳永逸的做法还是照教程设成 Test1234。

下载地址

我用夸克网盘给你分享了「FKSSJS5SJBDJJ」,点击链接或复制整段内容,打开「夸克APP」即可获取。
/~3ab33amdDe~:/

 

© 版权声明
THE END
文章不错?点个赞呗
点赞15 分享
评论 共27条

请登录后发表评论