CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
工具链

【工具链】GM 管理命令工具:从手敲指令到参数化面板

2026-09-23 15:13 作者:996 技术组 0 阅读 996引擎Lua教程传奇脚本

GM 命令的三代形态

运维一个服务器,加物品、调等级、刷怪、开关活动是日常。第一代形态是手敲命令字符串:@item 玩家名 1001 5,快,但参数顺序全靠记,敲错就是事故。第二代是配置表驱动:命令与参数定义在表里,程序自动生成帮助与校验。第三代是参数化面板:配合前端界面点选执行。无论哪代,核心都是同一层——结构化的 GM 命令处理器。

处理器设计:命令即数据

把每条命令定义为数据:名称、权限等级、参数类型表、执行函数。启动时统一注册,执行时统一做权限与参数校验:

lua

local Cmds = {}

local function reg(def) Cmds[string.lower(def.name)] = def end

reg{
    name = "item", level = 3,
    args = { {"玩家名","string"}, {"物品id","int"}, {"数量","int"} },
    run = function(who, name, itemId, count)
        giveItem(name, itemId, count)
        log("GM", who, "发物品", name, itemId, count)   -- 全量留痕
    end
}

function ExecGM(who, level, line)
    local parts = {}
    for w in line:gmatch("%S+") do parts[#parts + 1] = w end
    local def = Cmds[string.lower(parts[1] or "")]
    if not def then return "未知命令" end
    if level < def.level then return "权限不足" end
    -- 逐参数按类型校验后调用 def.run
end

五条军规

权限分级。 level 1 查询、2 发放、3 数值改写、4 危险操作(重载/删档),命令注册时定死,执行时强制校验,任何人不得绕过。

全量留痕。 每次执行记录:谁、何时、什么命令、什么参数、结果。GM 日志是封号与客诉的唯一凭据,这一步省不得。

参数校验前置。 int 就是 int、玩家名先验在线,错误在入口拦下并回提示,绝不带着脏参数进业务函数。

影响范围先声明。 对全服生效的命令(公告、加速倍率)在注册时标记 global=true,执行前要求二次确认参数,防手抖。

工具也要热更。 GM 处理器按模块挂表,加新命令 = 注册一条数据,不需要重启 M2——应急时刻你会感谢这个设计。

把这套处理器与文档自动生成(遍历 Cmds 输出帮助表)组合起来,一天就能搭出可持续演进的 GM 体系,比每次现写命令字符串稳妥得多。

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

getgmlevel(actor)

获取玩家GM权限值,命令分发前先取权限值,权限表只在服务端

setgmlevel(actor, gmlevel)

设置玩家GM权限值,调试期改权限,比改配置文件快

regnpcmsg(msgId, NPCIndex)

给NPC注册Lua消息,把命令挂到 NPC 消息上,玩家侧只发命令字

say(actor, msg)

NPC界面文本发送,命令回执用界面文本,比系统公告更合适

openmerchantbigdlg(actor, pos, x, y, height, width, bool, closeX, closeY, isMove)

打开NPC大窗口,参数化面板类的多条命令用大窗口承载

getplayerbyname(name)

获取玩家对象 根据玩家名,按名字定位执行目标,注意重名与离线情况

【框架设计】宠物进阶:进化材料链与形态切换

【框架设计】坐骑系统:碎片合成与品质保底

【网络通信】动作与表情:社交广播的轻量协议

【性能调优】延迟结算:非紧急任务的队列消化

【安全加密】数据脱敏:日志与取证导出的隐私处理

【界面UI】BUFF 图标栏:增益排列与剩余时间

作者履历与出处

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

← 返回文章地图返回研学路径

最新技术文章 · 实战干货

LATEST ARTICLES

全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →

引擎触发烈火剑法连击战士

【引擎触发】疾风烈火斩:烈火剑法连击的判定触发设计

实战应用:用在哪里 战士的烈火剑法一击熄火后要等八秒冷却,连招断档感强烈。疾风烈火斩在烈火剑法命中后给一次连击窗口:三秒内再…

2026-09-23 15:45 996 技术组 · 0 阅读
玩法策划阵营声望声望压制

【玩法策划】阵营声望:声望等级与敌对压制设计

实战应用:用在哪里 阵营对抗打到中期容易疲软:打赢没有额外好处,输掉也没有代价。阵营声望体系给阵营战装上荣誉刻度:个人与阵营…

2026-09-23 15:45 996 技术组 · 0 阅读
玩法策划城主施政市政建设

【玩法策划】城主施政:市政令牌与城市建设玩法

实战应用:用在哪里 拿下沙巴克之后呢?城主除了名字挂在城墙上,对城市毫无影响。城主施政玩法让占领变成治理:城主每周获得市政令…

2026-09-23 15:45 996 技术组 · 0 阅读
运维发布备用线路切换演练

【运维发布】备用线路:主线路故障的自动切换演练

实战应用:用在哪里 主线路光缆被挖断的深夜,全服掉线 20 分钟,玩家以为游戏倒闭。备用线路方案给接入层配第二条出口:主线路…

2026-09-23 15:44 996 技术组 · 0 阅读
后端接口行会选举换届

【后端接口】行会选举:官员换届的投票与任期接口

实战应用:用在哪里 行会官员由帮主任命的老模式弊端明显:任人唯亲、能上不能下。行会选举接口把官员换届做成投票制:每两个月一次…

2026-09-23 15:44 996 技术组 · 0 阅读
前端接口技能悬浮卡片说明

【前端接口】技能说明悬浮:技能详情卡片的前端实现

实战应用:用在哪里 烈火剑法的伤害加成、冷却时间、下一级提升,全靠玩家记忆或去官网查。技能说明悬浮卡片在鼠标悬停技能图标零点…

2026-09-23 15:44 996 技术组 · 0 阅读