传奇单机架设常见问题汇总与针对性解决手段

来源: 作者: 点击:
单机架设过程中遇到的报错和异常集中在数据库连接、IP配置、端口占用、补丁加载、登录器通讯五个方面。下面按问题现象分类列出具体表现和对应操作。

第一类问题,M2Server启动时报错“无法连接到数据库”或“DB connection failed”。打开控制面板中的BDE Administrator,检查左侧列表是否存在“HeroDB”别名。若不存在,在Object菜单下选择New创建新别名,名称必须为大写的HeroDB,右侧PATH字段浏览定位到服务端“Mir200\DB”文件夹,右键点击别名选择Apply保存。若别名存在但仍报错,检查“Mir200\!Setup.txt”中的“DBName”字段是否为HeroDB,大小写必须一致。若使用MySQL数据库,检查“DBServer.ini”中的DBHost、DBUser、DBPassword是否填写正确,MySQL服务是否在系统服务中处于“正在运行”状态。

第二类问题,M2Server加载地图时卡住或报错“地图文件不存在”。打开“Mir200\Map”文件夹,确认该目录下是否存在报错中提及的地图文件名。若文件缺失,从完整的传奇客户端“Map”文件夹中复制所有地图文件至服务端“Map”目录。若文件存在但仍报错,检查“MapInfo.txt”中引用的地图名称与“Map”文件夹内的文件名是否完全一致,包括大小写和扩展名。地图文件扩展名为“.map”,若“MapInfo.txt”中写为“0.map”而实际文件名为“0.Map”,Windows系统不区分大小写但M2Server程序区分,需统一修改为小写扩展名。

第三类问题,启动GameCenter后各个网关窗口闪退。右键点击闪退的网关exe文件,选择“属性”,在“兼容性”选项卡中勾选“以Windows 7兼容模式运行”和“以管理员身份运行此程序”。若闪退仍存在,使用命令提示符执行“netsh winsock reset”重置网络堆栈,重置后重启电脑。排查端口占用情况,执行“netstat -ano | findstr 7000”查看7000端口被哪个进程占用,结束该进程后重新启动网关。若三个网关全部闪退,将服务端所在目录加入杀毒软件的白名单,或暂时关闭杀毒软件后再启动。

第四类问题,登录器打开后列表读取失败,显示“获取列表失败”或列表空白。单机架设时列表地址通常填写本地文件路径或127.0.0.1地址。若使用本地HTTP服务,检查Nginx或IIS是否正常运行,浏览器访问“http://127.0.0.1/list.txt”是否能显示文件内容。若使用本地文件方式,检查登录器配置器中的列表地址格式是否正确,GEE引擎的本地列表格式为“http://127.0.0.1/list.txt”,GOM引擎支持“127.0.0.1”直接填入。列表文件内容格式需符合引擎要求,GEE引擎列表需包含“[Server]”标题行,GOM引擎列表直接写“服务器名称|IP|端口”格式。若列表文件内容正确但仍获取失败,将列表文件上传至云存储生成外链地址填入登录器配置器。

第五类问题,登录器点击“注册账号”无响应或提示“连接服务器失败”。检查LoginSrv.exe窗口是否处于运行状态,该窗口标题栏应显示“登录服务已启动”。若窗口已关闭,重新启动LoginSrv.exe。检查“LoginSrv\LoginSrv.ini”中的“DBHost”字段是否为127.0.0.1。检查防火墙是否放行LoginSrv使用的端口,该端口默认为5500,在防火墙入站规则中添加TCP端口5500。若以上全部正常,使用telnet命令测试本机5500端口是否开放,执行“telnet 127.0.0.1 5500”,若连接失败则说明LoginSrv未正确监听,检查是否存在其他程序占用该端口。

第六类问题,账号注册成功但登录时提示“密码错误”或“账号不存在”。注册信息存储在DBServer的数据库文件中,检查DBServer.exe窗口是否显示“数据库连接成功”。若连接失败,回看第一类问题处理数据库连接。若连接成功但仍提示密码错误,在DBServer窗口输入“@查找账号 账号名”,确认账号是否存在于数据库中。若存在但密码不匹配,使用数据库管理工具打开“FDB”文件夹下的账号数据表,手动修改密码字段为空字符串,重新登录时输入空密码即可进入。

第七类问题,进入角色选择界面后点击“开始游戏”无反应或提示“连接游戏服务器失败”。检查SelGate.exe和RunGate.exe两个网关是否正常运行。SelGate负责角色选择通讯,其窗口应显示“角色网关就绪”。RunGate负责游戏数据传输,其窗口应显示“游戏网关启动完成”。检查“!Setup.txt”中的“GameServerPort”字段是否与RunGate实际监听的端口一致,默认均为7200。检查客户端“Mir.ini”或“登录器配置”中的游戏端口是否也为7200。三处端口必须完全一致。

第八类问题,角色进入游戏后地图全黑,人物无法移动或画面卡死。地图文件未正确加载导致,将服务端“Mir200\Map”文件夹内的所有地图文件完整复制到客户端“Map”文件夹中,覆盖同名文件。若地图文件已存在仍全黑,检查客户端“Map”文件夹的只读属性是否被勾选,取消只读属性后重新复制。若仅部分地图全黑,在“MapInfo.txt”中查找该地图对应的文件名,确认该文件存在于客户端“Map”目录中且文件大小不为零。

第九类问题,游戏内装备、怪物、NPC显示为空白或乱码。客户端“Data”目录缺少必要的素材文件。检查“Prguse.wil”、“Prguse.wix”、“Interface1.wil”三个文件是否存在于客户端“Data”目录,这三个文件控制游戏界面按钮和图标显示。若缺少,从完整客户端中复制过来。若装备图片显示为透明方块,检查客户端“Data”目录下的“Items.wil”、“DnItems.wil”、“StateItem.wil”三个文件是否存在。若存在但仍显示异常,将这三个文件替换为服务端“Mir200\Data”目录下的同名文件。

第十类问题,游戏内输入“@”指令无反应或提示“命令不存在”。管理员权限未正确赋予。在M2Server控制台输入“@makeadmin 角色名 10”,将当前角色设置为最高权限。确认后游戏内角色会收到提示信息。若仍无反应,打开“Mir200\Envir\AdminList.txt”文件,手动添加一行“* 角色名”,保存文件后在M2Server输入“@reloadadmin”重新加载管理员列表。若指令部分生效但部分无效,检查“Command.ini”文件中的指令映射表,确认该指令未被禁用或修改为其他名称。

第十一类问题,服务端运行一段时间后M2Server报错“内存不足”或“Out of memory”。单机架设通常因为电脑物理内存不足,关闭其他占用内存的程序后重启服务端。若仍报错,在“!Setup.txt”中修改“MaxHumanCount”为较小数值,例如从100改为50,减少同时在线人数上限。修改“ProcessHumanCount”从10改为5,降低单次循环处理玩家数量,减少内存占用峰值。修改后保存文件重启服务端。

第十二类问题,登录器提示“版本不正确,请下载最新登录器”或“客户端版本不匹配”。登录器与服务端引擎版本不一致导致。查看M2Server窗口标题栏显示的引擎版本号,下载对应版本的登录器配置器重新生成登录器。若已使用正确版本的配置器仍报错,在登录器配置器中修改“客户端版本号”字段,将其与服务端“!Setup.txt”中的“ClientVersion”字段保持一致。修改后重新生成登录器,复制至客户端目录覆盖旧文件。

第十三类问题,游戏内声音异常或没有背景音乐。检查客户端“Wav”文件夹是否存在,该目录存放所有游戏音效文件。若文件夹缺失,从完整客户端复制“Wav”文件夹至客户端根目录。若文件夹存在但音乐仍不播放,检查游戏内设置界面的音量滑块是否被拉至最低。若音量设置正常但特定音效不播放,在“Wav”文件夹中找到对应的wav文件,使用音频播放器测试该文件是否损坏,损坏则从完整客户端复制替换。

第十四类问题,单机架设完成后每次重启电脑都需要重新配置服务端。DBC2000的别名配置保存在注册表中,重启电脑后不会丢失。需要重新配置的是IP地址和端口设置,这些配置在“!Setup.txt”和网关界面中保存后同样不会丢失。若重启后服务端无法启动,原因是某些网关程序被系统防火墙重新阻止,打开防火墙入站规则查看各网关exe是否被禁用,重新放行即可。将GameCenter.exe加入系统启动项列表,开机后自动拉起控制台,无需手动操作。

第十五类问题,服务端日志文件占用磁盘空间过大。“Mir200\Log”目录和“LogServer”目录下的日志文件按日期累积,单日日志可达几百MB。进入“LogServer”配置界面,将“记录级别”从“全部”改为“错误”,只记录错误级别的日志,大幅减少日志写入量。手动清理三个月前的日志文件夹,删除后服务端运行不受影响。若需长期保留日志数据,将日志文件压缩打包后移至其他磁盘分区存储,腾出服务端所在分区的空间。