1.85传奇服架构配置与运行全流程解析

来源: 作者: 点击:
1.85传奇服基于Hero引擎构建,包含登录认证、数据库交互、游戏逻辑三大核心模块,目录结构分为LoginSrv、DBSrv200、M2Server三个独立程序。服务端需部署于纯英文路径(如D:Mir185),禁止含空格或中文字符,否则启动失败。

LoginSrv负责客户端首次连接验证,其!ServerInfo.txt文件定义服务器列表,格式为“名称=IP:7000”。DBSrv200管理角色数据读写,默认使用PlayerDB.mdb和ID.DB两个Access数据库,端口固定为7200。M2Server处理地图、怪物、NPC及脚本逻辑,监听7100端口,所有游戏行为由此模块驱动。

配置文件关键参数:
LoginSrv!Setup.txt:设置GatePort=7000,ClientLimit=500(最大在线人数)。
DBSrv200!Setup.txt:[Server] IP=192.168.1.100,Port=7200;[Share] LogDir=..Log。
M2Server!Setup.txt:[Server] IP=192.168.1.100,Port=7100;[Share] DBIP=192.168.1.100,DBPort=7200。

启动顺序不可颠倒:先运行LoginSrv.exe,再启动DBSrv200.exe,最后执行M2Server.exe。任意模块异常退出将导致玩家掉线或无法登录。M2Server启动时会加载Envir目录下的地图、怪物、NPC脚本,缺失关键文件(如MonItems)将引发闪退。

客户端匹配要求严格。必须使用对应1.85版本客户端,Game.exe与服务端Hero引擎版本号需一致。客户端资源包(StdItems.wil、Map.wil)若被替换或损坏,会导致贴图错乱、技能失效。登录器指向LoginSrv的IP:7000端口,局域网测试时其他设备需安装相同客户端。

核心功能实现依赖脚本系统:
合击触发:QFunction-0.txt中注册[@StdMode_50]至[@StdMode_52],对应三职业合击条件。
装备强化:通过Npc_defSmith.txt调用QuestDiaryUpgradeWeapon.txt,消耗祝福油提升属性。
地图传送:EnvirMapQuest_def001-000.txt控制比奇城出生点自动对话,缺失则角色卡在原地。

数据库直接操作:
PlayerDB.mdb存储角色背包、仓库、技能等级。使用Microsoft Access打开后可修改Gold(金币)、Level(等级)、BagItem(背包物品)。物品格式为“物品名,数量,耐久,属性字节”,例如“屠龙,1,50,0”。修改前必须关闭M2Server,避免写入冲突。

怪物与掉落配置:
EnvirMonGen.txt定义刷新规则,每行格式为“地图号 X Y 方向 刷新间隔 怪物名”,如“001 330 330 0 10000 战士”。掉落表位于Monster怪物名.txt,支持多物品概率设置,如“1000 金创药 5”表示10%几率掉5个。

外网开放步骤:
在路由器后台设置端口转发,将7000(LoginSrv)、7100(M2Server)、7200(DBSrv200)映射至主机内网IP。客户端登录器填写公网IP即可远程连接。Windows防火墙需放行上述端口TCP协议。

验证运行状态:本地创建角色,进入比奇城打稻草人,检查是否正常掉物、升级、使用商店。前往猪洞三层验证地图加载与怪物刷新,全程无卡顿、黑屏、掉线即表示服务端配置正确。