传奇手游三端互通架设完整教程战神GOMGEE安卓改包微端端口黑屏排错

来源: 作者: 点击:
手游三端和纯电脑端不同,必须先确认服务端带移动网关、热更资源和配套APK;老Hero、Blue直接套手机通常出不了移动端。仅用于已获合法授权的版本、自研学习包和内部测试,未授权资源、破解登录器、对外收费运营不在此范围。下面按本机、局域网、外网三档写可落地步骤。

一、系统与环境准备

Windows方案用Win10、Win11或Windows Server 2012/2016/2019,战神、996类常带phpStudy或小皮面板,GOM三端、GEE三端用对应控制台。先装VC++ 2005到2022运行库x86+x64、.NET Framework 4.8、DirectX9;若中控用Java再装JRE/JDK,若用MySQL装5.6或5.7,部分新包支持8.0但按引擎说明来,别强行上。DBC老结构仍装DBC2000;MongoDB类按包内版本装,别混版本。关Windows Defender实时防护,把服务端目录加信任,M2Server、DBServer、LoginGate、RunGate、移动网关、UpdateGate、Key.lic、mysql批处理最容易被误删。

解压路径纯英文无空格,推荐D:\MirServer或D:\mud2.0,不放桌面、不放Program Files、不带中文括号。战神类常见D:\mud2.0放主程序,D:\phpStudy\WWW放网站和热更;GOM/GEE三端按引擎包原目录,不自行改层。

二、数据库与中控初始化

DBC结构:控制面板BDE Administrator新建STANDARD,名称按包要求写HeroDB,PATH指向Mud2\DB或Mir200\Mud2\DB,里面要有StdItems、Monster、Magic等;改完Ctrl+S,重启电脑让BDE服务生效。

MySQL结构:phpStudy或小皮起Apache和MySQL绿灯,Navicat连127.0.0.1:3306,新建库名如legend、ocenter、logincenter,字符集按SQL原文件要求,导入服务端自带SQL;账号密码按包内说明填进DBService.ini、db.properties或中控config。战神类常见中控在D:\mud2.0\logincenter\logincenter_win\config\serverlist.json,部分还有server.json,写区名、公网或本机IP、登录端口、安卓热更端口。

Mongo类按包内命令注册服务,确认角色、日志、热更元数据可写。导入完用Navicat或黑窗抽查账号表、角色表、物品表,空表会导致能起网关但建不了角色。

三、IP与端口全链路配置

单机全部127.0.0.1。GOM类常LoginGate 7000、SelGate 7100、RunGate 7200、微端UpdateGate 8000;战神类网站/热更常8080,部分登录中控按包用其他端口,安卓资源mir2.zip、iOS资源mir264.zip;GEE微端示例可用8080,冲突改8081,以各Gate ini和M2微端配置为准。 不把所有引擎端口写死,改之前先用netstat看监听、用文本搜原端口。

改IP文件清单按引擎取:

GOM/GEE三端:控制器配置向导外网填目标IP、内网填本机内网;Mir200\!Setup.txt、LoginSrv地址表、!ServerTable.txt、LoginGate/RunGate/SelGate各ini、M2微端、登录器配置器全统一。
战神类:D:\mud2.0下DBServer\DBService.ini、GateServer\logingate\LoginGate.ini、GateServer\GameGate\MirGate.ini、logincenter的serverlist.json/serverlist.lua、Mir200\Gs1\!Setup.txt批量替换原IP;网站热更改D:\phpStudy\WWW\project.manifest、version.manifest。
用文本替换工具批量改.txt再改.ini,每类后缀各跑一次,替换前备份原目录。单机替换成127.0.0.1,局域网替换成192.168.x.x,外网替换成公网IP或域名;不要同一份配置里127、内网、公网混写。

四、启动顺序与日志判断

手动按依赖起,控制器一键也建议单独看黑窗:

1. 网站/热更:phpStudy或nginx起Apache、MySQL,浏览器开http://IP:网站端口/project.manifest能看到JSON或文本;
2. 数据库/DBServer:DBService连库成功,角色库、账号库加载OK;
3. 中控/LoginSrv:战神起logincenter,GOM起LoginSrv,加载区列表无红字;
4. LoginGate:监听登录端口,常7000或按中控配置;
5. 移动网关/MobileGate/GameGate:手机协议接入,战神常放GateServer,GOM三端用RunGate或专门移动网关,端口按包;
6. RunGate/游戏网关:PC游戏数据,常7200;
7. 微端UpdateServer+UpdateGate:资源热更,常8000/8080,不起微端且客户端无完整补丁会黑屏;
8. M2/WorldFrame/主逻辑:最后起,加载MapInfo、MonGen、NPC、Magic、合击、活动脚本,底部无红色Exception。

任一黑窗闪退单独打开看日志。报数据库错回查DBC别名或MySQL账密;报端口10048用netstat -ano | findstr 端口查PID,结束占用或整体换端口,换端口必须同步中控、各网关、微端、热更manifest、安卓APK、防火墙和安全组。

五、PC端先验证再弄手机

用服务端同引擎PC登录器配置器生成本地或网络列表,区名自定,IP按场景填127/内网/公网,登录端口对齐LoginGate,游戏端口对齐RunGate,微端地址对齐UpdateServer,PAK/Resources密码按补丁包填。把PC完整客户端按原结构覆盖Data、Map、Wav、Graphics、NewopUI,进游戏建号、打怪、看地图、看新装备模型;PC都进不去不要先改APK。合击包再测召英雄、放合击、下线重进角色和英雄是否回档。

六、微端热更配置

GOM微端起UpdateGate和UpdateServer,UpdateServer基本设置客户端路径指向完整补丁根,Resources/补丁文件夹名与登录器配置器一致;更新密码在UpdateServer和登录器配置器一字不差;端口与UpdateGate、列表微端端口一致,常8000。缺qqwry.dat从Mir200复制进UpdateGate目录;PAK全红就替换Pak.txt绝对路径并核对密码。

GEE微端在M2或Setup微端设置启用的服务,填127.0.0.1:8080本机、公网IP:8080外网,控制器添加资源目录,重新索引;用MicroClient或引擎微端控制器扫Map、Data、Pak,刷新索引后重启网关。

战神热更把完整资源放D:\phpStudy\WWW\assets\res,mir2.zip给安卓、mir264.zip给iOS;改IP后用热更工具重算MD5写回project.manifest,不重算会白屏或资源校验失败。 浏览器直接下载http://IP:网站端口/assets/res/mir2.zip能下,代表热更链路通。

七、安卓APK改IP与重签

拿版本配套APK,不混用别的端安装包。用改之理、ApkTool或压缩工具打开,重点文件:

assets/res/project.manifest:改大区IP、热更地址、端口,例如http://127.0.0.1:8080/mir2.zip改目标IP;
assets/res/mir2.zip内mir2.scenes.sfselect.scene或mir2.def.init:部分战神包按引擎定长补零写IP,按原文件格式改,不自己拍规则;
assets/config、serverlist.txt、server.json、ServerIP.txt:按包内实际文件名改登录IP、区名、登录端口、热更端口;
热更MD5与manifest版本号:改了mir2.zip内容要重算并写project.manifest、version.manifest,否则手机会获取列表错误、白屏、资源不一致。

改完按原路径放回,用apksigner、Auto-sign或改之理重签。未签名、签名冲突、包名和服务端不匹配会安装失败或打开闪退。先用雷电、夜神、BlueStacks装APK:注册、建号、进图、打怪、看微端进度;微端进度0%查UpdateGate端口和manifest地址,进度满但黑屏查Pak密码和补丁目录。真机用adb install或手机传包,开未知来源;外网真机测公网IP、安全组、移动网关、微端全通再分发。

八、iOS简要处理

解压IPA,改Payload\mir2-iOS.app\res\project.manifest及同路径热更配置,IP端口与安卓、服务端一致;改完重算mir264.zip的manifest信息。重签用开发证书、企业证书、TestFlight或第三方分发,无签名环境只做本机模拟器技术验证,不对外分发破解包。三端Data、Map、Pak、热更zip必须同源同密码,否则iPhone进图黑、装备问号、合击无特效。

九、黑屏与进不去分类排错

登录界面全黑、中间小砖块:缺NewopUI.pak、UI.pak、Prguse系列、Login系列;把服务端UI补丁平铺覆盖客户端Data,不多层嵌套。GOM/GEE的Pak.txt路径无中文、密码全绿,登录器配置器重新生成。

进角色后全黑有声音:Map未覆盖或客户端大版本不对。1.76用十周年/十三周年纯净,GOM常用十六周年、GEE常用十七周年完整客户端;把Mir200\Map全量覆盖客户端Map,确认MapInfo出生地图编号存在、.map非0KB,Tiles/SmTiles/Objects齐全。

微端进度卡、connection closed:UpdateGate未起、端口未监听、防火墙未放、manifest写错协议。netstat看8000/8080监听;云安全组、系统防火墙、家用路由器全放行;浏览器下载mir2.zip验证HTTP。Pak红叉回查UpdateServer客户端路径和Pak.txt绝对路径。

装备透明问号:StdItems的Looks对应补丁编号缺失,或Pak密码错、Resources目录名不对。单件问号只修对应pak,全职业新装问号查Data/Wil和登录器Pak挂载。

M2红字优先修红字:地图缺失补Map与MapInfo,MonGen格式错查坐标刷新参数,QuestDiary/Market_Def脚本查IF/THEN未闭合、GOTO死循环;插件冲突开Mir200\PlugList.txt,先只留引擎自带本地dll,删第三方重启M2,能进再逐个加回。

十、外网端口与网络

云主机:安全组入站放TCP登录、角色、游戏、移动网关、微端、网站热更、后台端口;系统防火墙高级设置再建同样入站规则,只开安全组不开系统防火墙仍会拦。M2外网IP填公网,内网监听按引擎填0.0.0.0或内网;中控serverlist写公网区名和端口,manifest写公网热更地址,安卓APK写公网manifest。

家用宽带:路由器查WAN口IP,与浏览器查到的公网IP一致才有真公网;不一致、WAN是10.x/100.x/172.16-31.x/192.168.x属大内网,做映射无效,换云或用frp/花生壳TCP穿透。真公网进路由器虚拟服务器,登录、角色、游戏、移动、微端、网站各端口映射到服务端内网IP,协议TCP;动态公网用DDNS,中控、manifest、APK全写域名,重启换IP只改解析。

多区拆端口:一区7000/7100/7200/微端8000/热更8080,二区整体加1或按引擎规划,LoginGate、移动网关、RunGate、M2、中控、manifest、APK、安全组、路由器全按区改,只改控制器会串区超时。

十一、最小排错顺序

关杀软加白MirServer和APK工具,所有IP按场景统一,netstat看各网关监听,控制器按数据库到M2手动重启;本机用同引擎PC登录器生127列表进游戏;黑屏先覆Data/Map/NewopUI/Pak、清客户端Cache;再起微端、改manifest、验HTTP下载;最后改安卓APK重签、模拟器进游戏;外网再开安全组、映射、DDNS。一次只改一类:改IP全链路同改,改端口全套同步,改补丁重生成登录器,改热更重算manifest,不把数据库、网关、资源、外网搅在一起重装系统重下版本。