HERO 引擎单机传奇服务端搭建过程中,常见问题如下:
1. **数据库配置问题**:
- **DBC2000 安装与设置异常**:
- DBC2000 未正确安装,导致无法创建或连接到传奇游戏的数据库。例如,在安装过程中可能出现安装失败、安装后无法找到相关程序等情况。需要重新下载并正确安装 DBC2000,安装完成后在控制面板中找到“BDE Administrator”进行数据库的创建和配置。
- 数据库路径设置错误。在配置 DBC2000 时,指定的数据库路径与传奇服务端中实际的数据文件路径不一致,导致服务端无法读取到正确的数据库信息。需确保在“BDE Administrator”中设置的数据库路径指向传奇服务端文件夹下的“mirserver\mud2\db”路径。
2. **服务端启动问题**:
- **引擎启动报错**:
- **端口占用**:启动服务端时提示“地址协议网络地址端口只允许使用一次”的错误。这通常是因为其他程序占用了传奇服务端所需的端口,比如酷狗音乐等软件可能会占用相关端口。也有可能是在启动服务端时,之前的服务端进程没有完全关闭,或者多次启动了引擎导致端口冲突。解决方法是关闭占用端口的程序,或者在任务管理器中结束相关的进程,确保没有其他程序占用传奇服务端所需的端口。如果不确定是哪个程序占用了端口,可以使用一些端口查看工具来进行排查。
- **M2Server 时间格式报错**:这是 HERO 引擎特有的报错,通常是由于服务器的时间格式与引擎要求的不匹配导致的。可以通过修改服务器的时间格式为“yyyy-m-d”格式来解决,或者在“mirserver\mir200”文件夹下找到“!setup.txt”文件,打开并删除报错的时间,然后重启游戏。
- **服务端启动后异常关闭**:服务端启动后很快自动关闭,可能是服务端程序文件损坏或缺失。这种情况需要重新下载完整的服务端文件,并确保文件没有被损坏。另外,也有可能是服务端的配置文件出现错误,比如“!setup.txt”等配置文件中的参数设置不正确,需要仔细检查配置文件中的参数是否符合要求。
3. **登录器配置问题**:
- **登录器与服务端不匹配**:登录器和服务端的版本不兼容,导致无法连接到服务端。这可能是因为下载的登录器与使用的 HERO 引擎服务端版本不一致。需要确保登录器和服务端是配套的版本,或者根据服务端的版本下载相应的登录器配置器进行配置。
- **登录器列表读取失败**:登录器无法读取到游戏列表,可能是由于登录器的列表地址配置错误,或者列表文件不存在、损坏等原因。需要检查登录器的列表地址是否正确,并且确保列表文件已经上传到正确的位置并且可以正常访问。如果是自己搭建的列表服务器,还需要检查列表服务器是否正常运行。
- **黑屏或界面显示异常**:
- 进入游戏后黑屏,这可能是因为客户端的补丁没有正确安装或读取导致的。需要在配置登录器时,正确设置补丁的路径和密码,并确保客户端已经安装了相应的补丁文件。如果是使用的老版本 HERO 引擎,可能对客户端的版本有要求,需要使用特定版本的传奇客户端,比如 10 - 12 周年客户端等。
- 界面错乱可能是因为缺少相应的界面补丁,或者登录器的分辨率设置不正确。需要下载并安装对应的界面补丁,并且在登录器的设置中选择正确的分辨率,一般建议选择 800 分辨率。
4. **游戏内功能异常问题**:
- **人物上线就掉线**:可能和禁言脚本有关,以前的延时脚本`delaycall`的时间单位是秒,现在是毫秒。如果脚本中的延时时间设置不正确,可能会导致人物上线后很快掉线。需要检查脚本中的延时时间设置,并根据实际情况进行修改。
- **怪物异常**:怪物没血了很久才死亡或者打不死,一般是某个地图中的怪物太多造成的。需要仔细检查是哪个地图中的怪物过多,然后减少该地图中的怪物数量。
- **武器升级问题**:在升级武器时出现问题,比如无法升级武器或者升级后武器属性异常等。这可能是因为“!setup.txt”中设置的黑铁矿名称与物品数据库中的不一致,或者物品数据库中根本没有该物品。需要检查“!setup.txt”中的设置,并确保物品数据库中有相应的物品。
- **英雄相关问题**:
- 英雄无法召唤月灵,首先要检查技能数据库设置是否正确,然后查看“!setup.txt”里面的“angel=月灵”是否设置正确,还要检查怪物数据库中是否有月灵。另外,英雄只有在杀怪或者 PK 的时候才会召唤月灵,并且最新版本的登录器增加了道士英雄召唤宝宝的控制,默认召唤的可能是神兽而非月灵。
- 建立英雄时输入名字后没有反应,这可能是英雄脚本出现问题,需要参照正确的英雄脚本,或者检查英雄脚本在输入名字的地方是否需要添加一个跳转指令,比如将“(@@createhero) goto@createhero;”修改为“(@@createhero) delaycall 1@createhero”(这里的延时时间可以根据实际情况进行调整)。

