跳到主要内容

GM 命令完整文档

概述

GM(Game Master)命令通过游戏内聊天频道以 // 前缀触发,例如 //help//levelup num=5

核心代码文件:

  • 命令定义与注册: ScenesServer/Chat.h / Chat.cpp
  • 网络协议定义: base/SessionCommand.h
  • GM 工具协议: base/GmToolCommand.h
  • 配置文件: gm_conf.xmlconfig.xml

权限级别

权限值常量说明
0x00none_mode无权限
0x01normal_mode普通玩家模式
0x02gm_modeGM 模式
0x04captain_mode队长模式
0x08super_mode超级 GM 模式
0x10debug_mode调试模式
0x1Fall_mode所有权限

注意: 当前代码中权限检查条件块为空,实际上所有有 GM 权限的角色可以执行所有标记为 gm_mode 的命令。SUPER_GM_ID 定义为 1


命令使用格式

//命令名 [参数名=参数值] [参数名=参数值] ...

示例:

//levelup num=5
//gomap name=王城 ignoreUserLevel=true
//setpriv name=玩家名 priv=2
//tong t1=帮会A t2=帮会B

完整命令列表

一、基础/通用命令

命令权限说明参数
helpgm_mode显示指令帮助(列出所有可用命令)
levelupgm_mode升级num=等级数
gotogm_mode跳转到指定位置支持坐标或地图名+坐标
gomapgm_mode跳转到指定地图name=地图名 ignoreUserLevel=true
findusergm_mode寻找玩家位置(支持跨服查找)玩家名
gotousergm_mode传送/跟踪到指定玩家(支持跨服传送)玩家名
catchusergm_mode召唤指定玩家到自己身边(支持跨服召唤)玩家名
bczonegm_mode发送区域广播广播内容
bcworldgm_mode发送世界广播广播内容
bcwgamemsggm_mode发送游戏性世界广播广播内容
kickgm_mode将指定玩家踢下线玩家名
donttalkgm_mode禁言指定玩家玩家名
talkgm_mode解除指定玩家的禁言玩家名
gohomegm_mode传送回主城
hidemegm_mode隐身(隐藏自己)
showmegm_mode取消隐身(恢复可见状态)
godgm_mode无敌模式
normalgm_mode恢复普通模式
clearpointgm_mode清除人物属性点
clearskillpointgm_mode清除技能点
studyskillgm_mode学习新技能技能相关参数
settiregm_mode设置疲劳时间时间参数
checkcountryinfogm_mode检查国家信息
loadprocessgm_mode重新加载外挂特征码文件
clearareagm_mode驱散周围玩家
embargm_mode囚禁指定玩家玩家名
refreshgeneralgm_mode手动刷新各国大将军

二、热加载/配置重载命令

这些命令用于在不重启服务器的情况下重新加载配置文件。

命令权限说明加载内容
loadmessagegm_mode重新加载 Message 配置消息配置文件
loadquestgm_mode加载任务脚本任务配置
loadnewquestgm_mode加载 Lua 任务脚本Lua 脚本
loadgiftBoxgm_mode加载宝盒配置宝箱/宝盒配置
loadnpctradegm_mode重新加载 NPC 交易脚本NPC 商店配置
loadtblgm_mode重新加载 TBL 数据表物品/技能/NPC 等数据
loadgameconfiggm_mode加载游戏配置脚本温泉等游戏功能配置
loadfubengm_mode加载副本配置脚本副本相关配置
loadactgm_mode加载活动配置脚本活动系统配置
loadmallgm_mode加载商城配置脚本商城物品配置
loadgiftgm_mode重新加载礼官数据礼官/赠品数据

三、GM 特殊操作命令

命令权限说明参数/备注
closenpcgm_mode关闭功能 NPCNPC 相关参数
countrypowergm_mode处理国家强弱国家相关参数
summongm_modeGM 召唤 NPCid=NPC编号 或 NPC 名称
usleepgm_mode线程休眠毫秒数
createrushgm_mode引发一次怪物攻城
fetchgm_modeGM 制造物品id=物品编号 或物品名称
gzfetchgm_modeGM 改造物品id=物品编号 color=品质颜色
getgivegm_mode获取赠品无(+10金币赠品、+2材料、+10道具卡)

四、服务器管理命令

命令权限说明参数/备注
kickgateusergm_mode踢掉网关上的玩家在 Gateway 层踢人
enableregistergm_mode允许/禁止注册开关参数
enablelogingm_mode允许/禁止登录开关参数
setservicegm_mode设置游戏功能功能开关参数
setfylevelgm_mode设置游戏(未转生)封印等级等级数值
setmaxlevelgm_mode设置游戏(未转生)最大等级等级数值
settrunfylevelgm_mode设置游戏(转生)封印等级等级数值
settrunmaxlevelgm_mode设置游戏(转生)最大等级等级数值
setprivgm_mode设置角色权限name=玩家名 priv=权限值
newzonegm_mode设置运行参数/配置重生点参数配置
shutdowngm_mode停机维护
systimegm_mode获取系统当前时间
userdistributegm_mode获取本组服务器的人数分布
versiongm_mode动态设置服务器版本号版本号参数

五、PVP/战争相关命令

命令权限说明参数/备注
decitydaregm_mode启动/停止帮会夺城战开关参数
deempdaregm_mode启动/停止皇城争夺战开关参数
tonggm_mode激活帮会战t1=帮会名A t2=帮会名B
viewcountrydaregm_mode查看国战记录
npcdaregm_mode立即触发 NPC 争夺战
changecountrygm_mode开启/停止叛国功能开关参数
killergm_mode必杀模式
clearworldsuper_mode + gm_mode清除范围内的怪物需要超级 GM 权限

六、帮会/家族/门派管理命令

命令权限说明参数
createuniongm_mode创建一个帮会帮会相关参数
createfamilygm_mode创建一个家族家族相关参数
createschoolgm_mode创建一个门派门派相关参数
addsepexpgm_mode领取家族经验家族相关参数
setreputegm_mode设置家族声望数值参数
setseptlevelgm_mode设置家族等级等级参数
setallyfdgm_mode设置联盟友好度数值参数
svotegm_mode家族投票name=家族名
uvotegm_mode帮会投票name=帮会名
debugvotegm_mode启动/停止投票开关参数
clearseptuniongm_mode清除老版帮会和家族数据

七、经济系统命令

命令权限说明参数
givegoldgm_mode金币补偿金币数量
givemoneygm_mode银币补偿银币数量
givestockgm_mode股票补偿股票数量
goldsystemgm_mode金币系统操作参数
stocksystemgm_mode股票系统操作参数
stockconsigngm_mode股票委托管理操作参数
stockusergm_mode股票用户管理操作参数
stocktransfergm_mode股票资金管理操作参数
redeemgoldgm_mode兑换金币数量参数
querygoldgm_mode查询金币余额
redeemmonthcardnormal_mode兑换月卡数量参数
contributegm_mode捐献国库数量参数
bankgm_mode设置仓库相关操作参数

注意: redeemmonthcard 权限为 normal_mode,所有玩家均可使用。


八、角色/属性调试命令

命令权限说明参数
valuegm_mode设置 HP/MP/SPhp=数值 mp=数值 sp=数值
goodnessgm_mode查看当前善恶度
getvaluegm_mode获取某个数值(目前只有魅力)属性名
setvaluegm_mode设置某个数值属性名+数值
addexpgm_mode增加经验值经验数值
querypointgm_mode查询点数
qaccountgm_mode查询账号信息账号/角色名
getsizegm_mode查看角色所占空间
clearcolddowngm_mode清除技能冷却时间

九、技能/任务调试命令

命令权限说明参数
upskillgm_mode学习/升级魔法技能技能参数
skillgm_mode技能测试指令技能参数
clearskillgm_mode清除指定技能技能参数
setquestgm_mode更改任务变量任务ID+变量
checkquestgm_mode检查可以接的任务
abandongm_mode清除任务任务参数

十、地图/场景调试命令

命令权限说明参数
loadmapgm_mode加载指定地图地图参数
unloadmapgm_mode卸载指定地图地图参数
showmapsgm_mode查看已加载的地图列表
showentriesgm_mode查看周围的 NPC 和玩家
setblockgm_mode设置地图阻挡坐标参数
checkblockgm_mode检查地图阻挡坐标参数
showspecialnpcgm_mode查看当前的特殊 NPC

十一、宠物调试命令

命令权限说明参数
callpetgm_mode召唤宠物宠物参数
showpetsgm_mode查看当前的宠物
killpetsgm_mode杀掉当前的宠物
setpetaigm_mode设置宠物行为模式AI 参数
setpetaifgm_mode设置宠物 AIFAIF 参数
showaddexpgm_mode显示替身/宠物附加的经验
changehorsegm_mode换马坐骑参数

十二、其他调试命令

命令权限说明参数
createquizgm_mode发起一次全区智力竞赛
debuggemgm_mode启动/停止护宝任务开关参数
teamgm_mode组队操作操作参数
throwobjectgm_mode扔东西物品参数
leechdomgm_mode使用药品药品参数
backoffgm_mode后退操作
lockvaluegm_mode锁定消耗数值参数
queryincmapgm_mode请求增值地图列表

跨服 GM 命令协议

以下命令支持通过 Session 服务器跨服执行,即使目标玩家不在当前场景服务器上也能生效:

协议 ID常量名对应 GM 命令说明
1GM_COMMAND_FINDUSERfinduser查找玩家
2GM_COMMAND_GOTOUSERgotouser传送至玩家
3GM_COMMAND_CATCHUSERcatchuser召唤玩家
4GM_COMMAND_DONTTALKdonttalk禁言
5GM_COMMAND_TALKtalk解除禁言
6GM_COMMAND_KICKkick踢人
7GM_COMMAND_SETPRIVsetpriv设置权限
8GM_COMMAND_LOCKVALUElockvalue锁定消耗
9GM_COMMAND_LEVELUPlevelup升级
12GM_COMMAND_EMBARembar囚禁玩家
14GM_COMMAND_REFRESH_GENERALrefreshgeneral刷新大将军
16GM_COMMAND_LOADQUESTloadquest加载任务
17GM_COMMAND_LOADNPCTRADEloadnpctrade加载 NPC 交易
18GM_COMMAND_LOADTBLloadtbl加载 TBL
19GM_COMMAND_LOADSYSTEM-刷新系统公告
20GM_COMMAND_LOAD_GAME_CONFIGloadgameconfig加载游戏配置
21GM_COMMAND_LOADNEWQUESTloadnewquest刷新 Lua 脚本
22GM_COMMAND_LOADGIFTBOXloadgiftBox刷新宝盒配置
23GM_COMMAND_LOAD_FUBEN_CONFIGloadfuben刷新副本配置
24GM_COMMAND_LOAD_ACTIVITY_CONFIGloadact刷新活动配置
25GM_COMMAND_LOAD_MALL_CONFIGloadmall刷新商城配置

跨服命令错误码

错误码常量名说明
0GM_COMMAND_ERR_NOERR执行成功
1GM_COMMAND_ERR_NOUSER玩家不在线
2GM_COMMAND_ERR_PRIV权限不足
3GM_COMMAND_ERR_PARAM参数错误
4GM_COMMAND_ERR_FAIL执行失败

GM 工具通信协议

GM 工具(外部 GM 客户端)通过以下协议与服务器通信,定义在 base/GmToolCommand.h 中:

协议 ID常量名说明
128CMD_GMTOOLGM 工具主命令 ID
1PARA_CHAT_GMTOOLGM 聊天消息
2PARA_MSG_GMTOOLGM 工单(Scene->Super->Info)
3PARA_MSG_REPLY_GMTOOLGM 工单回复
4PARA_PUNISH_GMTOOLGM 处罚
5PARA_BROADCAST_GMTOOLGM 公告
6PARA_NEW_MSG_GMTOOL新 GM 工单
7PARA_LOG_GMTOOLGM 操作日志

命令执行流程

1. GM 在聊天频道输入 "//命令名 参数"

2. 聊天系统检测到 "//" 前缀

3. 调用 Gm::exec(pUser, cmd)

4. 在 GmCmds[] 数组中查找匹配的命令名(大小写不敏感)

5. 检查权限:pUser->getPriv() & GmCmds[i].priv

6. 调用对应的 Gm::静态函数 执行命令

7. 记录 GM 操作日志(Gm::sendLog)

8. 对于跨服命令:
通过 t_gmCommand_SceneSession 发送到 Session 服务器

9. Session 服务器中转到目标场景服务器执行

GM 配置

config.xml 中的 GM 相关配置

配置项说明
gm_modeGM 模式全局开关
gm_ipGM 允许的 IP 网段配置文件路径
gm_logfileGM 操作日志文件路径

gm_conf.xml 配置

配置允许使用 GM 命令的 IP 网段和例外角色 ID。


快速参考

常用命令速查

场景命令
查看帮助//help
升级//levelup num=10
传送到地图//gomap name=王城
查找玩家//finduser 玩家名
传送到玩家//gotouser 玩家名
召唤玩家//catchuser 玩家名
世界广播//bcworld 公告内容
禁言玩家//donttalk 玩家名
踢玩家下线//kick 玩家名
无敌模式//god
恢复正常//normal
制造物品//fetch id=物品编号
增加经验//addexp 数值
设置 HP/MP//value hp=1000 mp=500
充值金币//givegold 数值
清除技能冷却//clearcolddown
停机维护//shutdown