GOM引擎服务端根目录默认叫MirServer,所有模块按“网关→数据库→主逻辑→环境配置→素材”五层拆开。启动顺序固定为DBServer→LoginGate/SelGate/RunGate→M2Server(GameOfMir引擎控制器可一键拉起全部)。路径必须纯英文,DBC2000下HeroDB别名指向MirServer\Mud2\DB,SQL/SQLite版则在DBServer\DBConfig.ini或Config.ini写连接串。下面按目录逐层拆文件职责。
一、根目录与核心程序层(MirServer\)
•GameCenter.exe/GameOfMir引擎控制器.exe:总控台,配置向导设服务器名、IP、端口、DB路径,按顺序拉起各子服务。
•M2Server.exe:游戏主脑,处理移动、战斗、技能、NPC、任务、脚本执行、地图运算,占资源最高,红错即停服。
-DBServer\:DBServer.exe读写字库;Hum.DB角色数据(等级/装备/背包/行会),Mir.DB基础数据;DBConfig.ini设DB路径与同步频率;老版配合DBC2000的HeroDB别名,新版走SQLServer/SQLite。
-LoginSrv\:ID.DB账号库,serverinfo.txt写网关IP端口,做账号注册鉴权再转发M2。
•LoginGate\:LoginGate.exe监听7000登录包,校验账号密码、拦非法连接;LoginGate.ini控端口/最大连接/防连参数。
-SelGate\:角色选择网关,选角列表、建删角色包转发。
•RunGate\:RunGate.exe游戏实时数据网关,多开做多线负载,处理客户端↔M2的封包中转。
•LogServer\:日志服务,写ConLog、操作日志。
-UpdateGate\+UpdateServer\:GOM微端专属,UpdateGate需qqwry.dat启动,UpdateServer管PAK补丁与PAK.txt,密码须与登录器配置器一致。
-登录器生成:GameOfMir登录器生成器.exe+Key.Lic,生成客户端登录器,补丁目录名须与配置器填写完全一致。
二、Mir200\核心运行目录
1.Envir\(玩法规则总库)
-!Setup.txt:全局基础参数,服务器名、端口、DB连接、经验系数、掉落率、PK规则、路径配置,M2启动首读。
•AdminList.txt:GM权限表,格式*角色名,M2控制台加删即时生效。
-MapInfo.txt:地图属性与连接点,SAFE/FIGHT/NORECALL/EXPRATE/NEEDSET_ON等参数与33303141->0159516连接方式。
-MonGen.txt:刷怪规则,地图号+坐标+范围+怪物名+数量+间隔,空了全图无怪。
•MonItems\:按怪物名建txt(祖玛教主.txt),写掉落物品ID与万分之几爆率;MonItems.txt也可全局写。
-Merchant.txt:NPC注册表,格式地图/名字XY脚本名范围刷新,脚本落Market_Def\对应路径-地图号.txt。
•NPCs.txt/Npc_def\:系统固定NPC(雕像、石碑)配置。
-Market_Def\:NPC对话脚本目录;内含QFunction-0.txt(物品使用、死亡、技能、打怪钩子触发),QMapEnent-0(地图事件触发)。
•MapQuest_def\:地图触发脚本,QManage.txt管登录/@Login/全局变量初始化,QTrigger类管进图/杀怪事件。
-QuestDiary\:自定义任务/活动/兑换脚本库,NPC里#CALL[\QuestDiary\任务系统\xxx.txt]@段调用。
•Robot_def\:Robot.txt+AutoRunRobot.txt+RobotManage.txt,定时机器人(喊话/刷怪/攻城/假人登入)。
-GuildBase\:行会数据目录,存行会信息、成员、攻城记录。
•Castle\:沙巴克状态,Sabukw.txt/AttackSabukWall.txt/List.txt。
•Notice\:LineNotice.txt滚动公告、登录公告。
-MiniMap.txt:地图号→小地图索引,漏写雷达空白。
•DenyChrNameList.txt/DenyAccountList/DenyIPAddrList.txt:禁名、禁号、禁IP。
-MonSpAbilList.txt:怪物扩展属性(忽视防、反伤、麻痹率等)。
•Boxs\、SmartMonster\、MonUseItems\、MonIcons\、UserData\CustomNpc\、CheckItemList.txt:宝箱、自定义怪、人形怪爆率、头顶封号、自定义NPC/技能/毒武器配置。
2.Mud2\DB\(DBC2000关联库)
•Monster.DB:怪物基础库,Name/SID/Race/Racelmg/Appr/Lvl/HP/DC/AC/Undead/CoolEye/Exp等,DBC2000开改。
-StdItems.DB:物品库,武器/装备/药品/材料的攻击、持久、重量、佩戴条件、外观代码。
•Magic.DB:技能库,效果、消耗、等级参数。
3.Map\:地图文件*.map,编号与MapInfo.txt对应,大地图配MiniMap。
4.Data\:客户端素材PAK/WIL/WZL解包后服务端引用目录,NewopUI.Pak等界面资源勿直接覆盖防错乱;Pak编辑走Pak文件编辑器。
5.其他运行目录
•ConLog\:登录与操作日志。
-Log\:M2运行日志。
•PlugList.txt:插件加载清单,更新引擎需手动排除保留自定义插件。
•AutoLoadOffline.txt:离线挂机人物导出数据,M2“加载脱机人物”读取。
三、脚本文件编码与热更规则
所有.txt脚本(QuestDiary、Market_Def、MapQuest_def、Robot_def)编码必须ANSI,UTF-8必乱码。改完生效方式:
-NPC/Merchant→M2“重新加载NPC”或@reloadnpc
•QF→“重新加载QF脚本”
•QM→“重新加载QM脚本”
•MapInfo/MonGen→“重新加载地图配置/刷怪配置”
-Monster.DB/StdItems.DB→DBC2000保存+M2“重载数据库”
四、数据流转闭环
客户端→LoginGate(验号)→LoginSrv(查ID.DB)→SelGate(选角)→RunGate(实时包)→M2Server(读Envir规则+Mud2\DB数据,算逻辑)→DBServer(写Hum.DB/Mir.DB)→回包客户端渲染。
五、常见排错定位
•卡登录界面:LoginGate/LoginSrv/DBConfig.ini连接异常
•选角空列表:SelGate未起或DBServer未连库
•NPC点了没反应:Merchant.txt路径与Market_Def文件名不一致、QF钩子未挂
-地图黑/雷达空:Map\缺.map或MiniMap.txt漏行
•怪不动/爆率为空:Monster.DBRace写错、MonGen.txt坐标在墙里、MonItems概率全0
-启动报路径错:MirServer放中文路径或HeroDB别名未指Mud2\DB
GOM引擎文件体系本质就是“网关收包、DB存档、M2跑Envir规则、Mud2\DB供基础数据、Map/Data供场景素材”五段串联,改版本90%操作落在Envir与Mud2\DB这两层。
一、根目录与核心程序层(MirServer\)
•GameCenter.exe/GameOfMir引擎控制器.exe:总控台,配置向导设服务器名、IP、端口、DB路径,按顺序拉起各子服务。
•M2Server.exe:游戏主脑,处理移动、战斗、技能、NPC、任务、脚本执行、地图运算,占资源最高,红错即停服。
-DBServer\:DBServer.exe读写字库;Hum.DB角色数据(等级/装备/背包/行会),Mir.DB基础数据;DBConfig.ini设DB路径与同步频率;老版配合DBC2000的HeroDB别名,新版走SQLServer/SQLite。
-LoginSrv\:ID.DB账号库,serverinfo.txt写网关IP端口,做账号注册鉴权再转发M2。
•LoginGate\:LoginGate.exe监听7000登录包,校验账号密码、拦非法连接;LoginGate.ini控端口/最大连接/防连参数。
-SelGate\:角色选择网关,选角列表、建删角色包转发。
•RunGate\:RunGate.exe游戏实时数据网关,多开做多线负载,处理客户端↔M2的封包中转。
•LogServer\:日志服务,写ConLog、操作日志。
-UpdateGate\+UpdateServer\:GOM微端专属,UpdateGate需qqwry.dat启动,UpdateServer管PAK补丁与PAK.txt,密码须与登录器配置器一致。
-登录器生成:GameOfMir登录器生成器.exe+Key.Lic,生成客户端登录器,补丁目录名须与配置器填写完全一致。
二、Mir200\核心运行目录
1.Envir\(玩法规则总库)
-!Setup.txt:全局基础参数,服务器名、端口、DB连接、经验系数、掉落率、PK规则、路径配置,M2启动首读。
•AdminList.txt:GM权限表,格式*角色名,M2控制台加删即时生效。
-MapInfo.txt:地图属性与连接点,SAFE/FIGHT/NORECALL/EXPRATE/NEEDSET_ON等参数与33303141->0159516连接方式。
-MonGen.txt:刷怪规则,地图号+坐标+范围+怪物名+数量+间隔,空了全图无怪。
•MonItems\:按怪物名建txt(祖玛教主.txt),写掉落物品ID与万分之几爆率;MonItems.txt也可全局写。
-Merchant.txt:NPC注册表,格式地图/名字XY脚本名范围刷新,脚本落Market_Def\对应路径-地图号.txt。
•NPCs.txt/Npc_def\:系统固定NPC(雕像、石碑)配置。
-Market_Def\:NPC对话脚本目录;内含QFunction-0.txt(物品使用、死亡、技能、打怪钩子触发),QMapEnent-0(地图事件触发)。
•MapQuest_def\:地图触发脚本,QManage.txt管登录/@Login/全局变量初始化,QTrigger类管进图/杀怪事件。
-QuestDiary\:自定义任务/活动/兑换脚本库,NPC里#CALL[\QuestDiary\任务系统\xxx.txt]@段调用。
•Robot_def\:Robot.txt+AutoRunRobot.txt+RobotManage.txt,定时机器人(喊话/刷怪/攻城/假人登入)。
-GuildBase\:行会数据目录,存行会信息、成员、攻城记录。
•Castle\:沙巴克状态,Sabukw.txt/AttackSabukWall.txt/List.txt。
•Notice\:LineNotice.txt滚动公告、登录公告。
-MiniMap.txt:地图号→小地图索引,漏写雷达空白。
•DenyChrNameList.txt/DenyAccountList/DenyIPAddrList.txt:禁名、禁号、禁IP。
-MonSpAbilList.txt:怪物扩展属性(忽视防、反伤、麻痹率等)。
•Boxs\、SmartMonster\、MonUseItems\、MonIcons\、UserData\CustomNpc\、CheckItemList.txt:宝箱、自定义怪、人形怪爆率、头顶封号、自定义NPC/技能/毒武器配置。
2.Mud2\DB\(DBC2000关联库)
•Monster.DB:怪物基础库,Name/SID/Race/Racelmg/Appr/Lvl/HP/DC/AC/Undead/CoolEye/Exp等,DBC2000开改。
-StdItems.DB:物品库,武器/装备/药品/材料的攻击、持久、重量、佩戴条件、外观代码。
•Magic.DB:技能库,效果、消耗、等级参数。
3.Map\:地图文件*.map,编号与MapInfo.txt对应,大地图配MiniMap。
4.Data\:客户端素材PAK/WIL/WZL解包后服务端引用目录,NewopUI.Pak等界面资源勿直接覆盖防错乱;Pak编辑走Pak文件编辑器。
5.其他运行目录
•ConLog\:登录与操作日志。
-Log\:M2运行日志。
•PlugList.txt:插件加载清单,更新引擎需手动排除保留自定义插件。
•AutoLoadOffline.txt:离线挂机人物导出数据,M2“加载脱机人物”读取。
三、脚本文件编码与热更规则
所有.txt脚本(QuestDiary、Market_Def、MapQuest_def、Robot_def)编码必须ANSI,UTF-8必乱码。改完生效方式:
-NPC/Merchant→M2“重新加载NPC”或@reloadnpc
•QF→“重新加载QF脚本”
•QM→“重新加载QM脚本”
•MapInfo/MonGen→“重新加载地图配置/刷怪配置”
-Monster.DB/StdItems.DB→DBC2000保存+M2“重载数据库”
四、数据流转闭环
客户端→LoginGate(验号)→LoginSrv(查ID.DB)→SelGate(选角)→RunGate(实时包)→M2Server(读Envir规则+Mud2\DB数据,算逻辑)→DBServer(写Hum.DB/Mir.DB)→回包客户端渲染。
五、常见排错定位
•卡登录界面:LoginGate/LoginSrv/DBConfig.ini连接异常
•选角空列表:SelGate未起或DBServer未连库
•NPC点了没反应:Merchant.txt路径与Market_Def文件名不一致、QF钩子未挂
-地图黑/雷达空:Map\缺.map或MiniMap.txt漏行
•怪不动/爆率为空:Monster.DBRace写错、MonGen.txt坐标在墙里、MonItems概率全0
-启动报路径错:MirServer放中文路径或HeroDB别名未指Mud2\DB
GOM引擎文件体系本质就是“网关收包、DB存档、M2跑Envir规则、Mud2\DB供基础数据、Map/Data供场景素材”五段串联,改版本90%操作落在Envir与Mud2\DB这两层。

