{{ errorTipText }}
1.1、总体说明
1.1.1)页面名称:getserverlist.php;
1.1.2)请求的url是固定的参数,包括PtId,AreaId,strUID,AppLevelUpVerCode;
1.1.3)body部分是json串;
1.1.4)接口中所有的参数都是utf8编码
1.1.5)平台提供http协议接口,post请求
1.1.6)外网具体url链接由运维提供
1.1.7)内网测试地址:每个项目都有自己的内网测试地址,需要搭建的时候发ones给平台对接人
1.2、客户端提交给平台的参数
| 参数名称 | 参数类型 | 参数描述 |
|---|---|---|
| AreaId | string | 大区Id |
| PtId | string | 平台Id |
| strUID | string | 用户uid |
| AppLevelUpVerCode | string | 客户端版本号 |
请求示例:
{
“AreaId”:”1”,
“PtId”:”1”,
“strUID”:”abc”,
“AppLevelUpVerCode”:”750”,
}
1.3、平台接口返回protobuffer数据
| 参数名称 | 参数类型 | 参数描述 |
|---|---|---|
| ListServerData | BuffServerInfo | 返回服务器列表 |
| IsAllPause | bool | 是否全区维护:true 全区全服停服维护、false 没有全区全服维护 |
| ServerCount | int | 全区停机维护服务器数量 |
| strMaintainTxt | string | 停机维护内容 |
| strMaintainStarTime | string | 停机维护开始时间 |
| strMaintainTerminalTime | string | 停机维护结束时间 |
| ListZhuanShuData | BuffZhuanShuInfo | 专属服列表 |
1.4、平台返回值 ListServerData(BuffServerInfo) 的protobuffer数据说明
| 参数名称 | 参数类型 | 参数描述 |
|---|---|---|
| ServerOrder | int | 自动加1序号 |
| ServerId | int | 服务器Id |
| busyStatus | int | 是否强制设置成爆满: 1:强制 0:按在线人数计算 (客户端不用关心,接口自动转换) |
| ListMapOnline | int | 在线人数 |
| ServerName | string | 服务器名称 |
| StartTime | string | 开服时间 |
| Status | int | 服务器状态 status=0 时 显示 “白名单可见、非白名单不可见(客户端不用关心,接口自动转换)” status=3 时 显示 “爆满” status=4 时 显示 “拥挤“ status=1、2、5、6 时 显示 “正常-流畅“ status=7 时 显示 “维护” 当客户端获取到status=7时,请在客户端提示玩家: 维护开始时间(MaintainStarTime)、 维护结束时间(MaintainTerminalTime)及维护内容(MaintainTxt) status=8 时 则为 “未开启服务器” 当客户端获取到status=8时,请在客户端提示玩家: 客户端固定文字 + 开放时间(StartTime) |
| Url | string | 服务器IP |
| ServerPort | int | 登陆服务器端口 |
| MaintainTxt | string | 停机维护内容 |
| MaintainStarTime | string | 停机维护开始时间 |
| MaintainTerminalTime | string | 停机维护结束时间 |
| SerVersion | string | 服务器端版本号 |
| CliVersion | string | 客户端版本号 |
| Forceup | string | 全民2-韩国 不重复的创建账号达到设定值 0:否、 1:是 |
| SerNickName | string | 客户端要显示的服务器名称 |
| AreaId | string | 大区Id腾讯用到:微信AreaId=”1“,手Q AreaId=”2“,天马自己AreaId=”1“ |
| PtId | string | 平台Id,ios平台和混服平台值是PtId=”0“,安卓平台值是 PtId=”1“ |
| freeip | string | 免流量IP |
| freeport | string | 免流量端口 |
| newstatus | string | 新服标识,最近开的三组标识成新服 0:普通服 1:新服 |
| suggeststatus | string | 推荐标识 1:推荐 0:不推荐 |
| zhuanshuid | string | 专属id |
| ExtendParams | string | 扩展参数 |
| RegNum | int | 注册数 |
| Unum | int | 用户数 |
备注:如果没有获取到服务器列表,则返回null
1.5、平台返回值 ListZhuanShuData(BuffZhuanShuInfo) 的protobuffer数据说明
| 参数名称 | 参数类型 | 参数描述 |
|---|---|---|
| id | string | 自动加1序号 |
| name | string | 名称 |
| iszhuanshu | string | 是否专属 |
2.1、总体说明
2.1.1)页面名称:writeuserloginserverid.php;
2.1.2)请求的url是固定的参数,包括PtId,AreaId,strUID,ServerIds;
2.1.3)body部分是json串;
2.1.4)接口中所有的参数都是utf8编码
2.1.5)平台提供http协议接口,post请求
2.1.6)外网具体url链接由运维提供,
2.1.7)国内记录玩家最近登陆的5组服务器,海外记录玩家最近登陆的10服务器
2.1.8)内网测试地址:http://192.168.0.49/serverlist/项目名称(根据项目而改变)/writeuserloginserverid.php
2.2、客户端提交给平台的参数
| 参数名称 | 参数类型 | 参数描述 |
|---|---|---|
| AreaId | string | 大区Id,由运维提供,正式上线时,运维提供服务器列表时同时提供。 |
| PtId | string | 平台Id,由运维提供,正式上线时,运维提供服务器列表时同时提供。 |
| strUID | string | 用户uid |
| ServerIds | string | 玩家成功创建的区号 |
客户端请求示例:
{
“AreaId”:”1”,
“PtId”:”1”,
“strUID”:”abc”,
“ServerIds”:”5”,
}
2.3、平台接口给客户端返回值为整型
0:成功
1:失败
3.1、总体说明
3.1.1)页面名称:getuserserverlist.php(排队推荐服务器的网页接口是:getqueueuserserverlist.php 返回数据格式一样);
3.1.2)请求的url是固定的参数,包括PtId,AreaId,strUID,AppLevelUpVerCode,ServerIds;
3.1.3)body部分是json串;
3.1.4)接口中所有的参数都是utf8编码
3.1.5)平台提供http协议接口,post请求
3.1.6)外网具体url链接由运维提供
3.1.7)内网测试地址:每个项目都有自己的内网测试地址,需要搭建的时候发ones给平台对接人
3.2、客户端提交给平台的参数
| 参数名称 | 参数类型 | 参数描述 |
|---|---|---|
| AreaId | string | 大区Id,由运维提供,正式上线时,运维提供服务器列表时同时提供 |
| PtId | string | 平台Id,由运维提供,正式上线时,运维提供服务器列表时同时提供。 |
| strUID | string | 用户uid |
| AppLevelUpVerCode | string | 客户端版本号 |
| ServerIds | string | 玩家登陆的过的服务器id列表,比如:1,56,78,23玩家登陆最近登陆1区,最早登陆23区 |
客户端请求示例:
{
“AreaId”:”1”,
“PtId”:”1”,
“strUID”:”abc”,
“AppLevelUpVerCode”:”750”,
“ServerIds”:”1,2”
}
3.3、接口返回客户端数据:
| 参数名称 | 参数类型 | 参数描述 |
|---|---|---|
| ListServerData | BuffServerInfo | 玩家历史登陆服 |
| RecommendListServerData | BuffServerInfo | 系统推荐服 |
| ClientInfo | string | 玩家登陆ip计算方式 IP第一位2的24次方 +IP第二位2的16次方 +IP的第三位*2的8次方 +IP的第四位值 |
| LoginServerRoleInfo | string | 玩家登陆信息json格式 |
| AllServerList | string | 全部服务器列表 |
| IsDev | int | 是否dev |
4.1、总体说明
4.1.1)页面名称:sidinfo.php;
4.1.2)请求的url是固定的参数,但必须包括这些参数:strSID,lTime,strMD5;
4.1.3)body部分是json串;
4.1.4)接口中所有的参数都是utf8编码
4.1.5)平台提供http协议接口,post请求
4.1.6)具体url链接由运维提供
4.1.7)内网测试地址:http://192.168.0.49/login/sidinfo.php
4.2、客户端提交给平台的参数
| 参数名称 | 参数类型 | 参数描述 |
|---|---|---|
| strSID | string | json串 |
| lTime | long | 时间戳 |
| strMD5 | string | md5(key+strSID+lTime) |
请求示例:
{
“strMD5”:”8b1176ed6b719363bc55b8cda46c2706”,
“strSID”:”{
“uid”:”1500010000000000000000000000000012460809”,
“strPlatName”:”OurpalmHaiWai”,
“sid”:”d4fbbadc-3daa-4228-91f6-7deecc701290”
}”,
“lTime”:732067207153
}
strSID参数说明:
| 参数名称 | 参数类型 | 参数描述 |
|---|---|---|
| strPlatName | string | 区服海外还是国内,对于掌趣来说,海外和国内的请求参数是不一样的 国内:Ourpalm 海外:OurpalmHaiWai |
| sid | string | 掌趣的token客户端从sdk里获取 |
| 其他参数 | string | 可以根据项目的统计需要,可以增加很多项 |
接口返回数据格式 protobuffer数据
| 参数名称 | 参数类型 | 参数描述 |
|---|---|---|
| strPlatformUserID | string | 账号Id,则验证失败:-1、账号封停:-3 |
| strAccountName | string | strPlatformUserID |
| lTime | long | 时间戳 |
| strCM | string | 是否成人 成人:1 未成人:0 |
| strToken | string | 签名:md5(strPlatformUserID+strAccountName+lTime+strCM+私钥) |
| string | 联系方式 | |
| ZtSign | string | 签名 全民奇迹用 ,其他项目已经作废 |
验证SID后,返回游戏账号
/// <summary>/// 验证SID后,返回平台用户ID/// </summary>[ProtoContract]public class ServerVerifySIDData{/// <summary>/// 返回消息时的时间戳/// </summary>[ProtoMember(3)] public long lTime = 0;/// <summary>/// 帐户名,跟用户ID相同/// </summary>[ProtoMember(2)] public string strAccountName = "";/// <summary>/// 是否成人/// </summary>[ProtoMember(4)] public string strCM = "1";/// <summary>/// 平台用户ID/// </summary>[ProtoMember(1)] public string strPlatformUserID = "";/// <summary>/// 参数加密-双线服签名/// </summary>[ProtoMember(5)] public string strToken = "";/// <summary>/// 客服QQ/// </summary>[ProtoMember(6)]public string QQ = ConfigurationManager.AppSettings["QQ"];/// <summary>/// 主题服签名/// </summary>[ProtoMember(7)]public string ZtSign = "";}
5.1、总体说明
5.1.1)检查角色名是否重名页面名称:checkname.php;检查战盟名称是否重名 页面名称:checkzhanmeng.php
5.1.2)请求的url是固定的参数,包括roleName,CrcName
5.1.3)接口中所有的参数都是utf8编码
5.1.4)平台提供http协议接口,post请求
5.1.5)具体url链接由运维提供
5.1.6)内网测试地址:http://192.168.0.49/nameserver/checkname.php
5.1.7)当玩家点击创建角色时,提交验证,而不是玩家在选择角色名时提交验证(全民2-大陆上线时就出现这个问题,导致上百万备选的角色名在短时间被使用完)
5.2、客户端提交给平台的参数
| 参数名称 | 参数类型 | 参数描述 |
|---|---|---|
| roleName | string | 角色名 |
| CrcName | string | 角色名crc32加密串 |
5.2、平台返回值字符串数据
角色名不存在返回: 角色名,ture,角色名加密串
角色名已经存在返回: 角色名,false,角色名加密串
注意事项:
1、字符限制
客户端需要限制特殊字符、表情等字符的输入
2、如果用钻石或元宝改角色名,也调用此功能 避免改名时出现角色名重名的问题
6.1、总体说明
6.1.1)页面名称:getexchangeorder.php;
6.1.2)请求的url是固定的参数,包括strPlatform,strUserID,strMoney,nServerID,lTime,roleName,roleId,strMD5,ZhiGouID;
6.1.3)body部分是json串;
6.1.4)接口中所有的参数都是utf8编码
6.1.5)平台提供http协议接口,post请求
6.1.6)具体url链接由运维提供
6.1.7)内网测试地址:http://192.168.0.49/pay/getexchangeorder.php
6.1.8)生成订单号的好在于能复用 掌趣的计费点,比掌趣的6元计费点,游戏可以用6元购买不同的道具,只要在下单时 把直购id带上即可。
6.2、客户端提交给平台的参数
| 参数名称 | 参数类型 | 参数描述 |
|---|---|---|
| strPlatform | string | 渠道标识 |
| strUserID | string | 账号Id |
| roleId | string | 角色Id |
| roleName | string | 角色名 |
| nServerID | string | 充值区服Id |
| strMoney | string | 充值金额 |
| ZhiGouID | string | 直购Id |
| lTime | string | 时间戳 |
| strMd5 | string | 签名md5(私钥+strPlatform+strUserID+strMoney+lTime) |
请求示例:
{
“strMoney”:”300”,
“nServerID”:1,
“roleId”:120003,
“strUserID”:”HERO10625299”,
“strPlatform”:”HERO”,
“strMD5”:”4ED2C38783B89ECED0867623ECF7F18D”,
“roleName”:”\u8d6b\u5c3c-\u8c9d\u8482\u5a1c”,
“lTime”:575932477952,
“ZhiGouID”:”0”,
}
6.2、接口返回给客户端参数json
| 参数名称 | 参数类型 | 参数描述 |
|---|---|---|
| strExchangeOrder | string | 交易流水号 |
| strExtParam | string | 扩展参数 |
| lTime | string | 发送消息时的时间戳 |
| strMD5 | string | 签名:md5(strExchangeOrder+strExtParam+lTime+私钥) |
[ProtoContract]
public class BuffServerInfo
{
///
/// <summary>/// 服务器ID/// </summary>[ProtoMember(2)]public int nServerID;/// <summary>/// 目前没有使用-是否是爆满状态/// </summary>[ProtoMember(3)]public int busyStatus;/// <summary>/// MAP在线数/// </summary>[ProtoMember(4)]public List<int> listMapOnline = new List<int>();/// <summary>/// 服务器名称/// </summary>[ProtoMember(5)]public string strServerName = "";/// <summary>/// 服务器启动时间/// </summary>[ProtoMember(6)]public string strStartTime = "";/// <summary>/// 服务器状态/// </summary>[ProtoMember(7)]public int nStatus;/// <summary>/// 服务器地址/// </summary>[ProtoMember(8)]public string strURL;/// <summary>/// 服务器端口/// </summary>[ProtoMember(9)]public int nServerPort;/// <summary>/// 维护公告内容/// </summary>[ProtoMember(10)]public string strMaintainTxt;/// <summary>/// 维护开始时间/// </summary>[ProtoMember(11)]public string strMaintainStarTime;/// <summary>/// 维护结束时间/// </summary>[ProtoMember(12)]public string strMaintainTerminalTime;/// <summary>/// 服务端版本号/// </summary>[ProtoMember(13)]public string SerVersion;/// <summary>/// 客户端版本号/// </summary>[ProtoMember(14)]public string CliVersion;/// <summary>/// 是否开启强制更新:0:不开启、1:开启k/// </summary>[ProtoMember(15)]public string Forceup;/// <summary>/// 服务器别名/// </summary>[ProtoMember(16)]public string SerNickName;/// <summary>/// 服务器 微信:1、手Q:2/// </summary>[ProtoMember(17)]public string AreaId;/// <summary>/// 平台 IOS:0、android:1/// </summary>[ProtoMember(18)]public string PtId;//字段编号:19//字段名称:freeip//字段类型:string//字段规则:必填//说明:免流量地址/// <summary>/// 免流量地址/// </summary>[ProtoMember(19)]public string freeip;//字段编号:20//字段名称:freeport//字段类型:string//字段规则:必填//说明:免流量端口/// <summary>/// 免流量端口/// </summary>[ProtoMember(20)]public string freeport;//字段编号:21//字段名称:newstatus//字段类型:string//字段规则:必填//说明:新服标识(1新服,0非新服)/// <summary>/// 新服标识(1新服,0非新服)/// </summary>[ProtoMember(21)]public string newstatus;//字段编号:22//字段名称:suggeststatus//字段类型:string//字段规则:必填//说明:推荐标识(1推荐,0不推荐)/// <summary>/// 推荐标识(1推荐,0不推荐)/// </summary>[ProtoMember(22)]public string suggeststatus;/// <summary>/// 专属ID 对应BuffZhuanShuInfo的zhuanshuid/// </summary>[ProtoMember(23)]public string zhuanshuid;}