打轮胎 - protobuf 接口文档

目录

Rules.proto

Top

游戏配置服务

@ID=0x0701 获取游戏配置参数

消息: GetRules

字段类型标签说明
game_code string

游戏代号

@ID=0x9701 响应获取游戏配置参数

消息: ResGetRules

字段类型标签说明
rules_list Rules repeated

游戏配置参数列表

游戏配置

消息: Rules

字段类型标签说明
game_id int64

游戏ID

game_code string

游戏代号

players int32

玩家数量

bet_amount int64

下注金额

is_double bool

是否双倍

adjust.proto

Top

游戏配置服务

Adjusts

消息: Adjusts

字段类型标签说明
adjust_type string

类型ID

Count int64

数量

@ID=0x0801 获取Adujst

消息: GetAdjust

字段类型标签说明
adjust_type AdjustType

@ID=0x0802 提交Adujst数据

消息: PostAdjust

字段类型标签说明
adjust_type AdjustType

@ID=0x9801 响应获取Adujst

消息: ResGetAdjust

字段类型标签说明
rules_list Adjusts repeated

@ID=0x9802 响应提交Adujst数据

消息: ResPostAdjust

无参数

AdjustType

枚举: AdjustType

名称枚举值说明
None 0

Start 1

进度条开始读取的用户

StartFinish 2

进度条读完的用户

TwoSecond 3

进度条2秒内读完的用户

TwoFiveFinish 4

进度条2-5秒内读完的用户

FiveTenSecondFinish 5

进度条5-10秒内读完的用户

TenTwentySecondFinish 6

进度条10-20秒内读完的用户

TwentyThirtySecondFinish 7

进度条20-30秒内读完的用户

ThirtySecondFinish 8

进度条30秒以上读完的用户

StartGuide 9

开始新手引导用户

StartGuide1Finish 10

新手引导完成第1个引导框

StartGuide2Finish 11

新手引导完成第2个引导框

StartGuideFinish 12

新手引导完成

fightLog.proto

Top

战绩服务

战绩详情

消息: FightLog

字段类型标签说明
game_type int32

游戏类型

ranking int32

排名

stage int32

阶段

settle_at int64

结算时间

bamboo_num int32

竹子数量

bet_amount int64

下注金额

win_amount int64

赢得金额

game_records GameRecord repeated

游戏记录

is_draw bool

是否平局

service_fee int64

服务费

room_id string

房间id

游戏记录

消息: GameRecord

字段类型标签说明
Ranking int32

排名

Icon string

头像

PlayerID int32

玩家ID

PlayerName string

玩家名称

BambooNum int32

竹子数量

ComboNum int32

Combo数量

WinAmount int64

赢得金额

RoleId int32

角色ID

@ID=0x0501 获取最近战绩

消息: GetFightLog

字段类型标签说明
game_type int32

游戏类型

@ID=0x9501 响应获取最近战绩

消息: ResGetFightLog

字段类型标签说明
fight_logs FightLog repeated

战绩列表

hall.proto

Top

大厅服务

@ID=0x0207 调整段位

消息: AdjustTier

字段类型标签说明
tier int32

大段位

sub_tier int32

小段位

stars int32

星星数

@ID=0x0206 购买皮肤

消息: BuySkin

字段类型标签说明
skin_id int32

皮肤ID

@ID=0x0203 退出游戏队列

消息: ExitQueue

无参数

@ID=0x020A 徽章

消息: GetBadge

无参数

@ID=0x0201 获取余额

消息: GetBalance

无参数

@ID=0x0208 倒计时

消息: GetCountDown

无参数

@ID=0x0205 获取排行榜

消息: GetRank

字段类型标签说明
rank_type int32

1:日榜 2:周榜

@ID=0x0209 签到

消息: GetSignIn

无参数

@ID=0x0204 获取段位

消息: GetTier

无参数

@ID=0x9207 响应调整段位

消息: ResAdjustTier

字段类型标签说明
tier int32

sub_tier int32

stars int32

@ID=0x9206 响应购买皮肤

消息: ResBuySkin

字段类型标签说明
balance int64

skin_id int32

badge_num int32

diamond int32

@ID=0x9203 响应退出游戏队列

消息: ResExitQueue

无参数

@ID=0x920A 响应徽章

消息: ResGetBadge

字段类型标签说明
BadgeCount int32

当前徽章数量

SignStatus string repeated

签到状态

@ID=0x9201 响应获取余额

消息: ResGetBalance

字段类型标签说明
balance int64

余额

@ID=0x9208 响应倒计时

消息: ResGetCountDown

字段类型标签说明
daily_count_down int64

倒计时时间

weekly_count_down int64

monthly_count_down int64

@ID=0x9205 响应获取排行榜

消息: ResGetRank

字段类型标签说明
user_info UserInfo repeated

my_info UserInfo

@ID=0x9204 响应获取段位

消息: ResGetTier

字段类型标签说明
tier int32

大段位

sub_tier int32

小段位

stars int32

星星数

is_promoted bool

是否晋级赛

@ID=0x9209 响应签到

消息: ResSignIn

字段类型标签说明
BadgeCount int32

当前徽章数量

SignStatus string repeated

签到状态

@ID=0x9202 响应开始游戏排队

消息: ResStartGame

无参数

@ID=0x0202 开始游戏排队

消息: StartGame

字段类型标签说明
config_id int64

kalaro配置中的id

UserInfo

消息: UserInfo

字段类型标签说明
playerID int32

用户ID

username string

用户名

Icon string

头像

balance int64

金币

wins int64

输钱数

rank int32

排名

login.proto

Top

登录服务

公告

消息: Announcement

字段类型标签说明
title string

标题

content string

内容

@ID=0x0001 登录服务器

消息: Login

字段类型标签说明
uuid string

@inject_tag: validate:"required" label:"uuid"`

proto_version string

proto版本

client_version string

客户端版本

login_type LoginType

登录方式

sign string

签名

sys_id SystemType

系统类型

account string

调用kalaro的 login接口返回数据 暂时客户端提供 用户账户

userToken string

用户令牌

sessionToken string

会话令牌

@ID=0x9001 响应登录服务器

消息: ResLogin

字段类型标签说明
playerID uint32

玩家id

languageID int32

语言ID

name string

名称

Icon string

头像

balance int64

余额

four_rate float

4人模式胜率

sixteen_rate float

16人模式胜率

two_rate float

1v1模式胜率

tier int32

大段位

sub_tier int32

小段位

stars int32

星星数

is_promote bool

是否晋级赛

winDays int32

总首胜天数

betDays int32

总下注天数

roles int32 repeated

角色

week_roleId int32

周排名角色ID

role_id int32

当前角色ID

diamond int32

钻石数量

audit bool

审核标志

ad_switch bool

广告开关

channel string

分包渠道

is_auth bool

是否认证成功

store string

缓存数据

@ID=0x9004 响应验证身份

消息: ResVerifyIdentity

字段类型标签说明
success bool

@ID=0x0004 验证身份

消息: VerifyIdentity

字段类型标签说明
playerID uint32

LoginType

枚举: LoginType

名称枚举值说明
deviceUUID 0

firebase 1

SystemType

枚举: SystemType

名称枚举值说明
android 0

ios 1

windows 2

other 3

player.proto

Top

玩家服务

@ID=0x0104 查询离线收益

消息: GetOfflineIncome

无参数

@ID=0x0110 获取通用缓存

消息: GetStore

无参数

@ID=0x0112 获取胜率

消息: GetWinRate

无参数

@ID=0x9110 获取通用缓存

消息: ResGetStore

字段类型标签说明
store string

缓存内容

@ID=0x9112 响应获取胜率

消息: ResGetWinRate

字段类型标签说明
four_rate float

4人模式胜率

sixteen_rate float

16人模式胜率

two_rate float

1v1模式胜率

@ID=0x9101 响应设置语言

消息: ResSetLanguage

字段类型标签说明
languageID int32

语言ID

@ID=0x9102 响应设置名称

消息: ResSetName

字段类型标签说明
name string

@ID=0x9111 响应设置通用缓存

消息: ResSetStore

无参数

@ID=0x0101 设置语言

消息: SetLanguage

字段类型标签说明
languageID int32

语言ID

@ID=0x0102 设置名称

消息: SetName

字段类型标签说明
name string

@inject_tag: validate:"required" label:"名称"`

@ID=0x0111 设置通用缓存

消息: SetStore

字段类型标签说明
store string

缓存内容

public.proto

Top

公共服务

@ID=0x0005 adjust上传event

消息: Adjust

字段类型标签说明
event_token string

事件识别码

query string

参数query文本(需要url Encode)

@ID=0x90FD 错误

消息: Error

字段类型标签说明
code ErrCode

msg string

@ID=0x0003 获取时间戳

消息: GetTime

无参数

@ID=0x00FF 心跳

消息: HeartBeat

无参数

@ID=0x90FF 跨天通知

消息: NewDay

无参数

@ID=0x90FB 跨周通知

消息: NewWeek

无参数

@ID=0x90FC 服务通知

消息: Notify

字段类型标签说明
content string

@inject_tag: validate:"required" label:"通知内容"`

@ID=0x9005 响应adjust上传event

消息: ResAdjust

字段类型标签说明
response bytes

响应内容

@ID=0x9002 响应获取时间戳

消息: ResGetTime

字段类型标签说明
timestamp int64

当前时间戳

@ID=0x90FE 服务端调用

消息: RpcOffline

无参数

错误码

枚举: ErrCode

名称枚举值说明
UNKNOWN_ERROR 0

未知错误

PARAM_ERROR 1

参数错误

UN_LOGIN 2

未登陆

CONFIG_ERROR 3

配置出错

CONTAINS_SENSITIVE_WORDS 4

包含敏感词

PLAYER_NOT_EXIST 5

玩家不存在

MULTIPLE_LOGIN 6

重复登录

VERSION_ERROR 7

版本验证失败

BANNED 8

账户被禁用

SIGN_ERROR 9

签名验证失败

LOCKER_ERROR 16

获取锁失败

WECHAT_SESSION_ERROR 26

微信Session获取失败

API_ERROR 27

API调用失败

HALL_GAME_TYPE_ERROR 512

大厅 游戏模式错误

HALL_QUEUING 513

排队中

HALL_UNLIMITED_CHALLENGE_NOT_OPEN 514

无限挑战未开放

HALL_UNLIMITED_CHALLENGE_ABOUT_TO_END 515

无限挑战即将结束

HALL_ALREADY_IN_THE_ROOM 516

玩家已经在房间

HALL_ACTIVITY_NOT_START_OR_END 517

活动未开始或已结束

HALL_ALREADY_SIGNED 518

今天已经签过到了

ROOM_NOTFOUND 769

房间 未加入房间

ROOM_TARGET_IS_FINISHED 770

已打完

ROOM_STRIKE_TIME_ERROR 771

打击间隔验证失败

ROOM_SKILL_TIME_ERROR 772

大招时间

ROOM_GAME_IS_FINISHED 773

游戏已经结束

ROLE_ALREADY_UNLOCKED 1025

角色 角色已解锁

ROLE_NOT_UNLOCKED 1026

角色未解锁

ROLE_BALANCE_NOT_ENOUGH 1027

余额不足

SKIN_BUY_ERROR 1281

皮肤 购买皮肤失败

role.proto

Top

角色服务

@ID=0x0401 获取已解锁的角色

消息: GetRoles

无参数

@ID=0x9401 获取已解锁的角色

消息: ResGetRoles

字段类型标签说明
roles int32 repeated

角色id列表

current_role_id int32

当前角色id

@ID=0x9403 响应设置角色

消息: ResRoleSet

字段类型标签说明
role_id int32

角色id

@ID=0x9402 响应解锁的角色

消息: ResRoleUnlock

字段类型标签说明
role_id int32

角色id

@ID=0x0403 设置角色

消息: RoleSet

字段类型标签说明
role_id int32

@inject_tag: validate:"gte=0" label:"角色id"`

@ID=0x0402 解锁的角色

消息: RoleUnlock

字段类型标签说明
role_id int32

@inject_tag: validate:"required" label:"角色id"`

room.proto

Top

房间服务

@ID=0x0305 删除上局游戏结果

消息: DeleteLastGameResult

无参数

@ID=0x0304 获取上局游戏结果

消息: GetLastGameResult

无参数

@ID=0x0301 获取房间信息

消息: GetRoomInfo

无参数

@ID=0x0303 获取无限模式信息

消息: GetRoomUnlimitedInfo

无参数

@ID=0x93FF 推送匹配成功

消息: PushRoomMatched

字段类型标签说明
room_info RoomInfo

游戏类型

Success bool

匹配是否成功

msg string

匹配失败原因

@ID=0x93FE 推送结算信息

消息: PushRoomSettle

字段类型标签说明
rank RoomPlayerInfo repeated

玩家结算排名

stage int32

阶段

is_draw bool

平局

service_fee int64

平台抽水

room_id string

房间ID

config_id int64

kalaro配置中的id

@ID=0x93FD 推送游戏开始

消息: PushRoomStart

无参数

PushRoomStrike

消息: PushRoomStrike

字段类型标签说明
player_id uint32

玩家id

bamboo_num int32

剩余竹节数

strike_side BambooType

打击位置

is_obstacle bool

障碍标志

combo int32

连击数

energy float

当前能量

skill_strike_num int32

大招打击数

@ID=0x93FC 推送打击信息

消息: PushRoomStrikeList

字段类型标签说明
strike_list PushRoomStrike repeated

@ID=0x9305 响应删除上局游戏结果

消息: ResDeleteLastGameResult

无参数

@ID=0x9304 响应获取上局游戏结果

消息: ResGetLastGameResult

字段类型标签说明
room_settle PushRoomSettle

@ID=0x9301 响应获取房间信息

消息: ResGetRoomInfo

字段类型标签说明
room_info RoomInfo

房间信息

@ID=0x9303 获取无限模式信息

消息: ResGetRoomUnlimitedInfo

字段类型标签说明
cycle int64

当前期数

time_left int64

当期剩余时间

total int64

当期总代币

my_rank int32

我的排名

my_info RoomPlayerInfo

我的打击信息(剩余竹节数量,有效打击时间)

rank RoomPlayerInfo repeated

排行榜

next_cycle int64

下期id

next_cycle_index int32

下期索引

cycle_index int32

当期索引

bet_num int32

当期总下注人数

@ID=0x9302 响应打击

消息: ResRoomStrike

字段类型标签说明
combo int32

连击数

strike_time int32

打击相对时间(毫秒)

strike_side BambooType

打击位置

bamboo_num int32

剩余竹节数

is_obstacle bool

障碍标志

energy float

当前能量

skill_strike_num int32

大招打击数

pos int32

竹子位置

success bool

验证成功失败

p_point_position BambooType repeated

竹节信息列表

房间信息

消息: RoomInfo

字段类型标签说明
room_id string

房间id

players RoomPlayerInfo repeated

玩家信息

p_point_position BambooType repeated

竹节信息列表

room_token string

房间令牌

winner_id uint32

胜利玩家id

all_players RoomPlayerInfo repeated

争霸赛玩家信息列表

rank uint32 repeated

排名

state int32

阶段

stop_timestamp int64

结束时间

config_id int64

kalaro配置中的id

房间内玩家信息

消息: RoomPlayerInfo

字段类型标签说明
player_id uint32

玩家id

player_name string

玩家名称

Icon string

玩家头像

bamboo_num int32

剩余竹节数量

strike_time int32

有效打击时间

max_combo int32

最大连击数

winLoss int64

输赢值

tier int32

大段位

sub_tier int32

小段位

stars int32

星星数

winDays int32

总首胜天数

betDays int32

总下注天数

role_id int32

玩家角色ID

rating int32

玩家实力分

p_point_position BambooType repeated

竹节信息列表

skill_energy float

大招能量值

skill_strike_num int32

大招剩余个数

last_strike_side BambooType

当前打击位置

tier_reward bool

玩家段位触发激励奖励

badge_num int32

玩家徽章数量

diamond int32

钻石数量

RoomStrike

消息: RoomStrike

字段类型标签说明
room_token string

房间令牌

strike_time int32

打击相对时间

player_id uint32

玩家id

sign string

签名

strike_side BambooType

@inject_tag: validate:"required" label:"打击位置"`

pos int32

竹子位置

@ID=0x0302 打击

消息: RoomStrikeList

字段类型标签说明
strike_list RoomStrike repeated

打击列表

BambooType

枚举: BambooType

名称枚举值说明
NONE 0

无障碍

LEFT 1

左侧障碍

RIGHT 2

右侧障碍

service_logic.proto

Top

请求

消息: Request

字段类型标签说明
playerId uint32

玩家id

msg_type int32

消息类型

msg bytes

负载

session uint32

session id

响应

消息: Response

字段类型标签说明
playerId uint32

玩家id

msg_type int32

消息类型

msg bytes

负载

Logic

Method NameRequest TypeResponse TypeDescription
logic Request Response

类型转换表

.proto 类型备注C++JavaPythonGoC#PHPRuby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)