传奇手游架设全流程实操:从服务端部署到三端互通开服

来源: 作者: 点击:
一、前期准备
1. 服务器:Windows Server 2019/2022 或 Linux 加宝塔面板,4核8G起步,硬盘留20G以上空间,外网开区选BGP多线节点。
2. 服务端:完整手游包,必须含 sql、conf、start 目录,以及 DBServer、LoginGate、GameGate、M2Server、MobileGate 组件。
3. 数据库:MySQL 5.7/8.0 或按引擎要求装 MongoDB/DBC,装好 Navicat 或 phpMyAdmin。
4. 客户端:安卓 APK 基础包、iOS IPA 基础包、PC 登录器生成器,版本必须和引擎同代。
5. 工具:Notepad++、APKTool/改之理/MT管理器、APK签名工具、Java 环境、模拟器(雷电/夜神)。

二、服务端解压与路径规范
把服务端解压到 D:\MirServer 或 /data/server,全英文路径,禁止中文、空格、桌面路径。
检查关键目录:
• Mir200\Envir(脚本、爆率、NPC)

- Mir200\Castle(沙城)
• DBServer(数据库配置)

• LoginGate / GameGate(网关)

• MobileGate(手游网关)

• Data、Map、PAK、WIL、WZL(资源)

三、数据库初始化
MySQL 场景:
CREATE DATABASE game_db DEFAULT CHARSET utf8mb4;
导入包内 sql 文件,确认有 account、role、item、guild、monster 表。
新建专用账号,如 gameuser,只授权 game_db,别用 root 跑服务。
改 DBServer.ini / DBConfig.ini:
DBHost=127.0.0.1
DBPort=3306
DBUser=gameuser
DBPass=你的密码
DBName=game_db

DBC 老引擎:
装 DBC2000,建 HeroDB,路径指向 Mir200\Mud2\DB,大小写一致。

四、全局替换IP与端口
单机架设保留 127.0.0.1;
外网把以下文件里的 127.0.0.1 全换成公网IP:
• !Setup.txt

• DBServer.ini

• LoginGate.ini

- GameGate.ini
• MobileGate.ini

• serverlist.json

• config.ini

• YMConfig.lua / netconfig.lua

• project.manifest / version.manifest

常用端口:
• 登录网关 7000

• 游戏网关 7100/7200

• 手游安卓 8080

• 手游iOS 8081

• 数据库 3306

• 热更/微端 8000

Linux 快速扫残留:
grep -r "127.0.0.1" ./conf
grep -r "127.0.0.1" ./Mir200

五、防火墙与云安全组
系统防火墙和云安全组同时放行上述 TCP 端口。
临时排错可先全开 1-65535,通了再收口。
本机验证:
netstat -tlnp
看到 7000、7100、8080 处于 LISTEN 再继续。

六、启动顺序(错序必崩)
Windows GOM/GEE/战神类:
1. Redis(有则先起)
2. MySQL / DBServer(显示数据库连接成功)
3. LoginGate(登录网关)
4. GameGate / RunGate(游戏网关)
5. M2Server(主引擎,日志无红字,加载地图/NPC/脚本完毕)
6. MobileGate(手游网关)

Linux 战神类:
先起 LoginServer → DBServer → GameServer → MobileGate
看日志无 Bind failed、DB connect error 即正常。

关服反向操作:先踢人,再关 M2,关网关,关数据库。

七、M2核心参数配置
进 M2Server 控制台:
• 经验倍率、爆率倍率按版本调

• 开启“移动端支持/三端互通”

• 角色创建限制、转生、合击参数按需改

- 爆率看 MonItems 目录,1/100 越小爆率越高
• 刷怪看 MonGen.txt:地图 X Y 怪物名 数量 间隔 范围

• NPC 看 NpcDef + QuestDiary,脚本报错会带文件名行号

改完重载对应模块,不生效就重启 M2 和网关。

八、PC端登录器
用引擎自带登录器生成器:
填 IP=公网IP,端口=7000,选对应引擎类型。
把服务端 Key 文件覆盖到登录器目录,保证两端密钥一致。
PC 客户端根目录放入 Data/Map/PAK 补丁,Pak.txt 密码对齐。
生成 exe,注册账号进游戏。

九、安卓APK改包
用 APKTool 或改之理反编译:
找 assets 或 res 下:
- ServerIP.txt
• serverlist.json

• project.manifest

• YMConfig.lua

把 IP 改成公网,端口对照 MobileGate(一般8080)。
若改了热更包 mir2.zip,必须重算 MD5 写回 manifest,否则黑屏不更新。
回编译后用 APKSigner 签 V1+V2+V3:
keytool 生成 keystore → apksigner sign --ks xxx.jks app.apk
装到雷电模拟器或真机,开未知来源权限。

十、iOS IPA处理
解 IPA:
Payload/mir2-iOS.app/res/project.manifest
或 Info.plist / ServerConfig.plist
改公网IP和端口(一般8081或9090)。
签名方式:
• 个人:AltStore/免费证书,7天有效

• 正规:99美元开发者账号 Xcode 出包

• 分发:TestFlight 或企业签

真机装完去 设置→通用→VPN与设备管理 信任证书。

十一、三端互通校验
M2 勾选三端互通,PC/安卓/iOS 读同一套 MySQL 角色表、背包表、行会表。
同账号在三个端切换,等级、装备、元宝、行会数据一致才算通。

十二、常见炸点速查
1. M2报DB失败:库名错、密码错、DBC路径错、PDOX锁文件。
2. 手机连接失败:网关没起、端口被占、安全组没放、manifest IP还是127.0.0.1。
3. 进游戏黑屏:微端8000没起、PAK密码错、资源目录指错、MD5没重算。
4. 装备问号:WIL/WZL/PAK 缺失或物品ID对不上。
5. 地图白块:Map文件与MapInfo不同名,或客户端没塞地图补丁。
6. 闪退:APK签名不完整、ATS未允许明文、端口错、Lua配置格式错。
7. NPC点不动:脚本编码错或 QuestDiary 逻辑死循环,看M2红字定位。
8. 数据不保存:直接关黑窗导致表损坏,按序关服,定期 mysqldump 备份。

十三、GM与日常维护
M2 添加角色名到管理员列表,给 GM 命令权限。
后台可刷装备、调等级、改爆率。
备份策略:
mysqldump -u gameuser -p game_db > backup.sql
同时拷 Envir、DB、Map、Data 目录。
日志盯 M2Server.log、LoginGate.log,异常登录和频繁掉线优先查网关与网络抖动。

十四、单机调试最小闭环
本机起 MySQL → 起 DBServer → 起 LoginGate → 起 GameGate → 起 M2 → 起 MobileGate
安卓模拟器装改好IP的APK,注册建角色,进比奇。
验证四件事:地图不黑、NPC能对话、打怪掉物进背包、下线重登数据还在。
这套跑通,再切公网IP做外网开区。

以上步骤覆盖 GOM、GEE、战神、白日门类主流手游引擎,按自己拿到的包结构对照文件路径微调即可。