传奇手游从环境搭建到客户端打包全流程实操架设指南

来源: 作者: 点击:
先确认基础硬件和系统要求,服务器配置最低要2核4G内存,带宽不低于5M,硬盘剩余空间至少30G,系统选择CentOS7.6或者Windows Server2019,不要用太新的系统版本,避免和手游服务端的老旧依赖库不兼容。本地调试用的电脑系统为Win10及以上,内存不低于8G,全程关闭杀毒软件和系统实时防护,避免核心文件被误删隔离。
接下来准备四类核心资源,第一类是完整的传奇手游服务端压缩包,优先选择配套安卓客户端的完整版本,解压后放到服务器D盘根目录,路径全程不能出现中文、空格或特殊字符,最终路径显示为D:\MirMobileServer\,里面必须包含Server、DB、Res三个核心子文件夹,解压过程如果提示文件损坏,要重新下载带校验码的完整资源包。第二类是配套的安卓客户端源码,里面包含游戏的UI界面、英雄技能、地图素材的全部配置文件,不要用网上随便下载的零散APK,避免和服务端版本不匹配,进服后出现装备显示错乱、技能失效的问题。第三类是数据库工具,手游版本大多用MySQL数据库,提前安装5.7版本的MySQL,不要用8.0以上的高版本,避免出现字段不兼容的报错。第四类是安卓打包工具,下载安装Android Studio,配置好对应的JDK环境,版本选择JDK1.8,这是适配大部分传奇手游客户端的稳定版本。
接下来配置服务器环境,先远程连接到云服务器,关闭系统自带的防火墙,或者把7000、7100、8888、3306这些核心端口全部添加到防火墙信任列表,避免后续手机无法连接服务器。安装MySQL5.7数据库,设置数据库密码,创建名为mir_mobile的空数据库,导入服务端DB文件夹里的.sql数据库文件,确认所有数据表全部导入成功,没有出现报错提示。然后安装服务端依赖的VC++运行库和DirectX组件,用DirectX Repair工具一键检测修复,自动补全所有缺失的系统组件,避免服务端启动时弹出dll缺失的报错。
然后修改服务端的核心配置文件,打开D:\MirMobileServer\Server\Config文件夹,找到ServerConfig.ini文件用记事本打开,把里面所有的IP地址全部改成云服务器的公网IP,端口保持默认的7000、7100不要修改,避免和其他程序端口冲突。再打开DBConfig.ini文件,把里面的数据库连接地址、账号、密码,改成你之前设置的MySQL数据库的对应信息,确认数据库名称是mir_mobile,不要填错名称导致服务端无法连接数据库。打开服务端根目录的游戏控制器,在配置向导里确认游戏目录指向D:\MirMobileServer\,公网IP确认是云服务器的公网IP,不要勾选动态IP选项,点击保存配置。
接下来启动手游服务端,先点击控制器里的启动登录网关,再启动游戏逻辑网关,最后启动M2主引擎,三个程序全部正常加载完成,没有弹出报错提示,就说明服务端已经正常运行。如果点击启动按钮后没有反应,先确认控制器本身在MirMobileServer根目录下,不在子文件夹里,右键控制器选择以管理员身份运行,同时把Windows用户账户控制的权限调到从不通知,就能解决大部分启动无响应的问题。如果M2引擎启动后立刻崩溃,先检查数据库连接配置是否正确,再用命令行输入netstat -ano | findstr 7200,查看7200端口有没有被其他程序占用,有占用就关闭对应程序或者更换引擎默认端口。
接下来修改安卓客户端的连接配置,把客户端源码解压到本地电脑的全英文路径下,找到assets文件夹里的serverlist.txt文件,把里面默认的测试IP地址,替换成你云服务器的公网IP,端口和服务端配置的登录端口保持一致,保存文件之后不要修改其他无关的配置项,避免客户端编译失败。打开Android Studio,导入修改好的客户端源码,等待项目同步完成,确认没有出现依赖缺失的报错,点击Build菜单里的Generate Signed Bundle/APK,生成正式签名的安卓安装包,签名文件的密码要妥善保存,后续更新客户端的时候必须用到同一个签名文件,不然无法覆盖安装。
最后测试全流程连接,把生成好的APK安装到安卓手机上,手机连接正常的移动数据或者WiFi网络,打开游戏客户端,在服务器列表里就能看到你架设的游戏区服,点击开始游戏,输入自己注册的账号密码,就能直接进入游戏创建角色开始游玩。如果进游戏时提示无法连接服务器,先确认手机和服务器的网络是连通的,在电脑上用telnet命令测试7000端口是否能正常连通,检查云服务器的安全组有没有开放对应端口,把所有游戏相关的端口全部添加到安全组的入站规则里。如果进游戏后出现黑屏、地图加载不出来的问题,说明客户端的资源包和服务端的素材版本不匹配,把服务端Res文件夹里的地图、装备素材,重新替换到客户端源码的对应目录里,重新编译APK就能解决。
如果进游戏后出现点击技能无反应、NPC对话空白的问题,先检查服务端的脚本文件有没有缺失,从服务端备份文件夹里复制对应的NPC脚本文件补全,重启服务端进程之后就能恢复正常。如果多人同时进服的时候出现卡顿延迟高的问题,升级服务器的带宽到10M以上,同时开启服务器的BGP多线线路,不同运营商的玩家连接游戏的延迟就能降到正常水平。