鲁大师

游戏对接文档


WEB游戏对接文档

[TOC]

更新日期 更新说明 版本 作者
2020-10-22 创建文档 1.0 冯兴鑫
2020-11-01 登录,查角,充值接口中可以带区服变量 1.1 冯兴鑫
2020-11-12 充值接口增加roleId参数 1.2 冯兴鑫
2020-11-16 登录,查角接口增加gid参数 1.2.1 冯兴鑫
2021-06-30 增加游戏内实名认证接口 1.2.2 冯兴鑫
2021-07-15 更新充值接口roleId,productId说明 1.2.3 冯兴鑫
2022-02-16 增加游戏内接入扫码充值说明 1.2.4 张恒普

一、接口要求和规范

  • 参数 time 为Unix 时间戳(January 1 1970 00:00:00 GMT 起的秒数) ,单位为秒
  • 编码统一使用 UTF-8
  • 接口请求方式为 POST | GET
  • 参数sign里的md5 加密的“+”号是字符串链接符号,并且要把md5后的字符串转成小写
  • key双方协定或是一方处理完知会另一方
  • 接口地址中如果有区服变量,区服ID用字符串{$sid}代替,如 http://test-s{$sid}.test.com/login.php

二、登录接口

接口说明:

  • 玩家在平台选择游戏区并登录游戏时,平台将相关信息通过该登录接口发给游戏验证,待验证通过后将会引导玩家进入游戏界面,验证失败则会跳回平台出错页面(例如:官方网站)。

请求地址示例:

  • http://{$host}/{$api}?uid=2927&platform=ludashi&gid=xxx&sid=1001&time=1605507639&fcm=1&client=web&sign=a782e874f87e1469c29d799b97dc7d1d

参数列表:

参数 类型 是否必须 说明
http://{$host}/{$api} 游戏域名,最好是http。接口地址中如果有区服变量,区服ID用字符串{$sid}代替
uid string 必须 玩家在平台的用户id
platform String 必须 固定传ludashi, 标识平台
gid string 必须 约定的game id, 如枪魂gid=qh,不参与sign验证
sid int 必须 所属服务器,一区填写1,二区填写2,依此类推,
time int 必须 平台服务器的时间戳(为长整数,单位为秒),游戏需根据此参数判断,请求参数是否过期
fcm int 必须 防沉迷:1 已成年通过防沉迷;2 未成年,未满18岁;0 未填写身份信息
client String 必须 网页:web;微端:pc;盒子:box
sign String 必须 md5(uid+platform+sid+time+fcm+client+key) 这里传递的md5字串为小写字母, 这里的key是表示平台和游戏双方提前协商约定好的密钥

三、角色查询

接口说明

  • 查询用户角色是否存在,并且返回玩家角色信息。

请求地址示例:

  • http://{$host}/{$api}?uid=2927&platform=ludashi&gid=xxx&sid=1&time=1603333700&sign=2d5f3d19c2169c53aa01b07cd2c92de2

请求参数:

参数 类型 必须 说明
http://{$host}/{$api} 查角接口地址。接口地址中如果有区服变量,区服ID用字符串{$sid}代替
uid string 必须 平台用户标识
platform String 必须 固定传ludashi, 标识平台
gid string 必须 约定的game id, 如枪魂gid=qh,不参与sign验证
sid int 必须 所属服务器,一区填写1,二区填写2,依此类推
time int 必须 时间戳单位为秒
sign String 必须 md5(uid+platform+sid+time+key)这里传递的md5字串为小写字母, 这里的key是表示平台和游戏双方提前协商约定好的密钥

返回示例:

{
    "errno": 0,
    "data": [
        {
            "name": "角色名",
            "level": "1"
        }
    ],
    "msg": "提示"
}
  • 注: name 和 level 必须返回

返回参数说明:

errno 0:成功;非0失败
data 每个角色信息里必须包含 name 和 level 字段

四、充值接口

接口说明:

  • 玩家在平台充值成功后,由平台通过该充值接口向游戏发起发放游戏币的请求,在接口参数通过验证后,游戏向该服该玩家发放游戏币,并将元宝发放结果在接口中返回。

请求地址示例:

  • http://{$host}/{$api}?platform=ludashi&orderId=1&gid=testhdx&sid=1&uid=2927&money=1&coin=10&time=1603334703&sign=000faa216b879a6c8b3331d8b9eb84b7

请求方式:

  • GET

请求参数:

参数 类型 是否必须 说明
http://{$host}/{$api} 充值接口地址。接口地址中如果有区服变量,区服ID用字符串{$sid}代替
platform String 必须 固定传ludashi, 标识平台
orderId string 必须 订单号,不允许重复支持 字母、数字、下划线
gid string 必须 游戏ID;如《神王》传 wzzx
sid int 必须 所属服务器,一区填写1,二区填写2,依此类推
uid String 必须 平台用户标识
roleId String 角色ID,透传role_id参数,方便固定金额充值
productId String 商品ID,透传product_id参数,方便固定金额充值
money float 必须 充值金额 单位元,支持两位小数
coin int 必须 充值平台币数量
time int 必须 平台服务器的时间戳(为长整数,单位秒)
sign string 必须 md5(platform+orderId+gid+sid+uid+ money+coin+time+key)这里传递的md5字串为小写字母, 这里的key是表示平台和游戏双方提前协商约定好的密钥
ext string 透传参数

返回示例:

{
    "errno": 0,
    "data": "",
    "msg": "提示"
}

返回参数说明:

errno 说明
0 成功
1 订单号已存在(充值已成功)
-2 用户不存在
-3 IP限制
-4 md5校验错误
-5 time时间已过期 时间差在 前后3分钟内
-6 游戏服务器繁忙
-7 参数错误

充值接口其他要求:

- 错误帐号不能充值,也就是不存在角色的账号。 - 同个订单号前面出错 要能补单。比如突然网络异常或者玩家输入错账号,充值接口返回充值失败。等接口正常后, 我们客服需要对这些失败的充值订单补单。

五、聊天信息推送接口

接口说明:

  • 游戏方通过调用此接口,将玩家的聊天信息发送到鲁大师服务器

请求地址:

  • http://139.129.234.63:9952

请求方式:

  • POST | GET

请求参数:

参数名 类型 必须 说明
gid String 平台游戏编号
sid int 服务器编号
uid string 平台用户ID,游戏登录接口中的平台账号
urole string 游戏角色名称
channel int 消息频道( 1私聊,2喇叭,4世界,6帮会,7队伍,8交易,9区域)
tid string 私聊时的目标账号uid(平台用户ID),非私聊频道时传空字符串
trole string 私聊时的目标角色名称,非私聊频道时传空字符串
body string urlencode后的消息内容 (不参与签名)
time int 消息发送时间
sign string 加密信息 md5(gid+sid+uid+urole+channel+tid+trole+time+key)(body不参与验证)

返回示例:

{
    "errno": 0,
    "errmsg": ""
}

返回参数说明

错误码 提示
1 必填字段不能为空
2 游戏不存在
3 请求超时
4 签名错误
5 写入失败
6 IP限制, 请给运营提供贵方服务器IP地址(暂时不用)

六、游戏内封禁账号/解封账号/禁言/解除禁言

接口说明:

  • 游戏方提供接口,平台访问此接口,对违规账号进行封禁或者禁言;

请求方式 :

  • POST | GET

请求地址示例:

  • 禁言1个小时:
  • {api}?sid=38&uid=46270981&platform=ludashi&action=unspeakable&us_time=60&time=1600240911&sign=30a90efaf1d3f1064f1060f57db3babf

  • 永久封禁账号:
  • {api}?sid=38&uid=46270981&platform=ludashi&action=lock&us_time=0&time=1600242177&sign=eb7ba76f10cb97558a9420e2ddefe791

请求参数 :

参数名 类型 是否必须 说明
http://{$host}/{$api} 充值接口地址
sid int 服务器编号
uid string 平台用户ID,游戏登录接口中的平台账号
platform string ludashi 标记平台
action string lock :(永久封禁)封号+踢下线,unlock:解封,unspeakable:禁言,speakable:解除禁言
us_time Int 禁言时间,单位分钟,只对禁言有效
time int 消息发送时间
sign string 加密信息 md5(sid+uid+platform+action+us_time+time+key)转小写字母key为双方约定的,一般使用登录key

返回示例:

{
    "errno": 0,
    "msg": ""
}

返回参数说明:

错误码 提示
0 封禁成功
其他非0值 封禁失败,及失败原因

七、同步新区开服运营数据接口

接口说明:

  • 区服开服当日,游戏方每隔10分钟请求此接口一次,同步新开区服的运营数据。由于数据包含次日留存,所以开服第三天需再调用接口,更新次日留存指标。

请求地址:

  • https://wan.ludashi.com/openApi/serverReport

请求方式:

  • POST

请求参数:

参数名 类型 必须 说明
gid string 游戏ID,与鲁大师运营确认如《神王》wzzx
time int 当前请求时间戳,3分钟有效
data string 多条区服的更新数据集合,格式为urlencode后的json字符串。每条数据必须包含['sid', 'open_time', 'connect_num', 'register_num', 'create_role_num', 'create_role_rate', 'next_day_stay_rate','pay_user_num', 'gun_pay_user_num', 'create_role_pay_rate']解释见上面--data字段中各指标解释示例:%5B%7B%22sid%22%3A1%2C%22open_time%22%3A%222020-10-01+10%3A00%22%2C%22connect_num%22%3A1000%2C%22register_num%22%3A800%2C%22create_role_num%22%3A400%2C%22create_role_rate%22%3A0.5%2C%22next_day_stay_rate%22%3A0.3%2C%22pay_user_num%22%3A200%2C%22gun_pay_user_num%22%3A100%2C%22create_role_pay_rate%22%3A0.5%7D%2C%7B%22sid%22%3A2%2C%22open_time%22%3A%222020-10-02+10%3A00%22%2C%22connect_num%22%3A2000%2C%22register_num%22%3A800%2C%22create_role_num%22%3A400%2C%22create_role_rate%22%3A0.5%2C%22next_day_stay_rate%22%3A0.5%2C%22pay_user_num%22%3A100%2C%22gun_pay_user_num%22%3A30%2C%22create_role_pay_rate%22%3A0.25%7D%5D
sign string MD5(gid+time+游戏登录key) 小写
  • sign校验key为游戏登录key

请求参数中data字段中各指标解释:

参数名 参数解释 说明
sid 区服ID 请传回登录游戏时,平台带的区服数字
open_time 开服时间 该区服的开服时间
connect_num 游戏链接数 当日链接访问该区服用户数(独立用户同一用户需要去重)
register_num 注册数 链接成功用户数(独立用户同一用户需要去重)
create_role_num 创角数 完成取名创角角色用户数
create_role_rate 创角率 创角数/注册数
next_day_stay_rate 次日存留 首日创角用户第二天登录数/首日创角用户数
pay_user_num 首日付费人数 该区服开服第一天,付费人数(单人多次付费算1人)
gun_pay_user_num 滚服付费人数 其他区服有付费再该区服付费人数
create_role_pay_rate 创角付费率 首日付费人数/首日创角人数

返回示例:

{
    "errno": 0,
    "msg": ""
}

返回参数说明

错我误码 提示
0 更改成功
其他非0值 失败

示例代码

$url = 'https://wan.ludashi.com/openApi/serverReport';
$reportData = [
  ['sid' => 1, 'open_time'=>'2020-10-01 10:00','connect_num' => 1000, 'register_num' => 800,
    'create_role_num' => 400, 'create_role_rate' => 0.5, 'next_day_stay_rate' => 0.3,
    'pay_user_num' => 200, 'gun_pay_user_num' => 100, 'create_role_pay_rate' => 0.5],
  ['sid' => 2,'open_time'=>'2020-10-02 10:00', 'connect_num' => 2000, 'register_num' => 800, 'create_role_num' => 400, 'create_role_rate' => 0.5, 'next_day_stay_rate' => 0.5,
    'pay_user_num' => 100, 'gun_pay_user_num' => 30, 'create_role_pay_rate' => 0.25],
];
$param['data'] = urlencode(json_encode($reportData));
$param['gid'] = 'wzzx';
$param['time'] = time();
$key = 'login key';
$param['sign'] = strtolower(md5($param['gid'] . $param['time'] . $key));
$curlHandle = curl_init();
curl_setopt($curlHandle, CURLOPT_TIMEOUT, 5);
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlHandle, CURLOPT_POST, true);
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, http_build_query($param));
curl_setopt($curlHandle, CURLOPT_URL, $url);
curl_setopt($curlHandle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curlHandle, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($curlHandle);
curl_close($curlHandle);
echo $result;

八、游戏内实名认证接口(选择接入)

接口说明:

  • 游戏内弹出实名认证框,简化实名认证流程。

请求地址示例:

  • https://wan.ludashi.com/openApi/realAuth?uid=3233&idcard=510104199003077014&truename=张三&type=yeyou&gid=ltzn&time=1625044377&sign=fc2d7bb9e7383696d2ab57f17fbb0be2

请求参数:

参数 类型 必须 说明
uid string 必须 平台用户标识,登录游戏时传入游戏方的用户标识
idcard String 必须 玩家真实身份证
truename string 必须 玩家真实姓名
type string 必须 yeyou 页游; h5 H5游戏; client 端游
gid string 必须 游戏id,向运营人员获取
time Int 必须 当前请求的时间戳
sign String 必须 md5($uid.$type.$gid.$time.$key)md5字串为小写字母, key为登录游戏的key

返回示例:

{
    "errno": 0,
    "msg": "更新成功",
    "data": {
        "age": 23
    }
}

返回参数说明:

errno 0:成功;非0失败
data
msg 提示

九、游戏内扫码支付

接入方式一

接口说明:

  • 通过iframe或者其他方式直接加载鲁大师提供支付页面

请求示例:

  • https://wan.ludashi.com/h5pay/platform?game_id=ms&server_id =1848&uid=93

请求参数

参数 类型 必须 说明
game_id string 必须 游戏id,向运营人员获取
server_id int 必须 游戏区服id,
uid int 必须 鲁大师游戏用户id

接入方式二

接口说明:

  • 通过鲁大师游戏提供接口获取签名字符串与支付页面拼接成一个完整的url,将url渲染成二维码供用户扫码

请求示例:

  • https://wan.ludashi.com/ajax/Geth5pay

参数说明:

参数 类型 必须 说明
game_id String 必须 游戏id,向运营人员获取
server_num Int 必须 游戏区服id,
uid Int 必须 鲁大师游戏用户id
money Int 可选 充值金额(单位:元),固定金额充值必传
product_id Int 可选 商品ID,固定金额充值必传
product_name String 可选 商品名称,固定金额充值必传
role_id Int 可选 角色ID,固定金额充值必传
role_name String 可选 角色名称,固定金额充值必传
ext String 可选 透传参数

返回示例:

{
    "errno": 0,
    "msg": "success",
    "data": {
        "sign": "84457fe11037d2ee166c382d9cf7e478",
        "url": "http://wan.ludashi.com/h5pay/index"
    }
}

## 渲染二维码URL示例:
## http://wan.ludashi.com/h5pay/index?sign=84457fe11037d2ee166c382d9cf7e478

备注

  • 针对部分非固定充值金额游戏存在固定金额充值需求时,在渲染二维码URL上加上change=0参数即可

页面列表

ITEM_HTML