传奇GM命令无效排查:权限命令冲突与管理员列表配置修复

来源: 作者: 点击:
当前现象说明管理员身份已经识别,因为进入游戏会提示隐身、无敌、管理三大模式,但具体GM命令无法执行。这通常不是账号没加进管理员列表,而是命令权限被改成了0、QManage脚本把权限覆盖回0,或者命令名称与当前版本不匹配。

一、先确认命令是否存在且权限不是0

打开M2Server控制台,进入选项,找到游戏命令,再进入管理命令。逐个查看常用命令的所需权限,例如@1、@2、@3、@11、@make、@mob、@move、@kick、@who等。

如果这些命令的所需权限显示为0,说明命令被改成了无门槛,但实际执行时可能因为引擎安全机制或脚本冲突而失效。把常用命令权限改为10,保存后小退游戏再测试。

二、检查QManage是否把权限覆盖回0

当前QManage里写了:

IF
ISADMIN
ACT
CHANGEMODE 1 1
CHANGEMODE 2 1
CHANGEMODE 3 1

这段代码本身只是开启模式,不会直接导致命令失效。但很多下载版本会在同一段脚本里加入CHANGEPERMISSION 0,或者在其他触发段里把权限重置为0。

在Mir200Envir目录搜索CHANGEPERMISSION,如果发现脚本中给普通玩家或登录触发设置了权限0,需要删除或限制为仅管理员执行。

正确做法是保留模式开启,但不要把权限改回0。例如:

IF
ISADMIN
ACT
CHANGEMODE 1 1
CHANGEMODE 2 1
CHANGEMODE 3 1

如果版本原本没有CHANGEPERMISSION,就不要额外添加。

三、确认管理员列表格式正确

打开Mir200EnvirAdminList.txt,确认角色名与游戏内完全一致,不能有空格、符号或大小写差异。

部分版本要求前面加星号,例如:

角色名

部分版本只写角色名即可。如果M2里已经通过列表信息添加过管理员,但文件里没有对应角色名,说明保存后未写入文件。此时应以M2界面为准,添加后保存,再执行重新加载管理员列表命令。

四、检查是否有命令屏蔽或自定义命令

有些版本会把默认GM命令改成中文,例如把@make改成@刷,把@mob改成@刷怪,把@move改成@高级传送。

如果输入@make无效,但@刷有效,说明命令名称被自定义过。需要在M2的管理命令列表中查看当前版本的实际命令名称。

另外检查Command目录或command.ini文件,确认命令没有被删除或注释。

五、检查是否被脚本拦截

部分版本在QFunction-0.txt或自定义脚本中拦截了聊天输入,导致以@开头的命令被脚本优先处理,无法传递到引擎命令系统。

在Envir目录搜索@make、@mob、@move等命令,查看是否有自定义脚本占用了这些触发。如果有,删除或修改后再测试。

六、检查是否使用了非M2引擎

如果服务端使用的是996、翎风、V8等新引擎,GM命令设置位置会有所不同。996引擎需要在M2控制台查看列表信息中的管理员列表添加角色名,权限设为10,并在选项游戏命令中查看管理命令。

如果当前版本不是传统M2Server引擎,却在按老引擎方式修改AdminList.txt,可能不会生效。

七、排查顺序

先在M2管理命令中确认命令权限不是0;再搜索CHANGEPERMISSION,确认没有脚本把权限重置为0;接着核对AdminList.txt角色名是否完全一致;然后查看当前版本实际命令名称;最后检查是否有脚本拦截@命令。多数情况下,能进入三大模式但命令无效,根源在于命令权限被改成0、脚本覆盖权限,或命令名称与版本不匹配。