传奇架设设置GM号后立即掉线被限制的全链路排查与解除方法

来源: 作者: 点击:
先开M2主窗口看实时日志,GM一登录就掉通常会打印权限、白名单、IP、脚本踢人相关提示。比如出现权限为10已被强制下线、非法管理员、禁止权限10、IP不允许、脚本KICK等字眼,直接按对应模块处理;只显示断开连接但没有原因,再按下面顺序从头查。

一、管理员列表格式与权限等级

最常用的文本方式是Mir200\Envir\AdminList.txt。用记事本或Notepad++打开,按引擎要求写:

老版本常见格式分两种,星号加空格加角色名代表最高权限,例如“* gm001”;或者角色名加空格加等级,例如“gm001 10”。角色名前后别留空格,别加#、@、;等符号,别写账号密码那一行,AdminList里通常只认角色名或账号名,具体看引擎。

HERO部分版本用Config目录下的HeroGM.ini,格式常是“账号=等级”,例如“gm001=9”或“gm001=10”,等号两边无空格;若引擎要求最高9就不要写10,要求最高10就不要写11,超出上限会被判定异常。

GOM、GEE、部分新引擎可在M2菜单查看、列表信息、管理员列表里加角色名和等级,加完点保存,再用M2的重新加载GM列表;文本方式改完若控制器不自动重载,就重启DBServer、M2和相关网关。角色名必须与游戏内创建角色完全一致,大小写、全角半角、中间空格都要一致。

二、M2的GM限制开关

打开M2Server.exe,进参数设置或GM管理相关页,重点看几项:

GM账号绑定IP若勾选,单机登录填127.0.0.1,局域网填服务端内网IP,外网填玩家实际出口IP或留空;填错当前IP就会一登录被踢。只在本机测试先取消绑定IP,确认能进再按需要绑。

禁止GM多开若勾选,同一IP第二个GM号会被踢;单机只上一个GM可取消。

GM登录验证分简易和严格,严格模式可能要求配套密钥、白名单、登录器验证;新手上架先设简易,跑通后再改严格。

禁止权限10人物、禁止最高管理员登录、发现权限10踢下线这类选项,若勾选就会和AdminList冲突。测试阶段取消勾选,或在允许权限10列表、GM白名单里精确添加角色名。

改完点确定,M2选择重新加载GM列表;若引擎不热载,停止控制器再启动所有网关。

三、反作弊和插件白名单

装有LM反外挂、GOM插件、HERO安全插件的服务端,GM权限10常被默认拦截。M2里找插件菜单或独立插件控制台:

LM类进系统设置,找允许权限10玩家登录列表,把GM角色名加进去;若仅本机测试,可取消禁止权限10人物,外网环境不建议长期关闭,应走白名单。

GOM登录器插件或引擎插件若带发现权限10踢人,在插件配置里取消该勾,或把GM名加入白名单,重新生成登录器。

HERO反作弊dll、账号安全检测、异常登录监控,可先在插件管理里禁用测试;确认是插件误杀再换兼容版本,不要直接删不明dll以免影响正常功能。

插件日志通常在Mir200或插件目录下的Logs,搜权限10、kick、admin、GM,能定位是哪条规则触发。

四、登录脚本和QuestDiary踢人

很多版本在角色登录时跑脚本校验GM白名单,没加入就会KICK。路径分两块:

Mir200\Envir\MapQuest_def\QManage.txt,这是登录管理脚本。用文本工具搜索AdminLevel、GMLevel、权限、KICK、Kick、@Kick、IF、THEN。若找到判断权限大于0或等于10就执行踢线,临时把该段注释或删除,或在它读取的白名单文件里加入你的角色名。

Mir200\Envir\QuestDiary下找GM名单.txt、管理员名单.txt、白名单.txt。没有就新建一个,单独一行写角色名,保存后M2重载脚本或重启。QManage若引用这个文件,只改AdminList不够。

部分版本用LoginScript.txt做登录检测,同样搜GM、Admin、Kick,把强制踢GM的段落移除或改白名单判断。

改脚本别动@Login、@OnLogin等触发头,只删权限检测分支;改完在M2脚本管理重载,不能重载就重启M2。

五、黑名单和账号封禁

即使AdminList正确,账号或角色在拒绝名单也会登录即断。检查:

Mir200\Envir\DenyAccount.txt,账号级禁止登录,确认GM账号不在里面。

Mir200\Envir\DenyChrName.txt,角色名级禁止,确认GM角色名不在里面。

网关或M2的IP禁止名单,单机127.0.0.1、局域网网关IP不能被误加;若之前用@DenyAccount、@DenyIP之类命令封过,用对应解禁命令或手动删名单。

LoginGate目录下的!Filter.txt或等价过滤文件,若把gm、admin、管理员作为关键词过滤,会把GM名当违规词踢掉,删掉相关规则后重启网关。

六、数据库权限字段

DBC2000老引擎用HeroDB,重点表视版本不同可能是Account、Admin、UserAccount。检查目标账号的权限字段、等级字段、状态字段:Admin表看是否有GM记录,Account表看权限等级是否与M2一致;HERO部分版本在Admin表维护GM,仅改AdminList不改库会不生效。

MySQL或GEE类检查服务端库里的Account、Member、TBL_Account、角色权限表,GMLevel或AdminLevel设成引擎认可值,例如10,Status设0正常,禁封字段清零。改完重启数据库服务再起M2。

通过专属GM注册脚本建号的服务端,不要手动在普通注册页建完再硬加AdminList,容易缺激活标记;删掉旧号,走版本自带GM注册NPC或脚本重新建。

七、网关安全和流量过滤

RunGate、LoginGate、SelGate都有安全参数。GM登录即掉但普通号正常,可临时放宽测试:

RunGate安全过滤里流量临界值、单IP包数、最大连接数若过小,GM加载全量数据会瞬时超阈被断;单机把临界大小调到300左右、数量限制调50左右,稳定后再回收。

LoginGate若开启检测GM权限、异常登录加速防护,测试阶段关闭;确认GM正常再按白名单开启。

所有网关用管理员身份运行,杀毒加白MirServer;网关exe被拦截会表现为能选角色但一进游戏断线。

八、按最小复现快速定位

新建一个纯字母数字角色名,例如gmtest01,不在任何黑名单,AdminList只加这一行,M2给最低可管理的等级先测;能进再逐步加到10。若低等级不掉了、10掉,基本是插件禁止权限10或脚本踢权限10。若任何等级都掉,查IP绑定、黑名单、网关过滤、数据库状态。若换全新账号不设置GM正常、一加AdminList就掉,查M2重载、AdminList编码、脚本QManage。若所有GM号都掉但普通号永久在线,查反作弊白名单和QManage优先于查端口。

文本文件全部用ANSI或版本原编码保存,UTF-8带BOM会导致部分老引擎读管理员列表错位,表现为加了GM但系统不识别、登录即按无权限或异常账号处理。每次只改一类:先文本、再M2开关、再插件、再脚本、再数据库,改完重载或重启再测,避免多项同时改无法判断哪一步生效。