所有程序解压路径必须为纯英文且不含空格,服务端统一放在类似D:\MirServer的根目录下。路径中一旦出现中文字符或空格,引擎在启动阶段就可能静默闪退,DBC2000也无法正确关联数据库文件。运行库是启动的前置条件,VC++ 2015至2022的x86与x64版本需要同时安装,传奇引擎的核心进程多为32位,单独安装64位运行库不能替代x86版本;部分老引擎还依赖DirectX 9.0c的d3dx9_43.dll以及.NET Framework 3.5,缺失时M2Server会在初始化阶段直接崩溃或在日志中输出InitD3D() failed。杀毒软件在解压和首次启动期间应暂时关闭实时防护,或将整个MirServer目录加入排除列表,DBServer.exe和M2Server.exe被静默隔离是单机架设中高频出现的“文件明明解压了却提示不存在”的根源。
数据库配置取决于服务端使用的引擎类型。打开服务端目录,如果存在Mud2\DB文件夹且引擎控制器要求填写HeroDB,则该版本依赖DBC2000;如果引擎启动时提示缺少Access数据库驱动,或目录中根本没有Mud2\DB,说明该版本已改用Access或SQLite,跳过DBC2000配置即可。在需要DBC2000的64位Windows系统上,配置入口不是控制面板中的默认ODBC管理器,而是运行C:\Windows\SysWOW64\odbcad32.exe打开32位BDE Administrator。在Databases区域右键新建STANDARD类型别名,名称填写HeroDB,右侧PATH指向D:\MirServer\Mud2\DB。关键设置有两处:取消勾选“使用ANSI引号标识符”,并在高级选项中将字符集强制设为936(GBK),字符集不匹配会导致M2Server加载人物和物品数据时出现乱码或“Table does not exist”报错,而且引擎往往不给出明确的中文提示。保存后还需要处理写入权限,右键MirServer文件夹,在安全属性中为Everyone添加完全控制,否则DBServer.exe可能无法写入HeroDB.mdb,表现为数据库连接成功但无法保存数据。
服务端IP修改优先使用版本自带的配置工具。GOM引擎控制器中的“配置向导”是主要入口,基本设置中将游戏服务器外网地址改为127.0.0.1,不勾选动态IP模式,登录网关和游戏网关的IP同样保持127.0.0.1。如果版本没有配置向导,则需要手动核对LoginSrv\!addrtable.txt、LoginGate.ini和GameGate.ini,所有地址字段统一为127.0.0.1,不能混用localhost。端口方面,登录网关默认7000,游戏网关默认7100,微端网关8000;单机环境下这些端口通常可用,但如果7000或7100已被其他程序占用,引擎启动时会表现为窗口一闪关闭,没有任何弹窗提示。用netstat -ano | findstr :7000定位占用进程,结束对应进程后重启;如果占用源是系统或其他无法关闭的软件,则在配置向导中将登录网关改为7001、游戏网关改为7101,并同步修改登录器列表中的端口,只改服务端一侧不会生效。
启动顺序在单机架设中直接决定进程能否稳定存活。GOM引擎的核心进程依赖关系是DBServer先行加载数据库,LoginSrv随后建立登录服务,最后M2Server读取地图和脚本;顺序颠倒或DBServer尚未完成数据库握手就启动后续进程,网关和引擎会因为连接不到先决服务而退出。用引擎控制器一键启动时,观察每个黑色窗口是否稳定停留,DBServer窗口显示数据库加载完成后,再确认LoginSrv和两个网关窗口依次存在,最后M2Server窗口滚动加载地图且底部没有红色报错,服务端才算就绪。如果某个窗口启动即消失,先到任务管理器中结束残留的DBServer.exe、LoginGate.exe或M2Server.exe进程,再按顺序重新启动;旧进程没有退出时,新进程会因端口已被占用而绑定失败。Win10/11的UAC还会拦截引擎写入日志或绑定端口,将M2Server.exe、DBServer.exe和登录网关程序右键设置为“以管理员身份运行”,可以排除一类没有明确错误信息的启动失败。
登录器的列表配置需要区分本地列表与远程列表。单机不需要上传列表到网络,在登录器配置器中将列表地址指向本地文件或本地回环地址即可。GOM引擎的正确本地列表格式为http://127.0.0.1:端口号/列表文件名.txt,端口建议选择1320至1340之间未被占用的值,例如http://127.0.0.1:1320/legendlist.txt;如果配置器中误填了外网HTTP地址或tcp://开头的TCP列表,登录器会直接提示获取列表失败。列表文件本身的内容需要与端口严格对应,单机简化格式为“1|本地单机|127.0.0.1|7000”,其中7000必须与登录网关实际监听的端口一致,端口从7000改为7001后列表文件中的数字也必须同步修改。登录器生成器必须使用服务端自带的版本,新GOM引擎配老版本配置器会出现参数不兼容,生成后的登录器无法正常握手。Key.Lic或授权文件通常需要同时放入Mir200目录和登录器配置器目录,只替换其中一处会导致登录器生成后无法通过版本验证。
客户端版本与服务端版本的对应关系不能靠“万能补丁”绕过。1.76服务端配1.76客户端,合击版本配合击客户端,跨版本覆盖补丁文件会造成地图黑屏、装备图标错位或NPC对话空白,而且服务端M2Server一侧往往没有任何报错。服务端附带的补丁文件夹需要完整解压到客户端根目录,补丁文件夹名称应与登录器配置中填写的名称逐字一致;名称不一致时在客户端中直接改名对齐,不要只复制Data或Map中的部分文件。完成上述配置后,双击客户端根目录的登录器,列表正常显示服务器名称说明列表路径与端口读取正确,能注册账号并创建角色说明登录网关与DBServer链路通畅,进入游戏后地图、装备和NPC显示正常,单机架设才算完成。
故障排查按链路分层比反复重装更有效。DBServer提示“无法连接HeroDB”时,先确认64位系统使用的是SysWOW64下的32位BDE Administrator,再检查HeroDB的PATH是否精确指向Mud2\DB、字符集是否为936,最后确认MirServer文件夹对DBServer有写入权限。M2Server启动后闪退且无弹窗,优先检查7000和7100端口占用,其次核对VC++运行库是否安装了x86版本。登录器卡在“正在连接服务器”或无法获取列表,检查列表地址是否为本地回环、列表文件中的IP和端口是否与网关一致、登录器是否放置在客户端根目录。进入游戏后黑屏但服务端无报错,问题不在引擎,而在客户端补丁未完整覆盖或客户端与服务端版本不匹配,重新核对补丁目录和客户端版本即可定位。Win10/11上如果M2Server窗口本身显示异常或初始化失败,还可以尝试右键M2Server.exe属性,在兼容性中勾选“替代高DPI缩放行为”并选择“系统(增强)”,高DPI虚拟化会导致部分老引擎的窗口消息循环阻塞。
传奇服务端单机架设全流程:从数据库配置到客户端登录的逐步操作与故障排除
来源:
作者:
点击:

