传奇单机管理员权限等级设置10级依旧无法使用管理命令排查办法

来源: 作者: 点击:
权限等级10代表引擎内预设最高管理权限,权限数字和游戏内人物等级互不关联,很多人添加完成之后直接在游戏内输入指令,没有按照流程操作,就会出现添加成功但是命令无效的情况。打开M2引擎面板,选择查看,找到列表信息,打开管理员列表,核对填入的角色名称,名称必须和游戏内角色完全一致,不能多空格、不能有错别字,区分大小写,角色名字前后多余空格会直接判定匹配失败,权限不会加载。IP栏默认留空,一旦填写错误IP,本机登录也会识别失败,只允许指定IP登录的设置适合多设备联机场景,单机状态不需要填写IP信息,填写完成点击增加,再点击保存。

保存管理员列表之后,需要角色小退重新登录,只切换地图不会刷新权限数据。部分引擎版本支持在M2菜单选择重载管理员列表,重载完成再小退;不支持热重载的引擎,需要全部关闭服务端窗口,重新启动整套服务,引擎启动的时候才会读取AdminList.txt文件内的管理员记录。文件位置在Mir200\Envir\AdminList.txt,也可以直接用记事本打开这个文件手动添加,格式为*加空格再加角色名字,星号代表最高权限,手动编辑之后保存编码选择ANSI,UTF8编码会造成引擎读取乱码,管理员条目失效。

检查游戏命令所需权限,打开M2面板选项,选择游戏命令,切换到管理命令分类,每一条指令后面标注了所需权限等级。就算管理员权限是10,如果这条命令的所需权限设置高于10,或者被脚本重写、插件拦截,输入之后不会生效。有些版本把@制造、@无敌这类指令单独放到脚本里面,不再使用引擎自带命令,M2命令列表里面看不到这条指令,直接输入引擎命令自然提示不存在,需要查看QFunction-0.txt里面的自定义管理指令,确认正确的命令字符。

部分版本上线脚本里面存在权限重置代码,角色登录时脚本强制把人物权限改成0,覆盖管理员列表设置的10级权限。打开QManage.txt,查找SetPermission、CHANGEPERMISSION这类权限修改指令,如果上线触发段里面有强制修改权限的代码,注释或者删除这段内容,保存脚本之后重载QFunction,再重新上线测试。还有的版本带有权限校验插件,独立接管管理员名单,不再读取M2自带管理员列表,这种情况要打开插件配置面板添加角色,修改M2管理员列表不会产生任何效果。

登录之后先输入@GameMaster开启管理模式,不少引擎必须手动开启管理模式,权限才会激活,只添加管理员等级,不开启管理模式,所有管理命令都会被拦截。开启之后聊天框会出现对应提示,再测试@level、@make这类基础指令,优先用简单命令测试,排除命令本身不存在的问题。测试时区分输入符号,必须使用英文半角@符号,中文符号会被当成普通聊天文字发送,引擎不会识别为管理指令。

数据库层面也可以核对权限,打开人物数据库,找到对应角色记录,查看权限字段数值。M2管理员列表和数据库人物权限是两套数据,部分引擎优先读取数据库内权限,数据库里面权限为0,哪怕M2列表写了10级,最终生效权限依旧是0,直接在数据库修改权限字段为10,保存之后重新登录测试。

排查顺序按照名称核对、保存列表、小退或者重启服务、开启管理模式、核对命令权限、检查上线脚本、查看插件设置、数据库校验依次操作。不要一次性修改多处配置,改动一项就进游戏测试,方便定位失效根源。权限生效之后,不要频繁重复添加同名角色,重复条目堆积有可能造成引擎权限读取错乱,出现时好时坏的现象,清理管理员列表多余重复条目之后重新保存即可。