传奇手游架设教程:安卓iOS服务端部署实操

来源: 作者: 点击:
先说前提,手机端传奇不是把电脑端 MIR 搬过去就能跑,它通常是“Windows 服务端 + 安卓/iOS 客户端 + HTTP 列表/微端 + 网关”的组合。新手别一上来买云服务器就开外网,先在本机虚拟机把整套跑通:能注册、能进选角、能打怪、能攻沙,再谈公网。

下面按市面常见的 GOM/GEE 手游版、翎风手游、Hero 手游壳、单职业 H5/Unity 壳 来讲,名字各版本不一样,但底层就四块:
1. 服务端(M2/GameSrv/DB)
2. 网关(LoginGate/GameGate/Web 列表)
3. 客户端(安卓 apk / iOS ipa / H5)
4. 资源(补丁、Pak、热更、微端)

一、机器和环境
• 服务端:Windows Server 2012/2016/2019 或 Win10 都行,建议 4 核 8G 起步,人多了再加。

- 数据库:老手游壳用 DBC2000+HeroDB,新 Unity 手游多用 MySQL(3306)或 SQL Server。
• Web 层:IIS / Nginx / 小皮面板(PHP+MySQL)用来放登录列表、支付回调、微端资源。

- 手机:安卓最省事,APK 直接装;iOS 没企业签就得自签/越狱/TestFlight,不然进不去。
• 本机测试 IP 用 127.0.0.1 或局域网 192.168.x.x;公网才用域名/IP。

二、解压服务端
别放 C:\Program Files。放:
D:\MirMobile\
常见目录:
D:\MirMobile\DBServer
D:\MirMobile\LoginGate
D:\MirMobile\GameGate
D:\MirMobile\GameSrv 或 M2Server
D:\MirMobile\Mir200\Envir
D:\MirMobile\Web(列表.php / serverlist.json / patch)
D:\MirMobile\MySQL\ 或 单独装 MySQL

三、数据库这一步最容易被卡
A. 老 Hero 系手游:
装 DBC2000 → BDE Administrator → 新建 HeroDB → PATH 指向
D:\MirMobile\DBServer\HeroDB
保存。DBServer 起不来先看这里。

B. MySQL 系手游:
1. 装 MySQL 5.7 / 8.0,记住 root 密码。
2. 用 Navicat / 小皮面板导入版本里的 xxx.sql(game、account、pay、log 库)。
3. 改服务端配置:
• D:\MirMobile\GameSrv\Config.ini

• Mir200\!Setup.txt

• 各 Gate 的 ini

里头的 DBHost=127.0.0.1; DBUser=root; DBPass=你的密码; DBName=game
密码写错,M2 一起步就 “mysql connect failed”。

C. 有些版本用 Redis 做缓存(热更新/排行榜/邮件),那还得装 Redis,Windows 版有微软旧编译版,新版本用 WSL 或 Linux 小机跑更稳。

四、改 IP / 域名
单机或局域网:
• DBServer.ini → 127.0.0.1

• LoginGate.ini → 后端 127.0.0.1,对外 127.0.0.1

• GameGate.ini → 同机就 127.0.0.1

- M2/GameSrv 内部通信 → 127.0.0.1
• Web 列表文件:

serverlist.json 里
{"name":"测试1区","ip":"127.0.0.1","port":7000,"res":"http://127.0.0.1/patch/"}
公网时把这些 127.0.0.1 换成服务器公网 IP 或域名;HTTPS 列表要配证书,不然安卓 9+ 以上默认拦 http 资源。

五、启动顺序(和端游差不多,但多一层 Web)
1. MySQL / Redis 先起
2. DBServer
3. LoginGate
4. GameGate(可能有多个:游戏网关、聊天网关、跨服网关)
5. LogServer
6. M2Server / GameSrv
7. 起 Web(IIS/Nginx/小皮),浏览器开 http://127.0.0.1/serverlist.json 能看到区列表
8. 安卓模拟器或真机装 APK,进游戏

M2 常见死法:
• port already in use → 7000/7100/3306/6379 被占,netstat -ano 查

• cannot find HeroDB → DBC 路径没存

- plugin xxxx.dll not found → 杀软删了 Plugin 目录
• script error in QuestDiary → 手游壳用了 PC 端函数,版本不干净

• PAK key error → 客户端资源和服务端 PAK 密码不一致

六、客户端怎么来
1. 版本包自带的 apk/ipa:最稳,别自己换包名。
2. 官方传奇手游壳改资源:要反编译 Asset/AB 包,新手别碰。
3. H5 传奇:本质是 WebView + JS 引擎,服务端还是 M2,前端跑浏览器/微信小游戏,架设时只要把 H5 目录扔进 Nginx,入口 index.html 指向网关就行。
4. 安卓改列表地址:
• 用 ApkTool 反编译 → 搜 127.0.0.1 / domain → 改 res 或 assets/config.json → 回编译

• 或者用版本自带的“登录器配置器”出包,比手改安全

5. iOS:
• 有企业证书:直接分发 plist + ipa

• 没证书:AltStore 自签(7 天)、爱思自签、Xcode 跑真机

• 不改 Bundle ID 和签名,苹果设备进都进不了

七、资源 / 微端 / 热更
手游比 PC 多一步:资源不能全打进 APK,太大了,通常走热更:
• patch/ 目录放 Data、Pak、AssetBundle、UI、音效

• 客户端首次进游戏读 http://ip/patch/version.json

- 版本号对了就不下,错了全量拉
• PAK 密码在服务端 Mir200\Envir 或 M2 配置里,和客户端资源必须一致

黑屏、白屏、进图卡 99%、技能图标全问号,八成是:
1) 微端没起
2) patch 路径 404
3) PAK 密钥不对
4) Unity AssetBundle 平台打成了 PC 包

八、账号和支付
单机用 GM 账号直接进:
• M2 里加管理员

• 或 sAdminList.txt / account 表 is_gm=1

- 游戏内 @make 木剑 1 / @level 50

想做注册页:
• Web 目录里 register.php / api/register

• 连 account 库,密码一般 md5 或加盐 hash

- 登录 token 返回给客户端,客户端再连 LoginGate
支付别碰“点卡/充值提现/打金回收”那些灰色链路,自己架着玩就关掉 pay 回调,把商城价格改 0,或者 M2 里开 GM 发放。

九、本机→局域网→公网 三步走
1. 本机 127.0.0.1 能进:证明版本、M2、数据库、资源没问题。
2. 局域网 192.168.1.x 能进:证明 Gate、列表、APK 里 IP 没写死 127.0.0.1。
3. 公网能进:
• 云服务器开 7000、7100、7200、7300、80、443、3306(3306 别对公网开放,绑 127.0.0.1)

• 安全组放行

• 域名解析 A 记录到服务器

- 列表用域名,别用 IP 被墙就废
• 安卓用 https 列表,iOS 必须 https + 合法证书

• 关 RDP 弱口令、改 M2 默认端口、删多余 NPC 刷物品漏洞

十、安卓模拟器调试
夜神 / 雷电 / MuMu:
• 把 APK 拖进去装

• 如果是本机服务端,模拟器访问 10.0.2.2 才等于宿主机 127.0.0.1(雷电一般用 172.0.0.1 或桥接,直接填宿主机局域网 IP 最稳)

- 模拟器别开“ROOT 隐藏”导致登录器崩
• 真机调试用 WiFi 同网段,浏览器先开 http://192.168.1.100/serverlist.json 看能不能出 JSON

十一、单职业/迷失/三端互通区别
- 单职业:M2 里职业表只留战士,技能映射成全系,客户端 UI 改一刀流、切割、转生
• 迷失版:NPC 脚本堆商城、会员、切割、灵魂、元素,Envir 里 QuestDiary/市场脚本一大堆

• 三端互通:PC 客户端、安卓、iOS 连同一个 M2,资源分三套(PC Data / Android Asset / iOS Asset),但人物、行会、沙巴克数据在同一个 MySQL

三端最烦的不是 M2,是“资源同步”:你改了 PC 端补丁,手机端不热更,玩家一看装备样子不一样就以为 bug。

十二、排错速查
进不了选角:
• LoginGate 没起

• account 表连不上

- 列表 JSON 格式错(多了逗号、少了引号)
选完角黑屏:
• GameGate 没起

• 地图/场景 AB 包缺

• M2 里场景配置 IP 还是 127.0.0.1 但手机在局域网

打怪不爆/爆率不对:
- MonItems 路径错
• 版本用了自定义爆率脚本但插件没加载

攻沙卡加载:
• 沙巴克脚本死循环

• 跨服网关没起

• 同屏人数上限写 0 或过小

聊天发不出:
• 聊天网关端口没开

• 敏感词脚本死循环

十三、最小可跑清单
• Windows 服务端一套(M2+DB+Gate)

• MySQL 里 account/game/log 三库导入

• DBC(老版本)或 ODBC/PDO(新版本)通了

• 列表文件能浏览器访问

- APK 里 IP 改成你本机/局域网
• patch 目录能下资源

• M2 起成功,QuestDiary 无致命错

• 建号进游戏,@level 40,打鹿掉金币

这七条过了,就算“架起来了”。

十四、别踩的坑
• 拿 PC 传奇 1.76 补丁直接塞手游 Unity 客户端:资源格式不同,必黑屏

• 公网 3306 开 0.0.0.0:一晚上库被拖走

• 用路边“一键手游架设包”还关杀软:登录器变挖矿壳

- iOS 没证书硬装:能装也跑 3 分钟掉签
• M2 报漏洞不修直接开外网:别人用 GM 命令把你装备全删

• 把微信/支付宝收款码写进商城就当支付:那是个人码,订单对不上,封号风险也有

十五、学这套要补的基础
真想自己改版本,得会一点:
• JSON / PHP / Lua(NPC 脚本很多 Lua 化)

• MySQL 增删改查

• Unity AssetBundle 打包(手游资源)

• 网关概念:登录网关、游戏网关、聊天网关、跨服网关

- APK 反编译基础(改列表、改资源域名)
• 防火墙/安全组/端口映射

不会也行,用版本自带配置器 + 官方客户端改列表,能玩;但想做“自己定义的版本”,上面这些躲不掉。

十六、一句话流程
装数据库 → 解压服务端 → 改 IP → 起 Gate → 起 M2 → 起 Web 列表 → 出安卓包 → 真机进游戏 → 改爆率/NPC/转生/商城 → 本机跑稳 → 再上云服务器开公网。

传奇手游架设不是“下一个一键包双击就行”,它比 PC 单机多三层东西:移动端资源、HTTP 热更、账号/支付/.token 体系。PC 端你会架了,手游只是把 Gate 前面加个 Web 层、把 Data/Wil 换成 AssetBundle/Pak,再把登录器变成 APK/IPA。底层还是那个 M2 在算伤害、爆率、行会、沙巴克。

新手最稳路线:
先架 PC 单机 Hero 1.80 → 再架 GOM 单机 → 再碰 GOM 手游壳 → 最后才做安卓出包和公网。跳步直接搞手游,遇到 PAK/AB 包/签名/HTTPS 会一头雾水。

M2 不报错、列表能读、APK 能装、角色能动、怪物能死、物品能捡——这六件事同时成立,你的传奇手游服务端就算立住了。剩下都是运营层、反外挂、合区、跨服、活动脚本的活。