Mirserver

Rungate

游戏网关 RunGate 的配置参数详解,包括连接容量、动作间隔、组合速度补偿、超速检测与惩罚、封包过滤、武器加速与客户端速度调优。

RunGate(游戏网关)位于 MirServer\RunGate\ 目录,是游戏数据包中转的核心组件,同时负责封外挂检测和性能优化。其核心配置文件为 Config.ini。

目录结构

路径说明
RunGate\Config.ini游戏网关核心配置文件
RunGate\AntiPulgin.iniAC 封挂网关参数配置
RunGate\AntiPulginLog.iniAC 封挂网关日志
RunGate\Abusive.txt脏话过滤字符列表
RunGate\BlockHWID.txt机器码过滤屏蔽列表
RunGate\ChatCmds.txt喊话过滤命令列表
RunGate\DenyIP.txtIP 安全过滤屏蔽列表
RunGate\DenyIPRange.txtIP 段安全过滤屏蔽列表
RunGate\DenyAccount.txt账号安全过滤屏蔽列表
RunGate\DenyCharName.txt角色安全过滤屏蔽列表
RunGate\DenyUserCmd.txt命令安全过滤屏蔽列表
RunGate\FilterOpcodes.txt操作码间隔过滤,防止封包攻击
RunGate\CrashDumps\崩溃内存转储文件
RunGate\Data\AC 封挂网关反挂模块存放目录
Mir200\!RunAddr.txt引擎启用允许网关连接的 IP 列表,修改后在主界面重新加载 → 允许连接的网关 IP 列表即可

Integer 整数参数

连接与容量

参数默认值说明
MaxUser1024最高人数限制
ShowLogLevel3日志级别
MaxConnectOfIP50每 IP 的最高连接。需 [Switch] LimitConnectionPerIP=1 才生效(默认开关已开)
MaxClientCount50每台电脑最高连接。需 [Switch] ProcClientCount=1 才生效(默认开关为 0,即当前不限制)
ClientTimeOutTime60000超时空闲连接
NomClientPacketSize1024普通封包大小限制
MaxClientPacketSize16384特殊封包大小限制
MaxClientPacketCount15批量购买个数
MaxSendCacheSize1048576限制单玩家下发缓存 1M(可达到 100M 的下发流量),正常情况下完全达不到此流量;1024*1024*3 就是 3M
LoginWaitTime3800登录排队基础等待时间,与 [Float] LoginWaitTimeRate 一起决定排队时长
MaxUserForLoginWait8000实际在线人数超过此数量,登录游戏会排队;赋值 0 将关闭登录排队功能
BuffPoolSize320内存池初始大小(MB)

动作间隔

单位毫秒,数值越大动作越慢、限制越严格:

参数默认值说明
ChatInterval800说话间隔
TurnInterval350转身间隔
MoveInterval570移动间隔(调参时先调此项,见文末封加速调参步骤)
SpellInterval1200魔法间隔。魔法速度控制只由 [Integer] 的 SpellInterval 控制,建议值 1180
AttackInterval900攻击间隔
ButchInterval450挖肉间隔
SitDownInterval450下蹲间隔
PickupInterval330拾取物品间隔
EatInterval330使用药品间隔([Switch] EatInterval=0 时默认不检测该间隔)

组合速度补偿

单位毫秒,负值表示放宽、正值表示更严格:

参数默认值说明
MoveNextSpellCompensate640移动后魔法补偿
MoveNextAttackCompensate200移动后攻击补偿
MoveNextTurnCompensate250移动后转身补偿
AttackNextMoveCompensate-10攻击后移动补偿
AttackNextSpellCompensate600攻击后魔法补偿
SpellNextMoveCompensate-95魔法后移动补偿
SpellNextAttackCompensate255魔法后攻击补偿
TurnNextMoveCompensate200转身后移动补偿
SpaceMoveNextPickupInterval600瞬移后拾取物品的间隔
RushCompTime210野蛮冲撞补偿(默认 450,越大越严格)。主要取决于 ClientMoveSpeedRate,ClientMoveSpeedRate=2 时可以设置 RushCompTime=200;开启 DebugSpeedMessage=1 自行调试合适的 RushCompTime 值

超速检测与惩罚

参数默认值说明
PunishBaseInterval20加速惩罚基数(官方调参步骤中建议设为 0)
CheckOvSpdInv20000超速阈值,超过此值将累加超速计数
MaxOvSpdCnt30000允许的最大的超速计数,超过后动作封包会被丢掉(卡在原地不能攻击等)
ReleaseOvSpdCntTime5000释放一个超速计数的间隔时间
PunishMoveInterval150移动动作的超速惩罚间隔
PunishSpellInterval150魔法动作的超速惩罚间隔
PunishAttackInterval150攻击动作的超速惩罚间隔

封包过滤与防护

参数默认值说明
FilterOpcodesVer5操作码间隔过滤(FilterOpcodes.txt)的配置版本,防止部分封包攻击
MaxFilterCount64累计过滤封包的超速次数,超过此数量会封 IP 到临时列表;0 则是关闭,不封 IP

武器加速与客户端速度

参数默认值说明
OpenSpellSpeedRate0武器的攻击速度也可以在使用魔法时起加速作用,加速效果没有普通攻击明显;0 关闭、1 开启
ClientMoveFrameTime95客户端每帧的间隔,默认 95;复古建议调节为 120,移动起来相对缓慢。参数改变后标准的移动间隔为 ClientMoveFrameTime * 6;建议弃用移动速度调节(即 ClientMoveSpeedRate=0),改用单个 ClientMoveFrameTime 来改变移动速度
ClientMoveSpeedRate0客户端移动速度(不建议在此处调整速度,移动建议用 ClientMoveFrameTime 参数调节)
ClientSpellSpeedRate0客户端魔法速度(不建议在此处调整速度,魔法速度建议合理设置 MaxItemSpeed、MaxItemSpeedRate、OpenSpellSpeedRate 参数,结合游戏脚本或者装备给攻速实现)
ClientAttackSpeedRate0客户端攻击速度(不建议在此处调整速度,攻击速度建议合理设置 MaxItemSpeed、MaxItemSpeedRate 参数,结合游戏脚本或者装备给攻速实现)
MaxItemSpeed55武器最高速度限制;武器加攻速最大 99,比如设置 10,武器攻速 +100 也实际只有 10 的速度
MaxItemSpeedRate60武器加速因数(60);装备攻击加速比率,默认 60 即可
MaxMovementSpeed80限制最大移动速度,默认 80,正常最大 100 左右

Strings 字符串配置

参数默认值说明
TitleGameGateServer网关标题,保持默认即可
CMDSpaceMoveMove瞬移命令关键字,用于识别瞬移封包,配合 SpaceMoveNextPickupInterval 判断瞬移后拾取
OverClientCntMsg开启游戏过多,链接被断开!开启客户端数量超过 MaxClientCount 时的提示
HWIDBlockedMsg机器码已被封,链接被断开!机器码命中 BlockHWID.txt 时的提示
ChatFilterReplace说话内容被屏蔽命中脏话过滤、ChatFilterMethod=0(全部替换为)时的替换文字
OverSpeedSendBack[提示]:请爱护游戏环境,关闭加速外挂重新登陆!超速警告文字,需 [Switch] OverSpeedSendBack=1 时才下发
PacketDecryptFailed[警告]:游戏连接被断开,请重新登陆!原因:使用非法外挂,客户端不配套,开启的客户端数量过多。封包解密失败提示,客户端不配套或非法外挂时下发
BlockHWIDFileNamed:\mirserver\rungate\BlockHWID.txt被封机器码列表(BlockHWID.txt)的路径,必须与网关程序实际所在目录一致,否则机器码封禁不生效
ActivateCode2BRQ-L8AM-DRWH激活码。将获得的激活码填写在此处,第一次激活比较久,稍等 2 分钟左右,重新开启程序即可

Switch 开关设置

参数默认值说明
OpenClientSpeedRate0游戏全局速度调节总开关;1 时 ClientMoveSpeedRate、ClientSpellSpeedRate、ClientAttackSpeedRate 才生效(显示客户端的速度调节,建议关)
WriteLog1记录网关日志写到引擎用的 logserver 开关,基本用不上默认为 0 即可
LimitConnectionPerIP1每 IP 连接数限制开关
OverSpeedSendBack0加速警告
DefenceCCPacket0防止 CC 攻击
KickOverSpeed0加速掉线(不建议开启)
DoMotaeboSpeedCheck1禁止超级野蛮(改进封"超级野蛮",并封掉"幻影野蛮",配合 RushCompTime 使用)
DenyPresend0禁止商城赠送
ItemSpeedCompensate1组合速度考虑武器加速度;如果启用武器加速最好开启,能更好配合组合速度的计算
KickOverPacketSize1异常掉线处理
ChatFilter1说话过滤
ChatInterval1说话间隔
ChatCmdFilter0命令过滤(例如 make),配合 ChatCmds.txt,对该列表命令的喊话内容做脏话检测
TurnInterval1转身速度
MoveInterval1移动速度
SpellInterval1魔法速度
AttackInterval1攻击速度
ButchInterval1挖肉速度
SitDownInterval1下蹲速度
SpaceMoveNextPickupInterval1瞬移后拾取物品
PickupInterval1拾取物品间隔开关
EatInterval0使用物品间隔开关
ProcClientCount0限制每个电脑开启数量开关
ClientShowHintNewType11.76 版本物品显示方式
SyncClientSpeed0同步客户端速度(1 开启,0 关闭)
DebugSpeedMessage0超速调试信息(供管理员测试使用);开启可以查看动作超速信息,让信息保持在 30 内最好,加速就可以封住了
NoDirectionMotaebo0封定向野蛮(官方说明:NoDirectionMotaebo=1 禁止定向野蛮,默认开启)
CheckMagicId0非法空魔法封账号处理
DenyUpdateStoreItem1禁止添加、撤销摆摊物品
DealAction1是否禁止攻击后交易(如防止野蛮后交易等)
UseTimePeriod0使用高精确度检测加速,会用比较多的 CPU
CheckOnlinePlayer1实时监测虚假玩家的链接(建议开启);不开启的话在线人数显示会有所偏差(开启必须结合最新 2015 引擎,否则会 T 掉玩家);如果使用老版本 M2,务必将 CheckOnlinePlayer=0
AllowMultiPendingPackets1允许多个延迟包(缓解游戏封速严格导致游戏内错位)
AllowMultiDelayPackets0允许多个延迟包,延迟包其实就是超速包
CheckNullSession0空会话检测,过滤无效空连接
CheckSpecFlag0客户端特殊标记检测
MultiPostPendingPackets0多个投递挂起包延迟包
BlockHighTraffic1下发缓冲限流默认 T 掉本连接;BlockHighTraffic=1 开关开启会踢掉当前 IP 所有连接

Method 处理方式

参数默认值选项说明
OverSpeedPunishMethod3对加速处理方式:0 转换封包、1 丢包、2 空包、3 延迟处理(建议)
BlockIPMethod0掉线处理:0 掉线、1 临时封 IP(重启失效)、2 加到永久封 IP 列表
ChatFilterMethod0脏话处理:0 全部替换为、1 替换过滤字符、2 掉线
SpeedHackWarnMethod0加速警告:0 文字警告、1 弹窗警告

Float 浮点参数

参数默认值说明
PunishIntervalRate1.000000加速惩罚倍数
LoginWaitTimeRate0.500000登录等待时间 = (实际在线人数 - MaxUserForLoginWait) * LoginWaitTimeRate
OnlinePlayerCountRate3.240000排队时报告的在线人数倍数;报告数量 = 实际在线人数 * OnlinePlayerCountRate

GameGate 多网关配置

单网关配置:

[GameGate]
Count=1
ServerAddr1=127.0.0.1
ServerPort1=5000
GatePort1=7200

多网关配置(3 个端口):

[GameGate]
Count=3
ServerAddr1=127.0.0.1
ServerPort1=5000
GatePort1=7200
ServerAddr2=127.0.0.1
ServerPort2=5000
GatePort2=7300
ServerAddr3=127.0.0.1
ServerPort3=5000
GatePort3=7400
参数说明
Count多开端口个数(实际启用的网关组数,当前只启用第 1 组)
ServerAddr1服务器 1 的 IP(引擎 M2 所在地址)
ServerPort1服务器 1 的端口(引擎端口)
GatePort1网关服务器的对外端口(客户端 / 登录器连接用)

配套文件

文件说明
Abusive.txt脏话过滤列表,格式为:过滤字符 规则(0 全部替换、1 命中字符替换为 *、2 踢下线)
ChatCmds.txt在此增加自定义列表的命令,喊话内容会进行脏话检测过滤,每行一个命令。默认只有一条:@传 (不包含双引号,注意后面有空格),例如可增加 @喊
BlockHWID.txt被封机器码列表(路径由 BlockHWIDFileName 指定)
DenyAccount.txt被封账号列表
DenyCharName.txt被封角色列表
DenyIP.txt被封 IP 列表
DenyIPRange.txt被封 IP 区域列表
DenyUserCmd.txt被封命令列表
FilterOpcodes.txt操作码间隔过滤规则,防止部分封包攻击(由 FilterOpcodesVer 指定版本)
!RunAddr.txt引擎启用允许网关连接的 IP 列表(Mir200 目录),修改后在主界面重新加载 → 允许连接的网关 IP 列表即可

封加速调参步骤

  1. 提高计时精度勾选
  2. 设置 PunishIntervalRate=1.000000、PunishBaseInterval=0
  3. 设置 DebugSpeedMessage=1,并先设置 3 个参数为 0:ClientMoveSpeedRate=0(客户端移动速度)、ClientSpellSpeedRate=0(客户端魔法速度)、ClientAttackSpeedRate=0(客户端攻击速度)
  4. 例如跑动:让人物在游戏里自动跑路,然后调节 MoveInterval 参数,游戏里提示超速 30 以内就最好,而且基本保持 30 左右;然后再调节砍、魔法的动作,再者调节组合速度
提高计时精度开关说明:默认打开。打开能获取更精准的封挂准确度,但部分操作系统(目前已知受影响系统为 Win2003 32 位)会使 M2 的 CPU 使用率提高很多;如果认为机器的 CPU 资源不够使用,可以选择关闭来降低部分桌面程序的 CPU 使用率。64 位操作系统默认已打开计时精度,网关里的开关不影响 M2 的 CPU。如果发现引擎 CPU 占用比较高,尝试不要勾选:主菜单 → 选项 → 提高计时精度。

移动速度调参说明

如果需要调整客户端所有人物(包括英雄)的移动速度:

ClientAttackSpeedRate=0
ClientMoveSpeedRate=0
ClientSpellSpeedRate=0
ClientMoveFrameTime=100

ClientMoveFrameTime 复古模式默认 100 或 110,数字越小速度越快。

攻击速度调参说明

1、M2 → 功能设置 → 英雄设置 1

  • 启用武器加速(数值根据自己需要设置):武器加攻速最大 99,比如设置 10,武器攻速 +100 也实际只有 10 的速度
  • 启用武器加速魔法(魔法也支持武器加速效果)
  • 装备攻击加速比率(默认 60 即可)

2、M2 → 功能设置 → 英雄设置 2

行走时间间隔:

职业数值
战士600
法师680
道士680

组合速度补偿:

项目数值
移动后魔法-400
移动后攻击-730
攻击后移动-730
攻击后魔法-420
魔法后移动-450
魔法后攻击-520

3、调整 RUNGATE 武器因数

  • OpenSpellSpeedRate=1:武器的攻击速度也可以在使用魔法时起加速作用,加速效果没有普通攻击明显
  • ItemSpeedCompensate=1:如果启用武器加速最好开启,能更好配合组合速度的计算
  • 武器速度控制:
    • MaxItemSpeed=88(数值根据自己需要设置;武器加攻速最大 99,比如设置 10,武器攻速 +100 也实际只有 10 的速度)
    • MaxItemSpeedRate=60:装备攻击加速比率(默认 60 即可)

4、结合游戏脚本或者装备给攻速实现

封禁列表

文件说明
BlockHWID.txt被封机器码列表
DenyAccount.txt被封账号列表
DenyCharName.txt被封角色列表
DenyIP.txt被封 IP 列表
DenyIPRange.txt被封 IP 段列表
DenyUserCmd.txt被封命令列表

喊话过滤

ChatCmds.txt 中的命令喊话会进行脏话检测过滤,每行一个命令。默认包含 @传 (含空格)。

脏话过滤

Abusive.txt 格式:过滤字符 规则,规则含义:

  • 0:全部替换
  • 1:命中字符替换为 *
  • 2:踢下线

激活

将激活码填写在 Config.ini 的 [Strings] 节下 ActivateCode= 处。首次激活较慢(约 2 分钟),重新启动程序即可。

各组件激活码:

  • M2Server.key 为 M2 注册文件,和 M2 放在一起即可。
  • 21.05.25-10 后引擎 M2 激活码:XR9ZT-666Z8-JF3QR-RHKY5
  • 21.05.25-09 前引擎 M2 激活码:RDY64-5XXM8-J7THW-MMVUT
  • 21.05.26-1 后游戏网关激活码:2BRQ-L8AM-DRWH
  • 21.05.25-15-1 前游戏网关激活码:SFCZB-AAX3C-A8UN5-SHL63
  • 登录网关通用激活码:BSGKA-DCR3B-H4SAU-FBH2F

参数热更新

编辑 Config.ini 后保存(Ctrl+S)即可直接生效,无需重启网关。

相关阅读