一、前期准备
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、战神、白日门类主流手游引擎,按自己拿到的包结构对照文件路径微调即可。
传奇手游架设全流程实操:从服务端部署到三端互通开服
来源:
作者:
点击:

