很多人在架设完成之后,所有程序窗口都正常打开,日志也没有明显报错,但是打开登录器注册或者进入游戏的时候失败,这类情况大多集中在端口、登录器配置、补丁、数据库、网络权限这几个方面,按照顺序逐一排查就能定位问题。
先确认服务端程序的监听状态。服务端全部启动完成后,查看登录网关、游戏网关窗口,确认日志显示监听端口成功。如果网关显示监听失败,就算程序窗口没有关闭,外部也无法连接。出现端口被占用是最常见的情况,其他软件占用网关使用的端口,网关表面能打开,实际没有正常监听。处理方式可以更换端口,修改配置文件内对应的端口数字,登录器里面端口也要同步改成相同数值,只单方面修改一处会一直连接不上。
检查登录器配置信息。登录器列表填写的地址、端口,必须和登录网关配置保持一致。单机测试要填写本地回环地址,地址填写错误会直接提示无法连接服务器。部分登录器需要配套的登录网关,网关版本和登录器不匹配,会出现能看到区服,点击进入之后立刻断开连接。登录器生成工具内的加密密钥参数也要和网关匹配,密钥不一致,会出现选服成功,加载角色界面就断线。
防火墙和安全软件拦截问题。系统防火墙、第三方防护软件会拦截程序的网络通信,即便服务端在本机运行,部分系统依旧会拦截端口通信。操作时把防火墙暂时关闭测试,关闭之后可以正常登录,就说明是端口没有放行,需要手动添加端口放行规则。防护软件还可能隔离网关相关组件,文件缺失会造成通信异常,解压整套资源的时候就要关闭防护程序,防止文件被隔离删除。
数据库相关问题。能打开登录器,注册账号提示注册失败,基本就是账号网关和数据库连接异常。打开数据库管理工具,核对账号库名称、账号、密码,配置文件内填写的信息必须和数据库设置完全一致,大小写、特殊符号不能出错。数据库服务停止或者账号数据表损坏,注册功能直接失效。还有一种情况,数据库排序字符集不对,创建角色的时候提示角色名称非法,无法完成角色建立。数据表设置成只读状态,也会导致无法保存账号和角色信息。
客户端与补丁缺失问题。可以正常登录账号、选择服务器,加载地图的时候黑屏,就是补丁没有完整覆盖。补丁文件需要复制到客户端目录进行覆盖,只复制部分文件会出现地图、UI素材缺失。客户端版本和服务端版本不匹配,素材文件版本不一致,进入游戏画面异常,或者直接闪退。客户端路径尽量使用英文,文件夹名称带有中文符号,部分客户端读取资源失败,加载过程中断开连接。
连接时提示服务器断开,进入角色界面闪退。优先查看游戏网关日志,在点击进入游戏瞬间,网关会打印相关提示。提示校验失败就是登录器与网关密钥不匹配。提示找不到角色数据,就是角色数据库连接异常。还有内存不足,服务端运行占用内存过高,系统资源不够,玩家连接时直接被踢下线。电脑内存较低,同时开启多个程序,很容易出现这类随机断线的情况。
账号角色创建成功,点进入地图直接掉线,一般是地图资源或者地图配置出错。地图编号在服务端地图配置文件不存在,或者对应的map地图文件缺失,读取地图资源失败就会断开连接。地图里面怪物坐标配置错误,部分坐标越界,人物出生点设置在无效位置,创建角色进入地图瞬间闪退。
还有一些容易忽略的细节。修改配置文件时用记事本保存,编码出现错误,网关读取配置参数异常,表面启动成功,实际通信功能异常,建议使用专业文本编辑工具保存文件。服务端文件存放路径层级太深,文件夹名称带中文、空格,部分引擎读取配置不稳定,出现间歇性连接失败。资源文件解压不完全,压缩包损坏,个别脚本、素材丢失,不会直接造成引擎启动报错,但是进入游戏环节触发异常。
排查的时候遵循从外到内的顺序,先测试登录器能不能连通网关,再测试注册账号,接着测试创建角色,最后测试进入地图。每解决一项,重新启动整套服务端再测试,一次性改动多个参数,很难定位故障根源。网关日志是最重要的参考,每次点击登录操作的时候观察日志新增内容,日志里面的提示信息可以直接定位故障类型。不同引擎的网关名称、配置文件结构存在差别,排查时对照引擎自带说明,确认参数对应的功能。

