一、环境准备与目录规范
系统用WindowsServer2012/2016/2019或Win10/Win1164位,内存至少4G,硬盘留50G以上。服务端解压路径必须用纯英文无空格,例如D:\MirServer,不要放桌面、不要带中文目录,否则后续脚本加载、微端读取、PAK补丁解析都会莫名其妙报错。
先把杀毒和WindowsDefender实时防护临时关掉,或者把MirServer目录加入白名单。很多引擎文件、列表工具、登录器生成器会被误杀,表现就是M2启动闪退、网关程序消失、登录器生成失败。
运行库装齐:VC++2005-2022、.NETFramework4.8、DirectX相关组件。老版本还会依赖DBC2000/BDE,新版GOM/GEE有些走内置数据层,但手里端包只要带HeroDB调用,就必须装DBC2000。
二、服务端解包与结构核对
标准端包解压后至少应有这些目录和文件:
DBServer(数据网关)
LoginSrv(账号服务)
LoginGate(登录网关)
SelGate(选角网关)
RunGate/GameGate(游戏网关)
M2Server.exe(主引擎)
Mir200(核心数据、Envir脚本、Mud2数据库、Map地图)
LogServer(日志)
引擎控制器GameCenter.exe
登录器生成工具
缺任何一个组件,先补端,不要硬改配置凑。Envir里重点看:
Envir\MonItems爆率文件
Envir\MapInfo.txt地图配置
Envir\NPC脚本
Envir\Market_def商店与功能NPC
Mir200\Envir\QuestDiary任务脚本
Mir200\Mud2\DB物品库、怪物库、技能库
三、DBC2000数据库配置
控制面板打开BDEAdministrator,右键Databases新建STANDARD别名,改名:
HeroDB
路径指向:
D:\MirServer\Mir200\Mud2\DB
注意大小写尽量按端包说明,99%的HERO/GOM老内核默认就是HeroDB。点Apply保存,关掉重开确认PATH没掉。数据库名不对,M2会报“无法打开StdItems”“DBAlias错误”“角色数据读取失败”。
如果是GEE或新GOM走SQL/SQLite,就不一定用BDE,直接看端包里的DBServer\Config.ini:
DBAddr=127.0.0.1
DBPort=6000
DBName=Mir200
DBUser=sa
DBPwd=你的密码
改成实际数据库配置,先单独启动DBServer,看到“数据库连接成功”再往下走。
四、引擎配置向导参数
打开引擎控制器,进配置向导:
服务端根目录:D:\MirServer\
数据库名:HeroDB
区服名称:自定义
单机IP:127.0.0.1
局域网IP:192.168.x.x
外网IP:公网地址或勾动态域名
端口保持默认别乱改:
登录网关7000
角色网关7100
游戏网关7200
RunGate7200-7500
DBServer6000
微端8000
列表服务7685(视引擎)
改端口不是不行,但所有地方必须联动:引擎配置、网关ini、登录器列表、客户端配置全部一致,否则“游戏不开门”“connectionclosed”“列表读不到”。
五、启动顺序
严格按这个顺序,别图快一起点:
1.启动DBServer数据库服务
2.启动LoginSrv
3.启动LoginGate登录网关
4.启动SelGate选角网关
5.启动RunGate/GameGate游戏网关
6.最后启动M2Server
M2起来后看底部日志,出现“服务器启动成功”“当前在线0”且无红字报错,才算内核跑通。常见红字:
DBError→数据库别名、路径、BDE没配置好
FileNotFound→地图文件、Envir脚本、PAK索引缺失
AccessViolation→引擎和登录器版本不匹配,或内存被杀软拦
加载物品数据失败→Mud2\DB\StdItems.DB损坏或被占用
六、登录器与列表文件
用引擎配套登录器生成器,不要拿别的内核登录器硬套。GOM端配GOM登录器,GEE配GEE,BLUE配BLUE,混用必出网关异常。
列表文件list.txt格式:
服务器名IP
端口
例如单机:
测试区127.0.0.1
7000
外网:
测试区118.117.x.x
7000
编码必须是ANSI,别存成UTF-8,否则登录器读出来是空列表或乱码。
列表可以放本地IIS、空间、或者引擎自带的列表服务。登录器配置器里填列表地址,例如:
http://你的域名/list.txt
或者本地:
http://127.0.0.1:7685/list.txt
生成登录器后,把登录器exe和配套文件放进客户端根目录。补丁按端包说明放,尤其是:
Data目录
Map目录
PAK补丁
ui、wzl、wil资源
NewopUI.pak(黑屏常因它没放)
七、客户端对接
客户端用对应版本的官方传奇客户端做底包,不要拿太新或太旧的端硬套。把服务端给的资源补丁覆盖进客户端根目录,登录器也放根目录,双击进游戏。
进游戏前开M2管理员:
M2→信息→管理员名单,加你的游戏账号,权限拉满。进游戏用@reload系列命令调试,@make物品名造物品,@mob怪物名数量测爆率。
八、爆率与掉落调试
爆率文件在:
Mir200\Envir\MonItems\怪物名.txt
格式一般是:
物品名1/10
装备名1/50
稀有装1/5000
改完注意三点:
1.文件编码ANSI,新版GOM无BOM也行,但别带UTF-8BOM
2.怪物名必须和Monster.DB里完全一致,带空格都不行
3.改完部分引擎要“重新加载爆率”,老引擎直接重启M2
快速验证:给某个猪卫或祖玛怪配一行:
屠龙1/1
重启M2,进去砍一只,必掉说明爆率链路通了。不掉再查:
全局爆率倍数是不是0
地图是不是安全区/测试图禁爆
怪物数据库Butch/挖取字段是不是1
QFunction里有没有NODROP脚本
MonItems文件名是不是和怪物名对不上
物品在StdItems里是否存在
新怪只显示“挖取”不爆装,把怪物库里挖掘标志改0,CanDig改0,AllowPick设1,再绑爆率文件,重启M2。
九、外网开放与端口映射
本机测试用127.0.0.1就够了。要让别人连,分三层:
1.服务端配置公网IP或动态域名
2.路由器端口映射:7000、7100、7200-7500、8000、6000
3.云服务器还要在安全组放行同样端口
家用宽带做外网,IP会变就用花生壳或FRP内网穿透。路由器里把内网机器设固定IP,虚拟服务器映射:
外部端口7000→192.168.1.x:7000
外部端口7200→192.168.1.x:7200
外部端口8000→192.168.1.x:8000
Windows防火墙高级设置里建入站规则,TCP/UDP都放,或者直接允许M2Server.exe、LoginGate.exe、RunGate.exe通过。
端口被占用用:
netstat-ano|findstr:7000
酷狗、迅雷、某些直播工具会抢7000,要么结束进程,要么引擎整体换端口段。
十、常见故障速查
进不了游戏、列表空白
查list.txt编码、列表地址、登录器配置器地址是否一致,IIS没起就换本地列表服务。
能进登录界面但建不了角色
DBServer没起,或者HeroDB路径错,看DBServer日志。
选角后黑屏
客户端补丁缺NewopUI.pak,微端8000没开,PAK版本不对。
进图后贴图错乱、NPC无名
客户端wil/wzl补丁没覆盖,或者登录器没读补丁列表。
M2闪退
先看端口占用,再看StdItems.DB、Monster.DB是否损坏,最后换同版本引擎补丁。
打怪不爆东西
爆率文件没加载、编码错、全局倍率0、怪物名不匹配、脚本NODROP拦截,逐条排查。
技能没特效、内挂透明
客户端版本和端包美术资源不一致,补技能特效PAK,或重下对应年份客户端。
十一、日常维护动作
每天备三样东西:
Mir200\Mud2数据库
Mir200\Envir脚本
Log日志(出事回溯用)
改任何配置前先复制原文件,命名bak。爆率、经验、商店、活动脚本都用Notepad++改,别用Word。
经验倍率改怪物库经验字段,或M2参数里的经验倍数;装备保值靠爆率曲线控制,稀有装别一股脑1/1,按1/5000到1/20000分层;散人生态靠地图阶梯和刷新密度,不是靠卖属性。
十二、挂机与自动化适配
端起来之后做内置挂机,重点看三个点:
1.M2里开“允许内挂”“允许自动拾取”
2.Envir里配自动捡物过滤,白装不捡、沃玛以上捡
3.怪物刷新点用@mob和刷怪脚本校准,保证挂机点不断怪
按键类外部工具接游戏时,别改内存,只做键鼠模拟和界面识别,避免触发引擎反作弊导致封号。挂机脚本逻辑建议做成:
随机跑点→锁最近怪→技能循环→血少喝药→背包满回城→卖垃圾→回原坐标
坐标和地图名从MapInfo.txt里取,别写死屏幕像素,分辨率一变就废。
十三、版本内容打磨顺序
一套能长期玩的端,搭建只是第一步,内容层这样排:
先保核心循环:砍怪、爆装、回收、锻造、转生
再做散人线:尸王殿、祖玛、赤月、魔龙阶梯爆率拉顺
然后合击/多职业:战战、法战、道道技能系数单独调
最后火龙/超变线:切割、吸血、反伤、元素属性做阈值
复古线反过来,把药价、负重、跑图时间、爆率全部压回去
M2里把“自动回收”“随身仓库”“一键回收”“离线泡点”做成NPC脚本,比强行改数据库稳。所有新功能先单机测三天:建号、升级、死亡、爆装、回城、关服重开,数据不丢再对外。
十四、性能与并发
同时在线几十人,4核8G够用;上百人在线建议8核16G起步,网关分开部署。RunGate可以起多个实例分散连接,M2别开太多插件,未知插件一个个加,加一个测一小时。
日志级别别开太细,不然Log目录一天几十G。掉落日志、脚本错误日志留着,其他按需开。
十五、收尾检查清单
服务端能起M2无红字
数据库HeroDB路径正确
网关全绿
端口映射+防火墙通
登录器列表ANSI、IP端口对
客户端补丁完整
爆率文件ANSI、MonItems能加载
管理员账号可用GM命令
备份机制每天自动跑
挂机点怪物密度和拾取规则验证过
做到上面这些,一个能自己调试、能改内容、能长期跑的传奇网游服务端就立住了。后面无非是持续调数值、加地图、写活动、修脚本,技术底子稳了,上层内容随便叠。
系统用WindowsServer2012/2016/2019或Win10/Win1164位,内存至少4G,硬盘留50G以上。服务端解压路径必须用纯英文无空格,例如D:\MirServer,不要放桌面、不要带中文目录,否则后续脚本加载、微端读取、PAK补丁解析都会莫名其妙报错。
先把杀毒和WindowsDefender实时防护临时关掉,或者把MirServer目录加入白名单。很多引擎文件、列表工具、登录器生成器会被误杀,表现就是M2启动闪退、网关程序消失、登录器生成失败。
运行库装齐:VC++2005-2022、.NETFramework4.8、DirectX相关组件。老版本还会依赖DBC2000/BDE,新版GOM/GEE有些走内置数据层,但手里端包只要带HeroDB调用,就必须装DBC2000。
二、服务端解包与结构核对
标准端包解压后至少应有这些目录和文件:
DBServer(数据网关)
LoginSrv(账号服务)
LoginGate(登录网关)
SelGate(选角网关)
RunGate/GameGate(游戏网关)
M2Server.exe(主引擎)
Mir200(核心数据、Envir脚本、Mud2数据库、Map地图)
LogServer(日志)
引擎控制器GameCenter.exe
登录器生成工具
缺任何一个组件,先补端,不要硬改配置凑。Envir里重点看:
Envir\MonItems爆率文件
Envir\MapInfo.txt地图配置
Envir\NPC脚本
Envir\Market_def商店与功能NPC
Mir200\Envir\QuestDiary任务脚本
Mir200\Mud2\DB物品库、怪物库、技能库
三、DBC2000数据库配置
控制面板打开BDEAdministrator,右键Databases新建STANDARD别名,改名:
HeroDB
路径指向:
D:\MirServer\Mir200\Mud2\DB
注意大小写尽量按端包说明,99%的HERO/GOM老内核默认就是HeroDB。点Apply保存,关掉重开确认PATH没掉。数据库名不对,M2会报“无法打开StdItems”“DBAlias错误”“角色数据读取失败”。
如果是GEE或新GOM走SQL/SQLite,就不一定用BDE,直接看端包里的DBServer\Config.ini:
DBAddr=127.0.0.1
DBPort=6000
DBName=Mir200
DBUser=sa
DBPwd=你的密码
改成实际数据库配置,先单独启动DBServer,看到“数据库连接成功”再往下走。
四、引擎配置向导参数
打开引擎控制器,进配置向导:
服务端根目录:D:\MirServer\
数据库名:HeroDB
区服名称:自定义
单机IP:127.0.0.1
局域网IP:192.168.x.x
外网IP:公网地址或勾动态域名
端口保持默认别乱改:
登录网关7000
角色网关7100
游戏网关7200
RunGate7200-7500
DBServer6000
微端8000
列表服务7685(视引擎)
改端口不是不行,但所有地方必须联动:引擎配置、网关ini、登录器列表、客户端配置全部一致,否则“游戏不开门”“connectionclosed”“列表读不到”。
五、启动顺序
严格按这个顺序,别图快一起点:
1.启动DBServer数据库服务
2.启动LoginSrv
3.启动LoginGate登录网关
4.启动SelGate选角网关
5.启动RunGate/GameGate游戏网关
6.最后启动M2Server
M2起来后看底部日志,出现“服务器启动成功”“当前在线0”且无红字报错,才算内核跑通。常见红字:
DBError→数据库别名、路径、BDE没配置好
FileNotFound→地图文件、Envir脚本、PAK索引缺失
AccessViolation→引擎和登录器版本不匹配,或内存被杀软拦
加载物品数据失败→Mud2\DB\StdItems.DB损坏或被占用
六、登录器与列表文件
用引擎配套登录器生成器,不要拿别的内核登录器硬套。GOM端配GOM登录器,GEE配GEE,BLUE配BLUE,混用必出网关异常。
列表文件list.txt格式:
服务器名IP
端口
例如单机:
测试区127.0.0.1
7000
外网:
测试区118.117.x.x
7000
编码必须是ANSI,别存成UTF-8,否则登录器读出来是空列表或乱码。
列表可以放本地IIS、空间、或者引擎自带的列表服务。登录器配置器里填列表地址,例如:
http://你的域名/list.txt
或者本地:
http://127.0.0.1:7685/list.txt
生成登录器后,把登录器exe和配套文件放进客户端根目录。补丁按端包说明放,尤其是:
Data目录
Map目录
PAK补丁
ui、wzl、wil资源
NewopUI.pak(黑屏常因它没放)
七、客户端对接
客户端用对应版本的官方传奇客户端做底包,不要拿太新或太旧的端硬套。把服务端给的资源补丁覆盖进客户端根目录,登录器也放根目录,双击进游戏。
进游戏前开M2管理员:
M2→信息→管理员名单,加你的游戏账号,权限拉满。进游戏用@reload系列命令调试,@make物品名造物品,@mob怪物名数量测爆率。
八、爆率与掉落调试
爆率文件在:
Mir200\Envir\MonItems\怪物名.txt
格式一般是:
物品名1/10
装备名1/50
稀有装1/5000
改完注意三点:
1.文件编码ANSI,新版GOM无BOM也行,但别带UTF-8BOM
2.怪物名必须和Monster.DB里完全一致,带空格都不行
3.改完部分引擎要“重新加载爆率”,老引擎直接重启M2
快速验证:给某个猪卫或祖玛怪配一行:
屠龙1/1
重启M2,进去砍一只,必掉说明爆率链路通了。不掉再查:
全局爆率倍数是不是0
地图是不是安全区/测试图禁爆
怪物数据库Butch/挖取字段是不是1
QFunction里有没有NODROP脚本
MonItems文件名是不是和怪物名对不上
物品在StdItems里是否存在
新怪只显示“挖取”不爆装,把怪物库里挖掘标志改0,CanDig改0,AllowPick设1,再绑爆率文件,重启M2。
九、外网开放与端口映射
本机测试用127.0.0.1就够了。要让别人连,分三层:
1.服务端配置公网IP或动态域名
2.路由器端口映射:7000、7100、7200-7500、8000、6000
3.云服务器还要在安全组放行同样端口
家用宽带做外网,IP会变就用花生壳或FRP内网穿透。路由器里把内网机器设固定IP,虚拟服务器映射:
外部端口7000→192.168.1.x:7000
外部端口7200→192.168.1.x:7200
外部端口8000→192.168.1.x:8000
Windows防火墙高级设置里建入站规则,TCP/UDP都放,或者直接允许M2Server.exe、LoginGate.exe、RunGate.exe通过。
端口被占用用:
netstat-ano|findstr:7000
酷狗、迅雷、某些直播工具会抢7000,要么结束进程,要么引擎整体换端口段。
十、常见故障速查
进不了游戏、列表空白
查list.txt编码、列表地址、登录器配置器地址是否一致,IIS没起就换本地列表服务。
能进登录界面但建不了角色
DBServer没起,或者HeroDB路径错,看DBServer日志。
选角后黑屏
客户端补丁缺NewopUI.pak,微端8000没开,PAK版本不对。
进图后贴图错乱、NPC无名
客户端wil/wzl补丁没覆盖,或者登录器没读补丁列表。
M2闪退
先看端口占用,再看StdItems.DB、Monster.DB是否损坏,最后换同版本引擎补丁。
打怪不爆东西
爆率文件没加载、编码错、全局倍率0、怪物名不匹配、脚本NODROP拦截,逐条排查。
技能没特效、内挂透明
客户端版本和端包美术资源不一致,补技能特效PAK,或重下对应年份客户端。
十一、日常维护动作
每天备三样东西:
Mir200\Mud2数据库
Mir200\Envir脚本
Log日志(出事回溯用)
改任何配置前先复制原文件,命名bak。爆率、经验、商店、活动脚本都用Notepad++改,别用Word。
经验倍率改怪物库经验字段,或M2参数里的经验倍数;装备保值靠爆率曲线控制,稀有装别一股脑1/1,按1/5000到1/20000分层;散人生态靠地图阶梯和刷新密度,不是靠卖属性。
十二、挂机与自动化适配
端起来之后做内置挂机,重点看三个点:
1.M2里开“允许内挂”“允许自动拾取”
2.Envir里配自动捡物过滤,白装不捡、沃玛以上捡
3.怪物刷新点用@mob和刷怪脚本校准,保证挂机点不断怪
按键类外部工具接游戏时,别改内存,只做键鼠模拟和界面识别,避免触发引擎反作弊导致封号。挂机脚本逻辑建议做成:
随机跑点→锁最近怪→技能循环→血少喝药→背包满回城→卖垃圾→回原坐标
坐标和地图名从MapInfo.txt里取,别写死屏幕像素,分辨率一变就废。
十三、版本内容打磨顺序
一套能长期玩的端,搭建只是第一步,内容层这样排:
先保核心循环:砍怪、爆装、回收、锻造、转生
再做散人线:尸王殿、祖玛、赤月、魔龙阶梯爆率拉顺
然后合击/多职业:战战、法战、道道技能系数单独调
最后火龙/超变线:切割、吸血、反伤、元素属性做阈值
复古线反过来,把药价、负重、跑图时间、爆率全部压回去
M2里把“自动回收”“随身仓库”“一键回收”“离线泡点”做成NPC脚本,比强行改数据库稳。所有新功能先单机测三天:建号、升级、死亡、爆装、回城、关服重开,数据不丢再对外。
十四、性能与并发
同时在线几十人,4核8G够用;上百人在线建议8核16G起步,网关分开部署。RunGate可以起多个实例分散连接,M2别开太多插件,未知插件一个个加,加一个测一小时。
日志级别别开太细,不然Log目录一天几十G。掉落日志、脚本错误日志留着,其他按需开。
十五、收尾检查清单
服务端能起M2无红字
数据库HeroDB路径正确
网关全绿
端口映射+防火墙通
登录器列表ANSI、IP端口对
客户端补丁完整
爆率文件ANSI、MonItems能加载
管理员账号可用GM命令
备份机制每天自动跑
挂机点怪物密度和拾取规则验证过
做到上面这些,一个能自己调试、能改内容、能长期跑的传奇网游服务端就立住了。后面无非是持续调数值、加地图、写活动、修脚本,技术底子稳了,上层内容随便叠。

