一、系统与运行环境
Windows方案:Win10、Win11、Windows Server 2012/2016/2019均可。先装VC++ 2005-2022运行库、.NET Framework 4.8、DirectX9;若服务端用MySQL,装MySQL 5.6或5.7,部分新包支持8.0但要先看引擎兼容说明,老结构别强行上8.0。用DBC的老包仍装DBC2000;用MongoDB的战神类按包内说明装对应版本。挂列表、微端、GM后台需要Web环境,可用phpStudy、小皮面板、IIS或Nginx,纯单机可暂不起Web,用本地列表。
Linux方案:部分三端核心用CentOS、Ubuntu跑世界服、网关、数据库,安卓资源走HTTP热更。新手先用Windows版服务端,排错直观;熟练后再迁Linux。无论哪种系统,服务端解压路径必须纯英文、无空格、无中文,推荐D:\MirServer或/opt/mirserver,桌面、Program Files、带括号目录都容易让网关和脚本读错。
二、服务端文件与数据库初始化
拿到合击包先核对目录:MirServer主程序、DBServer/数据库配置、LoginSrv或LoginCenter、LoginGate登录网关、SelGate/角色网关、RunGate/GameGate游戏网关、MobileGate/AndGate/iOSGate移动网关、M2Server或WorldFrame主逻辑、Mir200配置与Envir脚本、微端UpdateServer、Web后台与list资源。缺移动网关目录就不能直接出安卓,缺微端目录手机拉资源会卡。
数据库分两类处理。DBC老结构:控制面板BDE Administrator新建STANDARD别名,名称按包要求写HeroDB,PATH指向Mud2\DB或Mir200\Mud2\DB,里面要有StdItems、Monster、Magic等;改完Ctrl+S重启。MySQL新结构:新建库名如legend_game,字符集用utf8mb4,避免角色名和物品描述乱码;导入包内SQL,常见legend.sql、180_hj.sql、hero.sql,确认账号表、角色表、英雄表、合击技能表、怒气表、爆率相关表都在。改服务端db.properties、config.ini或!Setup里的库地址、端口、账号、密码,本机一般127.0.0.1:3306;外网若数据库和应用同机仍填127.0.0.1,别对公网裸开3306。MongoDB类按包内命令注册服务,确认角色、日志、合击数据可写。
合击参数重点看几张表或脚本:英雄初始等级、主号多少级可召英雄、合击技能解锁等级、怒气上限与恢复速度、逐日/火舞/劈星等技能ID。脚本版常在Mir200\Envir下Hero、Combo、Magic相关txt;数据库版在HeroData、MagicCombo、RoleHero表。没这些表,游戏能进但召不了英雄、放不出合击,不要先怀疑客户端。
三、全局IP与端口配置
单机:所有配置填127.0.0.1。LoginGate常用7000,SelGate/角色7100,RunGate/GameGate 7200,微端8000或8100,移动网关按包内MobileGate.ini填127.0.0.1和对应端口,Web列表用80/88/8080,热更资源用8080或自定义端口。M2/WorldFrame的!Setup、中心控制、各网关ini全部回环,避免本机被自身防火墙绕晕。
局域网:服务端电脑固定内网IP,例如192.168.1.100。控制器或手动配置把LoginGate、SelGate、RunGate、MobileGate、微端、M2的内网地址都改192.168.1.100;!Setup的ServerIP、LoginSrv地址表、ServerTable同步;防火墙高级设置入站放行7000、7100、7200、微端端口、移动网关端口、Web端口。同网段手机用安卓模板改内网IP测试,电脑用PC登录器填192.168.1.100。
外网:云主机最省事。安全组入站放TCP 7000-7500、8000/8100微端、8080热更、80/88/8080列表、后台端口按包要求;系统防火墙再建同样入站规则。服务端控制器外网IP填公网IP,内网监听按引擎填0.0.0.0或内网IP;LoginSrv地址表、!ServerTable写公网游戏端口;MobileGate外网IP填公网,热更manifest写http://公网IP:8080/资源路径。家用宽带做映射前提是有真公网IP,路由器虚拟服务器把7000、7100、7200、微端、移动网关、Web分别转到服务端内网IP;WAN是10.x、100.x、172.16-31.x、192.168.x说明大内网,直接上云或用frp/花生壳TCP穿透。
改端口必须全链路同步:控制器、!Setup、LoginSrv地址表、各Gate ini、M2微端、MobileGate、安卓manifest、Web list、路由器映射、云安全组、系统防火墙,只改一处必连不上。
四、启动顺序与日志判断
按依赖起,别双击所有exe乱点。
1. 数据库服务:MySQL/Mongo/DBServer先起,Navicat或黑窗看连接成功、表可查;DBC版确认BDE服务运行、HeroDB可打开。
2. 日志/中心服务:部分包有LogServer、LoginCenter,先起便于看区列表。
3. 账号服务LoginSrv:加载区名、账号验证,无红字。
4. 登录网关LoginGate:监听7000类端口,外网连接第一关。
5. 角色网关SelGate:监听7100类,管选区建角色。
6. 游戏网关RunGate/GameGate:监听7200类,进图、移动、战斗数据。
7. 移动网关MobileGate/AndGate/iOSGate:手机协议接入,端口按包内配置,未起则PC能进手机进不去。
8. 微端UpdateServer/UpdateGate:负责手机和PC按需拉Data、Map、Pak、热更zip;不起微端,资源不全会黑屏或进度卡99%。
9. 主引擎M2Server/WorldFrame:最后起,加载地图、NPC、怪物、物品、技能、合击、脚本,窗口显示加载完成、无Exception、无红色Error。
任一黑窗闪退,单独打开它看日志,别只看控制器绿点。闪退常见:路径中文、VC库缺、端口被占、DBC别名错、MySQL账密错、补丁文件损坏。端口占用用管理员CMD跑netstat -ano | findstr 7000/7100/7200/微端端口,按PID结束占用或整体换端口。
五、合击功能与脚本参数
M2或Web后台先开英雄系统开关,确认“允许带英雄”“合击技能”“怒气系统”都启用。Envir里合击相关一般包含:HeroLevel英雄等级上限、MasterCallLevel主号召唤等级、ComboSkillID合击技能编号、AngerMax怒气上限、AngerPerHit每次受击/攻击回怒、ComboDelay合击冷却。1.80英雄合击常见设置主号46级左右解锁高级合击,具体按版本;如果召英雄后不放技能,先查英雄职业与主号职业组合是否支持该合击,再查MagicCombo表里技能ID、技能等级、耗怒值,最后查客户端补丁是否含合击特效资源。
爆率仍在Mir200\Envir\MonItems按怪物文件配;经验、金币、复活、行会在!Setup或M2参数改;GM权限在Mir200\Envir\AdminList.txt按引擎格式加角色名,或在M2管理员列表添加,合击测试用GM指令刷英雄、调怒气、调等级,确认逐日/火舞/劈星能放再正式调平衡。
六、PC端先验证再弄手机
用服务端同引擎登录器配置器生成本地或网络列表。区名自定,IP按场景填127.0.0.1、内网或公网,登录端口对齐LoginGate,游戏端口对齐RunGate,微端地址对齐UpdateServer,Pak/Resources密码按补丁包填。登录器放到PC客户端根目录,进游戏建角色,先测走路、打怪、掉物、仓库NPC;再召英雄,攒怒放合击,下线重登看角色、英雄、装备是否回档。PC都进不去不要先改APK,手机问题大概率还是服务端网关和资源。
七、安卓APK改IP与重签
用改之理、ApkTool、Android Studio或压缩工具打开配套APK,别用别的版本包混搭。重点文件:
assets/res/project.manifest:热更清单,改服务器IP、端口、资源zip地址,例如http://127.0.0.1:8080/mir2.zip或公网对应路径;
assets/config.ini、serverlist.json、ipconfig.txt、ServerIP.txt:按包内实际文件名改登录IP、登录端口、游戏端口、区名;
res/values/strings.xml:部分包把默认IP写这里,替换成同样地址;
servercode.txt或加密配置:若IP密文存储,用包内配套加密工具算,不手工猜格式;
微端地址、热更地址、manifest底部资源路径三者必须同源,微端端口和UpdateServer一致。
改完回编译,用apksigner、Auto-sign或改之理签名生成新APK。未签名、签名冲突、包名和原服务端不匹配都会安装失败或打开闪退。先用雷电、蓝叠、夜神装APK测:注册、建主号、召英雄、合击、交易、同账号PC/安卓数据一致,再分发给真机。真机连不上先查手机和服务端是否同网;外网查安全组、manifest公网、MobileGate是否起、微端资源是否可HTTP访问。
八、iOS简要处理
iOS模板在Payload\mir2-iOS.app\res或Assets里改project.manifest、serverlist,IP端口与安卓一致;回包后用开发证书、企业证书、TestFlight或爱思自签安装。无证书只做本机学习可用模拟器;正式外部分发涉及苹果签名合规,不展开破解方式。三端资源目录名、Pak密码、热更zip必须和安卓、PC完全相同,否则iPhone进图黑、装备问号。
九、微端热更与黑屏排错
手机黑屏分三类。一类连接失败:manifest IP端口错、MobileGate没起、安全组/防火墙没放移动端口、APK还写127.0.0.1但手机在外网。二类进登录或选区后黑:微端没起、热更zip路径错、Web没授权目录、Pak/Resources密码不对。三类能进地图但装备透明、NPC无模型、合击无特效:客户端补丁没覆盖,Data/Map/Wav/Graphics/NewopUI/Pak没按包结构放;合击特效还查MagicCombo表和客户端技能资源。
微端进度卡99%:看UpdateServer资源目录是否包含完整mir2.zip或分卷,看HTTP能否直接下载该zip,看登录器微端密码与服务端一致。进度0%或connection closed:MobileGate、UpdateGate未起,或端口被占,或manifest协议写错成https而服务端只支持http。
十、创建角色失败与数据不存
手机能连但建不了角色,先查数据库。MySQL看账号表、角色表、英雄表是否导入成功,自增主键、字符集、时间字段是否按SQL原样;MongoDB看服务是否可写、磁盘权限是否够。再查SelGate/账号网关与DB连接,DBServer黑窗看是否读库异常。合击包还要查英雄初始数据写入权限,AdminList只管GM,不影响普通建号;普通号都存不住优先回归数据库,不先动GM文件。
十一、外网多人与性能
几人测试2核4G、100G SSD可跑;20-50人在线4核8G、5-10M带宽;50-200人8核16G、10-20M,微端资源大再加带宽。合击比单职业吃主频,M2/WorldFrame单核性能重要;微端HTTP单独跑,别和M2挤一个进程。每天备数据库SQL或Mongo dump,备Mir200\Envir、微端资源、APK签名配置;改合击参数前打整包,避免英雄数据回档。家用宽带上行小、IP可能变,长期外网直接用云主机,配合固定公网IP或DDNS。
十二、最小排错顺序
先本机netstat看7000/7100/7200/微端/移动网关是否LISTENING;再看M2/WorldFrame有无红字,地图脚本合击是否加载;再关杀软加白MirServer和APK工具,防火墙放端口;再核对全链路IP,单机全127、局域网全内网、外网全公网;再用PC同引擎登录器进游戏测合击;最后改安卓manifest和微端地址重签安装。一次只改一类:改IP就全链路同改,改端口就全套同步,改补丁就清客户端缓存重进,改合击就只调英雄等级和技能表。这样能分清是网关没起、数据库断、微端黑屏还是APK地址错,不把问题搅在一起重装系统重下版本。

