# GM命令接口

# SDK websocket接口

# 获取GM命令

  • 请求cmd MC_CG_GET_GM_INFO_REQ = 1006,

  • 回复cmd MC_CG_GET_GM_INFO_RES = 1007,

  • 请求PB说明

enum GMCmd {
  GC_CLEAR_PLAYER        = 1001; //清理用户数据
  GC_SEND_MAIL           = 1002; //给用户发送邮件
  GC_SET_ARTICLE         = 1003; //修改用户物品数量
  GC_SET_SYSTEM_OFFSET   = 1004; //按app_id修改server系统时间
}

message GmCmdInfoReq {
  optional string  uid = 1; //玩家的uid
}
1
2
3
4
5
6
7
8
9
10
  • 回复PB说明
message GMCmdParamValue {
  optional int64 param_int    = 1;  //参数默认值int64
  optional string param_str    = 2;  //参数默认值str
}

message GMCmdParam {
  optional GMCmdParamValue  param       = 1;  //参数默认值
  optional string         param_desc  = 2;  //参数描述
}

message GMCmdId {
  optional int32  id   = 1;  //cmd的id枚举
  optional string name = 2;  //cmd的名字
}

message GMCmdInfo {
  optional GMCmdId    cmd_id     = 1;  //
  repeated GMCmdParam cmd_param  = 2;  //
}
message GmCmdInfoRes {
  optional string    uid           = 1;
  repeated Common.GMCmdInfo cmd_info_list = 2;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# GM设置命令

使用时需要玩家在线

  • 请求cmd MC_CG_SET_GM_REQ = 1065,
  • 回复cmd MC_CG_SET_GM_RES = 1066,
  • 请求PB说明
message GmSetReq {
  optional int32 cmd_id         = 1; // @CSProto.GMCmd
  repeated Common.GMCmdParamValue param  = 2; // 参数,参数内容参考http接口中的参数描述
}
1
2
3
4
  • 回复PB说明
message GmSetRes {
  optional int32 ret = 1;
  optional int32 cmd_id = 2; // @CSProto.GMCmd
}
1
2
3
4

# http post接口

# 获取GM命令

# 接口名

测试环境 https://test.creativity.qq.com:9311/getcmdlist

如果有配置1004修改系统时间的命令,调用此接口可以返回当前服务器的时间

  • 使用示例:
curl -X POST 'https://test.creativity.qq.com:9311/getcmdlist?appid=10000&app_plat=1&openid=opvxI4-mx2SlVhpOYdwOJ_GEA5Oc&js_code=a'
1
  • URL请求参数说明
参数 类型 是否必填 描述
appid uint64_t MOGS给游戏侧分配的游戏ID,是游戏的唯一标识
app_plat enum 游戏平台,1 微信,2 QQ,3 PC(仅测试用),4 有乐
openid string 玩家的唯一标识
js_code string 登录态
  • Body请求参数说明(Json格式)

  • 响应参数说明(Json格式)

字段名 类型 描述
uid string
cmdInfoList Array cmd命令列表,参数格式参考SDK接口中pb结构GMCmdInfo

# GM设置命令

使用时需要玩家在线

# 接口名

测试环境 https://test.creativity.qq.com:9311/setgmcmd

# gm clear player data 清空数据

cmd_id固定为1001,表示是清空数据,此命令玩家可以不在线

  • 使用示例:
curl -X POST -d '{"cmd_id":1001}' 'https://test.creativity.qq.com:9311/setgmcmd?appid=10000&app_plat=1&openid=opvxI4-mx2SlVhpOYdwOJ_GEA5Oc&js_code=a'
1
  • URL请求参数说明
参数 类型 是否必填 描述
appid uint64_t MOGS给游戏侧分配的游戏ID,是游戏的唯一标识
app_plat enum 游戏平台,1 微信,2 QQ,3 PC(仅测试用),4 有乐
openid string 玩家的唯一标识
js_code string 登录态
  • Body请求参数说明(Json格式)
参数 类型 是否必选 描述
cmd_id int 填1001
  • 响应参数说明(Json格式)
字段名 类型 描述
ret int 返回码。0:正确,其他:失败
cmd_id int 填1001

# gm send mail 发送邮件

cmd_id固定为1002,表示是发邮件命令

  • 参数1为邮件类型,目前只支持系统邮件,即1

  • 参数2为邮件附件物品ID article_id

  • 参数3为邮件附件物品数量 article_count

  • 参数4为邮件附件额外信息中的extra_type

  • 参数5为邮件附件额外信息中的extra_value

  • 参数6为邮件发送次数

  • 参数7为邮件自定义数据buff_data

  • 使用示例:

curl -X POST -d '{"cmd_id":1002,"param":[{"param_int":1},{"param_int":10011},{"param_int":2},{"param_int":3},{"param_int":4},{"param_int":2},{"param_str":"12345"}]}' 'https://test.creativity.qq.com:9311/setgmcmd?appid=10000&app_plat=1&openid=opvxI4-mx2SlVhpOYdwOJ_GEA5Oc&js_code=a'
1
  • URL请求参数说明
参数 类型 是否必填 描述
appid uint64_t MOGS给游戏侧分配的游戏ID,是游戏的唯一标识
app_plat enum 游戏平台,1 微信,2 QQ,3 PC(仅测试用),4 有乐
openid string 玩家的唯一标识
js_code string 登录态
  • Body请求参数说明(Json格式)
参数 类型 是否必选 描述
cmd_id int 填1002
param Array 参数数组,7个字段,前6个名称为param_int,第7个名称为param_str
  • 响应参数说明(Json格式)
字段名 类型 描述
ret int 返回码。0:正确,其他:失败
cmd_id int 填1002

# gm set article 改变物品

cmd_id固定为1003,表示是改变物品命令

  • 参数1为物品id

  • 参数2为物品改变的数量,正数为加,负数为减

  • 参数3为物品额外信息中的extra_type

  • 参数4为物品额外信息中的extra_value

  • 参数5为具体的物品的实例id,即指定扣减哪个物品,扣减时才需要。 ---这个有点坑,怎么确定这个64位数字是多少。

  • 使用示例:

curl -X POST -d '{"cmd_id":1003,"param":[{"param_int":1},{"param_int":10011},{"param_int":2},{"param_int":3},{"param_int":4}]}' 'https://test.creativity.qq.com:9311/setgmcmd?appid=10000&app_plat=1&openid=opvxI4-mx2SlVhpOYdwOJ_GEA5Oc&js_code=a'
1
  • URL请求参数说明
参数 类型 是否必填 描述
appid uint64_t MOGS给游戏侧分配的游戏ID,是游戏的唯一标识
app_plat enum 游戏平台,1 微信,2 QQ,3 PC(仅测试用),4 有乐
openid string 玩家的唯一标识
js_code string 登录态
  • Body请求参数说明(Json格式)
参数 类型 是否必选 描述
cmd_id int 填1003
param Array 参数数组,5个字段,名称均为param_int
  • 响应参数说明(Json格式)
字段名 类型 描述
ret int 返回码。0:正确,其他:失败
cmd_id int 填1003

# gm set systime 按appid设置系统时间

此命令玩家可以不在线,目前只支持time服test.creativity.qq.com:8818 cmd_id固定为1004,表示是设置系统时间,只能设置比当前系统时间更晚的时间

  • 参数1为具体年份[2020+],0表示将时间还原。

  • 参数2为具体月份[1-12]

  • 参数3为具体日[1-31]

  • 参数4为具体小时[0-23]

  • 参数5为具体分钟[0-59]

  • 参数6为具体秒数[0-59]

  • 使用示例:

curl -X POST -d '{"cmd_id":1004,"param":[{"param_int":2020},{"param_int":10},{"param_int":3},{"param_int":3},{"param_int":4},{"param_int":2}]}' 'https://test.creativity.qq.com:8818/setgmcmd?appid=10000&app_plat=1&openid=opvxI4-mx2SlVhpOYdwOJ_GEA5Oc&js_code=a'
1
  • URL请求参数说明
参数 类型 是否必填 描述
appid uint64_t MOGS给游戏侧分配的游戏ID,是游戏的唯一标识
app_plat enum 游戏平台,1 微信,2 QQ,3 PC(仅测试用),4 有乐
openid string 玩家的唯一标识
js_code string 登录态
  • Body请求参数说明(Json格式)
参数 类型 是否必选 描述
cmd_id int 填1004
param Array 参数数组,6个字段,名称均为param_int
  • 响应参数说明(Json格式)
字段名 类型 描述
ret int 返回码。0:正确,其他:失败
cmd_id int 填1004

# 按appid设置系统时间

使用时不需要玩家在线,目前只支持time服test.creativity.qq.com:8818会修改所有游戏服对应appid的时间, 使用方式和上述设置系统时间一致,只是用了单独的一个接口

# 接口名

/gm/systemtime
  • 使用示例:
curl -X POST -d '{"cmd_id":1004,"param":[{"param_int":2020},{"param_int":10},{"param_int":3},{"param_int":3},{"param_int":4},{"param_int":2}]}' 'https://test.creativity.qq.com:8818/gm/systemtime?appid=10000&app_plat=1&openid=opvxI4-mx2SlVhpOYdwOJ_GEA5Oc&js_code=a'
1