准备一台Windows电脑做单机和局域网测试,外网再换云服务器。先准备五类文件:手游服务端完整包、对应安卓客户端APK或客户端源码、数据库安装包、Java运行环境、APK反编译与签名工具。服务端解压到纯英文短路径,例如D:\MobileMir,不要放桌面,不要放带中文的“程序文件”,路径里不出现空格、括号、中文。拿到包后先检查根目录是否含有数据库脚本、Config配置、DBServer或数据库服务、LoginGate或登录中心、GameGate或游戏网关、主引擎控制台、客户端补丁Res/Data/Map目录、APK打包工具。缺核心模块不要硬跑,先换完整包。
一、基础环境
装Java运行环境,很多手游控制台、网页后台、打包工具依赖Java;装MySQL或按所用包要求装MongoDB、SQL Server,具体看服务端文档。再装VC运行库合集、.NET Framework,部分引擎控制台在Win10/Win11需要管理员权限。调试阶段暂时关闭杀毒和Windows防火墙,很多网关、主程序、APK签名文件会被安全软件误删;外网阶段只放行游戏端口,不长期关防护。
MySQL场景:安装时设root密码并记住,选择手动启动或自动启动均可,安装完在“服务”里确认MySQL状态为正在运行。需要用Navicat或命令行建空库,字符集按服务端要求,常见utf8mb4,避免中文角色名乱码。导入服务端自带的sql脚本,例如legend_mobile.sql、mir2.sql、brm_mobile_db.sql,脚本名以实际包为准;导入后检查物品、怪物、地图、技能、账号表是否生成。
MongoDB场景:按包内说明启动mongod,导入初始json或bson数据;SQL Server场景用管理工具附加或还原库。不管哪种库,先保证“库名、用户名、密码、端口”四项和服务端配置完全一致。
二、服务端IP与端口
单机只用本机测试:所有配置文件IP填127.0.0.1。
模拟器或同电脑手机助手测试:仍可用127.0.0.1,若模拟器走独立网络桥接,按工具说明填本机内网IP。
局域网真机测试:服务端所有面向客户端的配置填电脑内网IP,例如192.168.1.100,手机连同一WiFi,APK里填同IP。
外网测试:云服务器安全组放行对应TCP端口,服务端配置填公网IP或域名,手机用流量或外网WiFi连接。
常见配置位置因引擎而异。白日门类看Config下db_config.ini和engine_config.ini,db_config.ini改DB_Host、DB_Name、DB_User、DB_Pass,engine_config.ini改Game_Port、Login_Port;战神类看Config下client_config.txt、serverlist.json、DBService.ini、MirGate.ini,client_config.txt改LoginIP,serverlist.json改中心列表IP;通用GOM移动或三端类看GameCenter向导、ServerConfig.ini、DBConfig.ini、网关ini,ServerIP和Port统一改,数据库填127.0.0.1或本机IP、3306及库名。不管用什么引擎,原则只有一条:数据库地址、登录网关、游戏网关、主引擎、APK客户端五处IP和端口必须互相一致,不要127、内网、公网混写。
三、启动顺序
标准手游端按依赖关系起:
1. 先起数据库。MySQL确认服务运行,或在命令行/控制台启动mysqld;MongoDB启动数据库进程;SQL Server确认实例在线。服务端若带独立DBServer,再起DBServer,黑窗显示数据库连接成功、角色库和配置表加载完成。
2. 起登录服务或登录中心。LoginSrv、LoginCenter、登录控制台均可,确认账号库可写、列表可生成。
3. 起登录网关。LoginGate或对应移动登录网关,监听登录端口,常见示例7000、8080、9000,以包内配置为准。
4. 起游戏网关。RunGate、GameGate、SelGate或移动GameGate,监听游戏端口,常见示例7100、7200、9000;有角色网关再起角色网关。
5. 最后起主引擎。M2Server、GameSrv、ZhanShenEngine、引擎控制台等,等地图、怪物、NPC、物品、技能加载完,无红色报错,显示服务运行中或加载脚本完毕。
一键启动包直接双击“启动服务端.bat”或“StartServer.bat”,但第一次建议手动逐个看窗口。所有黑窗都不要关,关掉哪个模块哪段功能断。主引擎秒退先看数据库是否起来、配置IP是否错、运行库是否缺、内存是否不够;网关闪退多用netstat查端口占用。
四、客户端APK改连接
安卓端有三种情况。
有服务端自带打包工具:打开EnginePack或APKBuilder,选客户端基础包路径,填服务器地址和端口,例如127.0.0.1:8080或192.168.1.100:9000,选签名文件,点打包生成APK。白日门类可用自带EnginePack填服务器地址、端口、签名文件生成测试包。
只有未签名APK:用APKTool或改之理反编译,找assets、res或根目录下的配置文件。常见文件名为project.manifest、serverlist.json、config.txt、ipconfig.txt、ServerIP.txt、login.txt。把里面IP改成服务端IP,端口改成登录端口;若包内有mir2.zip或mir2.def.init,按引擎要求改IP格式,有些要求普通127.0.0.1,有些要求补零格式,看所用包文档。改完重打包,再用SignApk或APK签名工具签名。自生成签名可用keytool做keystore,命令示例:keytool -genkey -alias legendkey -keyalg RSA -keystore legend.keystore,再用jarsigner或signapk对APK签名。
有安卓源码:用Android Studio打开,改res/values/strings.xml里的server_ip、server_port,或改Application配置、OkHttp基地址、manifest里的meta-data;资源文件放app/src/main/assets,打包前同步IP。iOS测试若有源码,在Info.plist处理HTTP安全策略,用开发者证书或TestFlight分发,不越狱安装。
模拟器测试用雷电、夜神、BlueStacks均可。战神类资料提到安卓7.1兼容较好,其他引擎以包说明为准。把签名APK拖进模拟器安装;真机测试把APK传到手机,开启“未知来源应用安装”,点安装。手机系统新版本要授予存储、网络、悬浮窗等权限,否则会出现读不到配置、黑屏、点图标没反应。
五、补丁与资源
手游黑屏、白屏、地图白块、装备不显示,优先查资源。把服务端Res、Data、Map、PAK、WZL/WIL或引擎指定资源目录按说明覆盖到客户端资源目录。白日门类黑屏可复制服务端Res到客户端Res;战神类复制ClientPatch里的Map、Item.txt等到客户端Data;GOM移动/微端类核对PAK密码和资源路径,密码错会装备透明、粉色方块、进图黑屏。若APK是源码包,资源放在assets或raw,重编前先覆盖再打包。
地图不加载还看服务端MapInfo、地图文件数量、微端推送是否开启。用微端的要起UpdateServer或微端服务,配置客户端资源路径和微端端口;单机可关微端直读本地资源,外网人多用微端减轻首包压力。
六、注册与进游戏验证
很多手游包支持客户端直接注册,首次输入账号密码自动写数据库;部分包在登录中心、网页后台、DBServer管理界面建号。进游戏后按四点验证:创建战士/法师/道士三角色无报错;进新手村或比奇、银杏类主城地图不黑屏;打怪掉物、背包显示正常、NPC对话正常;下线重登角色数据还在,说明数据库写入和读取正常。
GM测试在主板或M2控制台加角色名权限,部分包用AdminList.txt写角色名和权限等级,部分用网页后台IP:端口/gm管理。加完重启或重载,进游戏用对应管理命令测发装备、调等级、刷怪物,确认脚本和数据库响应。
七、局域网与外网
局域网:电脑固定内网IP,服务端登录网关、游戏网关、主引擎都填这个内网IP;手机连同一路由器,APK填同IP和登录端口;电脑防火墙放行对应TCP端口。模拟器若用NAT模式连不上,改桥接模式或按模拟器说明填可通IP。
外网云服务器:系统装Windows或Linux按包要求,Windows场景较多。安全组入方向放行登录端口、游戏端口、后台端口、数据库端口仅在需要时对内放行;系统防火墙同步放行。服务端所有面向玩家配置改公网IP或域名,中心列表、登录网关、游戏网关保持一致。没有固定公网IP用DDNS或内网穿透,把登录端口和游戏端口映射出去;家用宽带做映射要在路由器转发TCP对应端口到内网机器。
列表文件按引擎格式写,常见是服务器名、IP、端口三字段,部分json写name、ip、port、state。外网把IP换成公网或域名,APK重新打包签名后发给测试机;只改服务端不重打APK,手机仍会连旧地址。
八、常见故障
连接服务器失败:数据库没起、登录网关没起、游戏网关没起、主引擎没起,任一个断都会连不上;APK里IP端口写错;防火墙或安全组未放行;模拟器与手机不在同一网络。先在本机看各黑窗状态,再用netstat -ano查端口是否监听,手机用ping和telnet测IP端口。
端口被占用:登录7000、游戏7100/7200、中心8080、战神类9000等被占用都会起不来。用netstat -ano | findstr 7000/8080/9000查PID,任务管理器结束占用进程;真要改端口就在服务端所有ini/json、APK配置、列表三处同步改。
进游戏黑屏白屏:资源Res/Data/Map未覆盖、PAK密码错、微端未起、manifest里IP格式错、客户端引擎版本和服务端不符。先重覆盖补丁,再查APK配置;黑屏但有声音多是首包资源没拉完,清客户端缓存或重装APK。
APK安装失败:未签名或签名不一致用SignApk重签;模拟器安卓版本过低换安卓7.1或更新镜像;手机未知来源未开、存储不足,留至少数百MB到数GB空间。
能申请账号但建不了角色:登录服务和主引擎认证不同步,按数据库、登录服务、登录网关、游戏网关、主引擎顺序重启;检查账号表、角色表、服务器认证配置是否指向同一库。
闪退:看服务端主引擎红字,缺脚本查Envir/Market_Def/QuestDiary/MonGen/MapInfo;客户端闪退看Android日志,常见原因是APK未签名、IP格式错、资源缺失、手机权限不足、模拟器兼容差。
数据库导入报错:MySQL检查sql文件编码、库名、用户名密码;MongoDB检查数据文件路径;SQL Server检查附加权限。乱码建库用utf8mb4,导入后对比物品表行数、怪物表行数是否和原脚本一致。
九、小白最简路线
不想碰反编译,直接找带打包工具的一键手游包。步骤缩成五步:解压D:\MobileMir纯英文;装MySQL并导入包内sql,记库名密码;运行IP修改工具或编辑Config把ServerIP改127.0.0.1、端口按默认;双击启动服务端,确认数据库、登录、网关、主引擎全绿;用包内APK打包工具填127.0.0.1和登录端口,签名生成安装包,雷电模拟器装包进游戏。只自己研究就把IP全填127;给同WiFi朋友测填电脑内网IP;给外网测再改公网、映射端口、重打APK。
十、备份与合规
每天备数据库导出、Config全目录、Res/Data/Map资源、主引擎Envir脚本、APK打包配置。改爆率、经验、转生、合击前先备份再改,主配置改动重启主引擎,脚本改动可重载NPC。外网正式给多人用,只放行必要端口,不用来源不明破解APK和登录器;涉及第三方游戏名称、地图、素材、服务端程序对外提供服务时,按相应知识产权授权与运营资质要求处理,个人学习搭建仅在本机或授权环境测试,不传播未授权程序包。
按“纯英文路径解包、装库导数据、统一IP端口、按数据库到网关到主引擎顺序启动、APK改地址重签名、模拟器先测再真机”这套走,零基础也能把传奇类手游跑通;外网部分等单机和局域网都稳再扩,不一开始就做端口映射和云服务器,排错更省时间。

