只做已授权源码、内部测试时,按“选引擎包—布系统—建库—改IP端口—起网关主程—打安卓包—联调排错”走。不同引擎目录名会变,但链路一致:服务端负责账号、角色、地图、怪物、物品;手机端只改连接地址与热更;网络层把登录、角色、游戏、数据库端口放开。
一、服务器与环境准备
小范围测试用Windows Server 2012/2019,4核8G起步,战神、GOM三端、GEE三端、996三端、XO三端都能跑;轻量LEG/Hero手游2核4G可带少量人,重脚本GOM/GEE建议8G以上。 云主机买按量或月付,先不买年付。系统装完做四件事:
1. 关Windows Defender实时防护,把服务端目录加白,M2、LoginGate、UpdateGate、Key、批处理常被误删。
2. 装运行库:VC++2005到2022的x86+x64、.NET 4.8、DirectX9、MSVBCRT汇总包;用Java中控再装JRE/JDK;用MySQL装5.7或MariaDB,用MongoDB按包内要求装对应版本。
3. 数据库按引擎选:老Hero/Blue/GOM部分用DBC2000建HeroDB;战神、GEE部分、996三端常用MySQL/MariaDB,phpStudy或自行安装,端口3306;部分战神包用MongoDB;少数用SQLite,按包内说明来。
4. 服务端解压到纯英文路径,例如D:\MirServer、D:\mud2.0、D:\MirMobileServer,别放桌面、中文目录、Program Files,别带空格。
二、拿完整手游包
一套能跑的手游包至少含:DBServer数据库服务、LoginSrv账号服务、LoginGate登录网关、SelGate/角色网关、RunGate/GameGate游戏网关、M2或Engine主程序、MobileGate或手游中控、www热更目录、SQL/DBC初始数据、安卓客户端模板、iOS客户端模板。缺MobileGate又标三端的基本是PC端改的,别用。
单机本机测试所有IP写127.0.0.1;局域网手机连电脑写电脑内网IP,例如192.168.1.100,不能写127.0.0.1,手机无法走电脑回环;外网写云主机公网IP或域名,路由器做端口映射。
三、数据库初始化
DBC类引擎:
打开BDE Administrator,新建别名HeroDB,类型STANDARD,PATH指向服务端Mud2\DB或DBServer\Data,Ctrl+A保存;services.msc确认Borland Database Engine服务已运行。进游戏后人物、物品、技能读DBF,Item.DB、Magic.DB、Monster.DB别随便换别的版本,字段不对会出空物品、空技能。
MySQL类引擎(战神/GEE/三端常用):
启动MySQL或phpStudy双绿灯,Navicat连127.0.0.1:3306,新建库,例如mir2、ocenter、logincenter、legend_mobile,字符集utf8mb4,导入包内sql;账号root密码按包内说明。改服务端数据库配置:DBConfig.ini或各组件ini写DBHost、DBPort、DBName、DBUser、DBPass;本机写localhost,外网分离再写内网地址。
MongoDB类战神包:
按包内部署Mongo服务,确认游戏初始数据已初始化;注册账号无数据、角色无法保存多因Mongo未起或数据未导入,重启数据库进程重新初始。
四、全局IP与端口
通用替换位置:
DBServer配置、LoginSrv配置、LoginGate.ini、GameGate/MirGate配置、中控logincenter\config\serverlist.json或serverlist.lua、www\project.manifest、www\version.manifest、MobileSetup.txt、EngineConfig/ServerConfig各类ini。
常见端口:7000登录网关,7100角色/选择网关,7200游戏网关,7300 DBServer,8080安卓热更/中控,8081 iOS,8000微端,9000部分战神手游网关,3306数据库,27017 MongoDB,80/443补丁与公告;具体看引擎,不硬抄。
改IP用Notepad++按ANSI另存,别用带BOM的UTF-8改老ini,否则M2读配置乱码;部分老式引擎对!ServerInfo、addrtable、setup配置编码敏感,必须用ANSI。 把127.0.0.1批量换目标IP后,再单独检查列表文件、热更manifest、中控json三处是否一致。
安全组与防火墙:云控制台入站放TCP对应网关端口、8080、8081、8000、3306(3306外网不建议直放,只限管理IP);本机防火墙同样加规则。家用宽带做映射时把登录、角色、游戏、DB端口映射到内网主机,协议TCP。
五、启动顺序
按“数据库—账号—DB—网关—主引擎—手游中控”起,别全双击:
1. 起MySQL/Mongo/DBC服务,确认库可连。
2. 起DBServer,看能否加载角色/物品/怪物库,无“DB连接失败”。
3. 起LoginSrv账号服务,负责建号验号。
4. 起LoginGate登录网关,监听7000类端口;战神部分监听9000按包来。
5. 起SelGate/角色网关、RunGate/GameGate游戏网关,看网关连接成功日志。
6. 起M2/Engine主程序,加载Map、MonGen、Npc、Shop、脚本;M2界面无红色报错再开门。
7. 起手游中控/MobileGate,加载serverlist和热更目录。若用phpStudy跑公告和热更,确认站点根目录指向www,manifest里IP、端口、版本号、资源包名和客户端一致。
起不来先查三样:M2红色日志、DB连接日志、netstat端口监听。cmd跑netstat -ano | findstr "7000 7100 7200 9000 8080",没LISTENING就是配置没绑或端口被占;占用了改网关端口并同步登录器。
六、安卓客户端改IP与打包
引擎自带APK模板最省事,分改配置重签和工具打包两种。
改配置文件重签:
1. 用APK工具解包安卓客户端,找assets或res目录里的ipconfig.txt、serverlist.json、client_config.txt、config.ini之一;格式通常写区名、IP、登录端口、游戏端口、热更地址。
2. 单机写127.0.0.1;局域网写电脑内网IP;外网写公网IP。LoginIP/ServerIP与手游网关端口一致,热更写http://IP:8080/project.manifest或引擎规定路径。
3. 改包名,例如com.test.mir.mobile,避免和别包冲突;图标、启动图、权限按需要替换。
4. 回编译APK并签名;未签名APK无法在手机或模拟器安装。JDK环境装好,用签名工具生成keystore:keytool -genkey -v -keystore mir.keystore -alias mir -keyalg RSA -keysize 2048 -validity 36500;Android Studio或apksigner按keystore重签。keystore和密码单独备份,丢了不能同包名更新。
5. 架构勾ARM64-v8a,老机型补armeabi-v7a;Unity工程另按Player Settings设置Minimum API、Target API、Internet权限。输出APK装雷电/蓝叠先测,再装真机。
战神类工具打包:
进APK_Tools,改client_config.txt的LoginIP和LoginPort,素材路径选服务端Res,配缓存、虚拟摇杆、技能键,点开始打包,再点签名APK;网关示例9000就写9000,外网把LoginIP换成公网或域名。 热更另改D:\mud2.0\www下project.manifest、version.manifest,IP全替换,用引擎热更工具重算mir2.zip/资源清单,避免手机下到旧补丁。
七、iOS与三端同步
iOS不用越狱的分发思路:用引擎给的iOS模板,改Payload内config/json的IP和端口,企业证书或TestFlight签名安装;测试可用个人证书但有效期短。三端数据互通靠同一套M2+MobileGate,不按端分库。中控serverlist同时写安卓8080、iOS8081、PC7000、微端8000,热更资源用同一份manifest,避免手机下到PC补丁。
三端验证重点:PC建角色、打怪拿装备,同一账号登安卓看等级、背包、任务、行会、沙巴克数据是否一致;PC与手机组队、交易、行会聊天是否正常。
八、版本内容接入
服务端核心目录:
Mir200\Envir\Map地图参数;Mir200\Envir\MonGen刷怪;Mir200\Envir\Npc功能NPC脚本;Mir200\Envir\Shop商店;Mud2\DB或MySQL物品技能怪物库;www或MobileRes手机热更素材。
改经验、爆率、装备属性别直接改线上库,先复制测试区。1.76类只放沃玛祖玛赤月重装;微变中变加转生、切割、专属时,NPC脚本、热更前端、数据库物品表三者字段要一致,否则手机端显示未知装备。
爆率刷新在Envir对应配置,怪物刷点在MonGen;NPC对话、任务、活动在Npc脚本。改完重启对应网关或M2,部分引擎支持热加载但新手先整服重启更稳。
九、联调测试清单
手机装包后按这个顺序验:
1. 登录界面能拉到区名,说明中控/列表/热更地址通。
2. 建角色进比奇不黑屏,说明网关、M2、地图、素材通。
3. 打怪掉物、捡物、存仓、下线再上角色数据不变,说明DB/MySQL/Mongo存档通。
4. 放技能无报错、无未知魔法,说明Magic库与客户端版本一致。
5. 行会、组队、沙巴克或攻城地图不卡门,说明网关负载和脚本无死循环。
6. 安卓/iOS/PC同账号同角色互通,说明中控角色库统一。
十、常见故障
连接服务器失败:先netstat看网关端口,再查安全组、本机防火墙、列表IP、中控json三处是否一致;域名解析未生效临时换纯IP。
进游戏黑屏/地图装备异常:多为手机热更补丁缺失、素材路径错误、客户端密钥不匹配。重新上传适配补丁,同步客户端与服务端资源;能建角色但进图黑屏重点查游戏网关握手和资源Pak/Data/Map目录。
数据库连接失败:MySQL没起、密码错、库名错、DBC路径错、Mongo未初始化都会报。MySQL查error.log和DBServer.log;DBC重设HeroDB的PATH到Mud2/DB;Mongo重启并重导初始数据。
定时全体掉线:网关端口被别的服务占用、登录器与网关密钥不一致、网关缓存堆积。统一M2/LoginGate/GameGate/登录器密钥,换端口,按“DB—网关—M2”顺序重启。
APK装了闪退:包名冲突、未签名、minSdk太高、ARM64缺失、Unity native插件只有32位。用logcat看首次崩溃栈,补对应ABI和JDK签名环境;iOS确认证书有效。
M2启动闪退:内存不够先升4G+;运行库缺补VC/.NET;脚本报错删最近新增NPC或插件回到上一备份。
局域网不显示区服:手机配置写127.0.0.1会连不上,必须写电脑内网IP;路由器和服务端防火墙放行登录、角色、游戏端口,老配置用ANSI保存。
十一、备份与合规
只用自己开发或已获授权的源码、美术、音效、品牌名;内部测试不开未授权第三方支付、不外发破解登录器、不替换他人加密资源。上架安卓商店准备软著、包名、隐私政策、年龄提示、截图和备案材料;iOS走企业分发或App Store审核,别用不明证书绕过安装限制。架设过程所有账号、IP、端口、keystore写进内部文档,定期备份Mir200/Envir、数据库sql、www热更包,回滚按“库备份+版本目录备份”两点做,不单备APK。
按上面走,单机架设半小时能进游戏,外网三端测试再把安全组、中控、热更manifest、安卓签名四件事核对一遍即可;后期卡顿优先看M2脚本、网关数量、数据库慢查询和带宽,不盲目加区。
传奇手游从零架设教程:服务端部署安卓出包与三端联调排错
来源:
作者:
点击:

