{{ errorTipText }}
1.1、总体说明
1.1.1)是GameServer提供给平台的充值http方式接口
1.1.2)通过http给GameServer传递参数;
1.1.2)请求的http是固定的参数,包括userId,roleId,Amount,ItemId,BudanFlag,changeTime,order_no,cc,cporder_no,sign,Time,zoneId,Id,strParam;
1.1.3)参数格式是json串;
1.1.4)接口中手游的参数都是utf8编码
1.1.5)gameServer提供TCP协议接口,socket请求
1.1.6)具体IP和端口从t_ptserver表中获取
1.1.7)开服内网测试充值:http://192.168.0.49/pay/paytest.html
1.2、平台提交给gameserver的参数:
| 参数名称 | 参数类型 | 参数说明 |
|---|---|---|
| Amount | int | 玩家充值金额 |
| BudanFlag | int | 0:正常充值 1:福利-给绑钻和VIP 2:福利-给绑钻不参与活动 |
| cc | string | 加密串 |
| cporder_no | string | 天马订单号 |
| currencyType | string | 货币代码: 1:人民币(元) 2:美分 8:台币 |
| deviceGroupId | string | 机型参数 0000:安卓 0002:ios |
| extendParams | string | 扩展参数 |
| fanli | string | 福利参数 |
| Id | string | 平台库充值表自动加以序号,服务端充值处理充值结果是需要返回 |
| ItemId | string | 直购Id、购买钻石为“0” |
| order_no | string | 渠道订单号 |
| propId | string | 掌趣计费点ID |
| RoleID | string | 角色Id |
| Sign | string | md5签名-大写 md5(Amount+UserID+ZoneID+cporder_no+order_no+Time+fanli+私钥) |
| Time | string | 时间戳 |
| UserID | string | 账号 |
| ZoneID | int | 区号Id |
1.3、请求示例
{
“Amount”:499,
“BudanFlag”:0,
“cc”:”20A3E6A5B99D284B421860AD002092A1”,
“ChargeTime”:1676332979,
“cporder_no”:”0612023021401023533000”,
“Id”:”2134689”,
“propId”:”com.fingerfun.nova.pack5”,
“order_no”:”0612023021401023533000”,
“RoleID”:”47120000004”,
“Sign”:”1D73091347505A76041F4B89B1CE7F37”,
“Time”:1676332979,
“UserID”:”1100010000000000000000000000000009649219”,
“ZoneID”:”4”,
“cmdId”:1,
“extendParams”:”b1ebc2aa-48d3-466a-b71b-89ee152ccf40”,
“currencyType”:”2”,
“fanli”:”0”,
“deviceGroupId”:”0000”
}
1.4、服务端处理返回结果:
{
“result”:true,
“msg”:”{\”msg\”:\”succeed\”,\”ret\”:1}”
}
2.1、总体说明
2.1.1)是GameServer提供给平台的充值socket接口
2.1.2)通过socket给GameServer传递参数;
2.1.3)请求的socket是固定的参数,包括userId,roleId,Amount,ItemId,BudanFlag,changeTime,order_no,cc,cporder_no,sign,Time,zoneId,Id,strParam,propId,currencyType;
2.1.4)参数格式是json串;
2.1.5)接口中手游的参数都是utf8编码
2.1.6)gameServer提供TCP协议接口,socket请求
2.1.7)具体IP和端口从t_ptserver表中获取
2.1.8)从2018年1月开始的项目,充值参数用Json的格式传输方式,《全民奇迹》《神话》用protobuf结构
8)开服内网测试充值:http://192.168.0.49/pay/paytest.html
2.2、平台提交给gameserver的参数:
| 参数名称 | 参数类型 | 参数说明 |
|---|---|---|
| Amount | int | 玩家充值金额 |
| BudanFlag | int | 0:正常充值 1:福利-给绑钻和VIP 2:福利-给绑钻不参与活动 |
| cc | string | 加密串 |
| ChargeTime | string | 下订单时间 |
| cporder_no | string | 天马订单号 |
| currencyType | string | 货币代码: 1:人民币(元) 2:美分 8:台币 |
| Id | string | 平台库充值表自动加以序号,服务端充值处理充值结果是需要返回 |
| ItemId | string | 直购Id、购买钻石为“0” |
| order_no | string | 渠道订单号 |
| propId | string | 掌趣计费点ID |
| RoleID | string | 角色Id |
| strParam | string | 福利参数 |
| Sign | string | md5签名-大写 md5(Amount+UserID+ZoneID+cporder_no+order_no+Time+私钥) |
| Time | string | 时间戳 |
| UserID | string | 账号 |
| ZoneID | int | 区号Id |
2.3、请求示例
{
“Amount”:999,
“BudanFlag”:0
“cc”:”C6FB3C07E47A1D0861A22205004363AD”,
“ChargeTime”:”2022-10-31 00:00:22”,
“cporder_no”:”OurpalmHaiWai22103100002212310058436109990050222”,
“currencyType”:”2”,
“Id”:”4416429”,
“ItemId”:”600059992”,
“order_no”:”0522022103101002265800”,
“propId”:”609992”,
“RoleID”:”3534059070281430668”,
“strParam”:””,
“Sign”:”2CC0F2336826ADDC9801C5567917830C”,
“Time”:1667149237,
“UserID”:”0400010000000000000000000000000013220926”,
“ZoneID”:50222
}
2.4、服务端处理返回结果:id:处理处理结果
| 处理处理结果 | 描述 |
|---|---|
| 1 | 充值成功 |
| -4 | 签名错误 |
| -1、-5 | 订单号重复 |
| 其他数字 | 充值异常 |
3.1、总体说明
3.1.1)是GameServer提供给平台的充值socket接口
3.1.2)通过socket给GameServer传递参数;
3.1.3)请求的socket是固定的参数,包括userId,roleId,Amount,ItemId,BudanFlag,changeTime,order_no,cc,cporder_no,sign,Time,zoneId,Id,strParam,propId,currencyType;
3.1.4)参数格式是json串;
3.1.5)接口中手游的参数都是utf8编码
3.1.6)gameServer提供TCP协议接口,socket请求
3.1.7)具体IP和端口从t_ptserver表中获取
3.1.8)从2018年1月开始的项目,充值参数用Json的格式传输方式,《全民奇迹》《神话》用protobuf结构
3.1.9)开服内网测试充值:http://192.168.0.49/pay/paytest.html
3.2、平台提交给gameserver的参数:
| 参数名称 | 参数类型 | 参数说明 |
|---|---|---|
| Amount | int | 玩家充值金额 |
| BudanFlag | int | 0:正常充值 1:福利-给绑钻和VIP 2:福利-给绑钻不参与活动 |
| cc | string | 加密串 |
| ChargeTime | string | 下订单时间 |
| cporder_no | string | 天马订单号 |
| currencyType | string | 货币代码: 1:人民币(元) 2:美分 8:台币 |
| Id | string | 平台库充值表自动加以序号,服务端充值处理充值结果是需要返回 |
| ItemId | string | 直购Id、购买钻石为“0” |
| order_no | string | 渠道订单号 |
| propId | string | 掌趣计费点ID |
| RoleID | string | 角色Id |
| strParam | string | 福利参数 |
| Sign | string | md5签名-大写 md5(Amount+UserID+ZoneID+cporder_no+order_no+Time+私钥) |
| Time | string | 时间戳 |
| UserID | string | 账号 |
| ZoneID | int | 区号Id |
| cmdId | int | 标识符:2 |
3.3、请求示例
{
“Amount”:999,
“BudanFlag”:0
“cc”:”C6FB3C07E47A1D0861A22205004363AD”,
“ChargeTime”:”2022-10-31 00:00:22”,
“cporder_no”:”OurpalmHaiWai22103100002212310058436109990050222”,
“currencyType”:”2”,
“Id”:”4416429”,
“ItemId”:”600059992”,
“order_no”:”0522022103101002265800”,
“propId”:”609992”,
“RoleID”:”3534059070281430668”,
“strParam”:””,
“Sign”:”2CC0F2336826ADDC9801C5567917830C”,
“Time”:1667149237,
“UserID”:”0400010000000000000000000000000013220926”,
“ZoneID”:50222,
“cmdId”:50222
}
3.4、服务端处理返回结果:id:处理处理结果
| 处理处理结果 | 描述 |
|---|---|
| 1 | 充值成功 |
| -4 | 签名错误 |
| -1、-5 | 订单号重复 |
| 其他数字 | 充值异常 |
4.1、总体说明
4.1.1)通过socket给gameserver传递参数-和充值方式一样;
4.1.2)请求的socket是固定的参数,包括userId,roleId,codeNo,giftId,changeTime,lTime,zoneId,sign;
4.1.3)参数格式是json串;
4.1.4)接口中手游的参数都是utf8编码
4.1.5)gameServer提供TCP协议接口,socket请求
4.1.6)具体IP和端口从t_ptserver表中获取
4.1.7)开服内网测试地址:http://192.168.0.49/login/fasonglibaoma.php
4.2、平台提交给gameserver的参数:
| 参数名称 | 参数类型 | 参数说明 |
|---|---|---|
| userId | string | 账号 |
| roleId | int | 角色Id |
| codeNo | string | 礼包码Id |
| giftId | string | 礼包Id |
| changeTime | string | 提交时间 |
| lTime | long | 时间戳 |
| zoneId | int | 区号Id |
| sign | string | 签名格式:md5(userId+ zoneId+ codeNo+ giftId+lTime + strGameKey),小写字母,字符比较时请注意 |
4.3、请求示例:
{
“userId”:”0105350000000000000000000000003417798987”,
“roleId”:”380395594”,
“codeNo”:”A2922BC5535G8X”,
“giftId”:”QJS0697”,
“chargeTime”:”2023-2-23 00:14:41”,
“lTime”:”1677082481”,
“zoneId”:”270080”
}
4.4、gameserver返回数据:
{
“userId”:”0105350000000000000000000000003417798987”,
“roleId”:”380395594”,
“codeNo”:”A2922BC5535G8X”,
“giftId”:”QJS0697”,
“chargeTime”:”2023-2-23 00:14:41”,
“lTime”:”1677082481”,
“zoneId”:”270080”,
“code”:”1”, //1:成功,其他返回值 失败
“desc”:”\u6210\u529f”
}
5.1)以hash的方式存数据,hash名:serverstate ;
5.2)hash的key是以服务器id为key;
5.3)hash的value如下:
{
“ZoneID”:1,
“OnlineNum”:1,
“QueueNum”:0,
“RoleNum”:4969,
“ServerBeginTime”:”2018-10-11 00:00:00”,
“UpdateTime”:”2018-10-19 14:26:29”,
“fCpuUsage”:0,
“fTotalCpuUsage”:0,
“CurProcessMemory”:0,
“TotalProcessMemory”:0
}
| key | 描述 |
|---|---|
| ZoneID | 区服Id |
| OnlineNum | 在线人数 |
| QueueNum | 排队人数 |
| RoleNum | 不重复账号数量 |
| ServerBeginTime | 服务器开服时间 |
| UpdateTime | 这条记录更新时间 |
| fCpuUsage | cup使用 |
| fTotalCpuUsage | cpu总量 |
| CurProcessMemory | 当前内存使用量 |
| TotalProcessMemory | 内存总量 |
| FiveMinuteAddAccountNum | 最近5分钟注册账号数-不重复 |
| forceup | 创角账号是否已满 1:已满 0:未满 |
创建角色信息
将玩家的角色信息写入到redis 哈希中,奇迹觉醒的希名名:idip_server_rolecount_mu2(其他项目自己定),键值为openid,value为区号角色信息,例:
[{
“serverID” : 8061 ,
“roleIDs” :
[{
“Item1” : 1081181825 ,
“Item2” : “\u5965\u52d2\u838e\u2737\u963f\u5a1c” ,
“Item3” : 1 ,
“Item4” : 2
},
{
“Item1” : 1081181825 ,
“Item2” : “\u624e\u5361\u8d56\u4e9a\u65af\u2721” ,
“Item3” : 1 ,
“Item4” : 2
}]
},
{
“serverID” : 8062 ,
“roleIDs” :
[
{
“Item1” : 10811818251 ,
“Item2” : “\u5965\u52d2\u838e\u2737\u963f\u5a1c” ,
“Item3” : 1 ,
“Item4” : 2
},
{
“Item1” : 10811818252 ,
“Item2” : “\u624e\u5361\u8d56\u4e9a\u65af\u2721” ,
“Item3” : 1 ,
“Item4” : 2
}
]
}]
item1:角色iditem2:角色名称item3:职业item4:等级如果有其他项要添加的,项目根据自己的需要添加
将玩家的角色信息写入到redis:
数据格式:hash
hash名:idip_server_roleinfo(不同游戏可能不一样,具体游戏与平台对应即可)
hash的key:userId(用户Id)
hash的value:
注:具体角色信息字段可由游戏端定,具体在服务器列表返回LoginServerRoleInfo字段的json字符串为:roleData对应写入json字符串!
[{"serverID": 8061, // 区服Id"roleIDs": [{ // 角色信息数组"Item1": 1081181825,"Item2": "\u5965\u52d2\u838e\u2737\u963f\u5a1c","Item3": 1,"Item4": 2},{"Item1": 1081181825,"Item2": "\u624e\u5361\u8d56\u4e9a\u65af\u2721","Item3": 1,"Item4": 2}]},{"serverID": 8062,"roleIDs": [{"Item1": 10811818251,"Item2": "\u5965\u52d2\u838e\u2737\u963f\u5a1c","Item3": 1,"Item4": 2},{"Item1": 10811818252,"Item2": "\u624e\u5361\u8d56\u4e9a\u65af\u2721","Item3": 1,"Item4": 2}]}]