传奇手游架设教程:服务端部署、引擎配置与安卓iOS客户端对接

来源: 作者: 点击:
传奇手游架设本质是“PC端M2架构 + 手游网关(MobileGate)+ 安卓/iOS客户端”的组合工程。主流方案分两条线:Windows下用GOM/GEE/HeroM2手游版做单机架设,Linux下用战神/996/龙族引擎做云服部署。下面按“环境准备 → 服务端部署 → 数据库 → 网关与M2启动 → 安卓/iOS客户端改IP打包 → 三端互通验证”的顺序拆开讲。

一、引擎与资源选型

• GOM移动引擎 / GEE引擎:自带登录器生成器,支持安卓APK、iOS工程、PC端三端,适合单机及小型外网。

• 战神引擎:基于Java,Linux云服友好,配套安卓APK模板,iOS需自行重签。

- 996 / 龙族 / V8:主打三端互通,自带MobileGate目录与多端配置器。
• HeroM2手游版:需搭配DBC2000或内置SQLite,MirMobileServer为核心目录。

服务端包必须包含:DB(或Mir200/DB)、MobileGate(手游网关)、M2Mobile/M2Server(核心)、Setup(配置)、登录器生成器、APK/IPA模板。缺MobileGate等于没有手游端入口。

二、服务器环境与路径规范

Windows单机:
• 系统 Win10/11 专业版或 Windows Server 2012+

• 运行库:Visual C++ 合集、.NET Framework 4.0+、DBC2000(Hero/GOM用)

- 路径纯英文:D:\MirServer 或 D:\LegendServer,严禁 D:\游戏\服务端 这种中文路径
• 防火墙放行:7000(登录网关)、7100(角色网关)、7200(游戏网关)、8080(安卓)、8081/9090(iOS)

Linux云服:
• CentOS 7.6+ / Ubuntu 20.04+

• 宝塔面板 + Nginx + MySQL5.6/5.7 + PHP5.6(战神/996网页后台依赖)

• Java 1.8(战神引擎必需)

- 安全组放行上述TCP端口

三、服务端解压与配置文件修改

解压服务端到 D:\MirServer,检查目录树:

D:\MirServer
├─ GameCenter.exe (GOM引擎控制器)
├─ DBServer\
├─ LoginGate\
├─ M2Server.exe
├─ MobileGate\ (手游网关,必须存在)
├─ Mir200\
│ ├─ Envir\ (NPC/怪物/爆率脚本)
│ ├─ Data\ (PAK补丁)
│ └─ Setup.txt
└─ 登录器生成器\


改IP核心文件(单机填127.0.0.1,外网填公网IP):
• Mir200\Setup.txt → ServerIP=127.0.0.1

• DBServer\Config.ini → DBAddr=127.0.0.1

- LoginSrv\!addrtable.txt
• MobileGate 下的 gateway_cfg.lua / session_cfg.lua / MobileSetup.txt → 游戏IP、手游端口

- 战神引擎:config.ini、serverlist.json 批量替换127.0.0.1为公网IP

GOM的DBServer\Config.ini 范例:

DBAddr=127.0.0.1
DBName=Mir200
DBUser=sa
DBPwd=123456
DBPort=1433

GEE部分版本用SQLite,免装SQL;Hero系用DBC2000建别名HeroDB,指向 D:\MirServer\Mud2\DB。

四、数据库初始化

GOM/SQLServer路线:
1. 装 SQL Server Express,记住 sa 密码
2. 建库 Mir200,或靠 DBServer 自动建
3. 部分版本需执行服务端内 init.sql / 导入MDF

DBC2000路线(Hero/GOM老版):
1. 控制面板 → BDE Administrator → 新建别名 HeroDB
2. PATH 指向 D:\MirServer\Mud2\DB
3. 应用、退出、重启电脑生效

MySQL路线(战神/996/Linux):
mysql -u root -p
CREATE DATABASE legend CHARACTER SET gb2312;
USE legend;
SOURCE /path/to/server.sql;

账号密码写进服务端配置,字符集用 gb2312 或 utf8mb4,避免中文乱码。

五、启动顺序(错序必崩)

Windows GOM/GEE 标准顺序:
1. DBServer.exe(数据库服务,显示“连接成功”)
2. LoginGate.exe(登录网关,监听7000)
3. 角色网关 / 游戏网关
4. M2Server.exe(核心,加载地图/NPC/脚本,底部显示在线0人无红字)
5. MobileGate.exe(手游网关,监听8080/8081)

Linux 战神引擎:
./q.sh
# 或顺序执:LoginServer → DBServer → GameServer → MobileGate

看日志无 Bind failed、无 DB connect error 即正常。

六、PC端登录器与补丁

1. 服务端“登录器生成器”填 IP=127.0.0.1 端口=7000,生成 exe
2. 把 exe 拷到PC客户端根目录(与 mir.exe 同级)
3. 服务端 Data/Map/Wav/补丁PAK 覆盖到客户端根目录
4. Pak.txt 密码对齐,PakValidator 全绿
5. 双击登录器 → 注册账号(英文数字)→ 进游戏

七、安卓APK改IP与重签

1. 用 Android Studio / 改之理 / APKTool 反编译APK
2. 定位 assets 或 assets/kuniu/ 下的:
- defServerList.json
• serverlist.txt

• project.manifest

• netconfig.lua / YMConfig.lua

3. 把其中 127.0.0.1 改成服务器公网IP,端口对照 MobileSetup(安卓8080)
4. 保存 → 回编译 → V1+V2+V3 签名(MT管理器/APKSigner/Android Studio)
5. 安装到手机或雷电/蓝叠模拟器,账号密码登录

注意:只改IP不改端口、或签名不完整,现象就是“正在连接”后闪退。

八、iOS端配置与签名

1. 解压 IPA 或用 Xcode 打开 iOS 工程
2. 改 Payload/mir2-iOS.app/res/project.manifest 或 Config/ServerConfig.plist
3. ServerIP=公网IP,ServerPort=9090/7200(看引擎)
4. 资源同步:把服务端 PublicData/Data 转成 iOS 资源塞进 Resources
5. 签名方式三选一:
• 正规:苹果开发者账号 $99/年,Xcode Archive 出 IPA

• 测试:AltStore 免费个人证书(7天有效)

• 分发:TestFlight / 企业签名

6. 真机安装,同一账号登录验证

九、三端互通与GM权限

三端互通开关在 M2Server → 选项 → 高级设置 → 三端互通,勾选后强制三端读同一套角色表、背包表、行会表。

GM权限三种加法:
• M2界面:查看 → 列表信息 → 游戏管理 → 管理员列表 → 加角色名,等级10

• 文本:Mir200\Envir\AdminList.txt 追加角色名,重启M2

• 数据库:Navicat 连 MySQL,Accounts 表 admin_level=10、is_gm=1

十、常见故障速查

• 黑屏/闪退:IP填错、APK签名失效、客户端补丁未覆盖

• 连不上网关:防火墙没放行、MobileGate没启动、端口被占用(netstat -ano查)

• DBC连接失败:HeroDB路径错、DB文件夹缺文件,重配BDE重启

• 怪物不刷:Mir200\Envir\Mongen.txt 为空,用 mongen_back.txt 还原

• NPC没反应:Market_Def 下脚本缺文件

• iOS闪退:plist 端口错、证书过期、资源目录大小写不匹配

• 三端不同步:各端网关没指向同一个DB实例,或三端互通没勾

按上面顺序走,单机版半小时能进游戏;云服外网版多花一小时在端口映射和APK重签上。引擎控制器里所有IP、端口、数据库名必须三方一致(配置文件、登录器、客户端),只要有一处对不上就会卡在连接界面。