# 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
}
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;
}
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接口中的参数描述
}
2
3
4
- 回复PB说明
message GmSetRes {
optional int32 ret = 1;
optional int32 cmd_id = 2; // @CSProto.GMCmd
}
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'
- 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'
- 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'
- 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'
- 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'
- 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'