MahjongSoulAPI/liqi.proto

3999 lines
80 KiB
Protocol Buffer

syntax = "proto3";
package lq;
message NotifyRoomGameStart {
string game_url = 1;
string connect_token = 2;
string game_uuid = 3;
string location = 4;
}
message NotifyMatchGameStart {
string game_url = 1;
string connect_token = 2;
string game_uuid = 3;
uint32 match_mode_id = 4;
string location = 5;
}
message NotifyRoomPlayerReady {
uint32 account_id = 1;
bool ready = 2;
}
message NotifyRoomPlayerDressing {
uint32 account_id = 1;
bool dressing = 2;
}
message NotifyRoomPlayerUpdate {
repeated PlayerBaseView update_list = 1;
repeated uint32 remove_list = 2;
uint32 owner_id = 3;
uint32 robot_count = 4;
}
message NotifyRoomKickOut {
}
message NotifyMatchTimeout {
}
message NotifyFriendStateChange {
uint32 target_id = 1;
AccountActiveState active_state = 2;
}
message NotifyFriendViewChange {
uint32 target_id = 1;
PlayerBaseView base = 2;
}
message NotifyFriendChange {
uint32 account_id = 1;
uint32 type = 2;
Friend friend = 3;
}
message NotifyNewFriendApply {
uint32 account_id = 1;
uint32 apply_time = 2;
uint32 removed_id = 3;
}
message NotifyClientMessage {
PlayerBaseView sender = 1;
uint32 type = 2;
string content = 3;
}
message NotifyAccountUpdate {
AccountUpdate update = 1;
}
message NotifyAnotherLogin {
}
message NotifyAccountLogout {
}
message NotifyAnnouncementUpdate {
repeated Announcement announcements = 1;
repeated uint32 sort = 2;
}
message NotifyNewMail {
Mail mail = 1;
}
message NotifyDeleteMail {
repeated uint32 mail_id_list = 1;
}
message NotifyReviveCoinUpdate {
bool has_gained = 1;
}
message NotifyDailyTaskUpdate {
repeated TaskProgress progresses = 1;
uint32 max_daily_task_count = 2;
uint32 refresh_count = 3;
}
message NotifyActivityTaskUpdate {
repeated TaskProgress progresses = 1;
}
message NotifyActivityPeriodTaskUpdate {
repeated TaskProgress progresses = 1;
}
message NotifyAccountRandomTaskUpdate {
repeated TaskProgress progresses = 1;
}
message NotifyNewComment {
}
message NotifyRollingNotice {
RollingNotice notice = 1;
}
message NotifyGiftSendRefresh {
}
message NotifyShopUpdate {
ShopInfo shop_info = 1;
}
message NotifyVipLevelChange {
uint32 gift_limit = 1;
uint32 friend_max_count = 2;
uint32 zhp_free_refresh_limit = 3;
uint32 zhp_cost_refresh_limit = 4;
float buddy_bonus = 5;
uint32 record_collect_limit = 6;
}
message NotifyServerSetting {
ServerSettings settings = 1;
}
message NotifyPayResult {
uint32 pay_result = 1;
string order_id = 2;
uint32 goods_id = 3;
uint32 new_month_ticket = 4;
repeated ResourceModify resource_modify = 5;
message ResourceModify {
uint32 id = 1;
uint32 count = 2;
uint32 final = 3;
}
}
message NotifyCustomContestAccountMsg {
uint32 unique_id = 1;
uint32 account_id = 2;
string sender = 3;
string content = 4;
uint32 verified = 5;
}
message NotifyCustomContestSystemMsg {
uint32 unique_id = 1;
uint32 type = 2;
string uuid = 3;
CustomizedContestGameStart game_start = 4;
CustomizedContestGameEnd game_end = 5;
}
message NotifyCustomContestState {
uint32 unique_id = 1;
uint32 state = 2;
}
message NotifyActivityChange {
repeated Activity new_activities = 1;
repeated uint32 end_activities = 2;
}
message NotifyAFKResult {
uint32 type = 1;
uint32 ban_end_time = 2;
string game_uuid = 3;
}
message Error {
uint32 code = 1;
repeated uint32 u32_params = 2;
repeated string str_params = 3;
string json_param = 4;
}
message Wrapper {
string name = 1;
bytes data = 2;
}
message NetworkEndpoint {
string family = 1;
string address = 2;
uint32 port = 3;
}
message ReqCommon {
}
message ResCommon {
Error error = 1;
}
message ResAccountUpdate {
Error error = 1;
AccountUpdate update = 2;
}
message AntiAddiction {
uint32 online_duration = 1;
}
message AccountMahjongStatistic {
repeated uint32 final_position_counts = 1;
RoundSummary recent_round = 2;
HuSummary recent_hu = 3;
HighestHuRecord highest_hu = 4;
Liqi20Summary recent_20_hu_summary = 6;
LiQi10Summary recent_10_hu_summary = 7;
repeated GameResult recent_10_game_result = 8;
message RoundSummary {
uint32 total_count = 1;
uint32 rong_count = 2;
uint32 zimo_count = 3;
uint32 fangchong_count = 4;
}
message HuSummary {
uint32 total_count = 1;
uint32 dora_round_count = 2;
uint32 total_fan = 3;
}
message HighestHuRecord {
uint32 fanshu = 1;
uint32 doranum = 2;
string title = 3;
repeated string hands = 4;
repeated string ming = 5;
string hupai = 6;
uint32 title_id = 7;
}
message Liqi20Summary {
uint32 total_count = 1;
uint32 total_lidora_count = 2;
uint32 average_hu_point = 3;
}
message LiQi10Summary {
uint32 total_xuanshang = 1;
uint32 total_fanshu = 2;
}
message GameResult {
uint32 rank = 1;
int32 final_point = 2;
}
}
message AccountStatisticData {
uint32 mahjong_category = 1;
uint32 game_category = 2;
AccountMahjongStatistic statistic = 3;
}
message AccountLevel {
uint32 id = 1;
uint32 score = 2;
}
message ViewSlot {
uint32 slot = 1;
uint32 item_id = 2;
}
message Account {
uint32 account_id = 1;
string nickname = 2;
uint32 login_time = 3;
uint32 logout_time = 4;
uint32 room_id = 5;
AntiAddiction anti_addiction = 6;
uint32 title = 7;
string signature = 8;
string email = 9;
uint32 email_verify = 10;
uint32 gold = 11;
uint32 diamond = 12;
uint32 avatar_id = 13;
uint32 vip = 14;
int32 birthday = 15;
string phone = 16;
uint32 phone_verify = 17;
repeated PlatformDiamond platform_diamond = 18;
AccountLevel level = 21;
AccountLevel level3 = 22;
uint32 avatar_frame = 23;
uint32 skin_ticket = 24;
repeated PlatformSkinTicket platform_skin_ticket = 25;
uint32 verified = 26;
message PlatformDiamond {
uint32 id = 1;
uint32 count = 2;
}
message PlatformSkinTicket {
uint32 id = 1;
uint32 count = 2;
}
}
message AccountOwnerData {
repeated uint32 unlock_characters = 1;
}
message AccountUpdate {
repeated NumericalUpdate numerical = 1;
CharacterUpdate character = 2;
BagUpdate bag = 3;
AchievementUpdate achievement = 4;
AccountShiLian shilian = 5;
DailyTaskUpdate daily_task = 6;
TitleUpdate title = 7;
repeated uint32 new_recharged_list = 8;
TaskUpdate activity_task = 9;
TaskUpdate activity_flip_task = 10;
TaskUpdate activity_period_task = 11;
TaskUpdate activity_random_task = 12;
message NumericalUpdate {
uint32 id = 1;
uint32 final = 3;
}
message CharacterUpdate {
repeated Character characters = 2;
repeated uint32 skins = 3;
repeated uint32 finished_endings = 4;
repeated uint32 rewarded_endings = 5;
}
message AchievementUpdate {
repeated AchievementProgress progresses = 1;
}
message DailyTaskUpdate {
repeated TaskProgress progresses = 1;
}
message TitleUpdate {
repeated uint32 new_titles = 1;
repeated uint32 remove_titles = 2;
}
message TaskUpdate {
repeated TaskProgress progresses = 1;
}
}
message GameMetaData {
uint32 room_id = 1;
uint32 mode_id = 2;
uint32 contest_uid = 3;
}
message AccountPlayingGame {
string game_uuid = 1;
uint32 category = 2;
GameMetaData meta = 3;
}
message AccountCacheView {
uint32 cache_version = 1;
uint32 account_id = 2;
string nickname = 3;
uint32 login_time = 4;
uint32 logout_time = 5;
bool is_online = 6;
uint32 room_id = 7;
uint32 title = 8;
uint32 avatar_id = 9;
uint32 vip = 10;
AccountLevel level = 11;
AccountPlayingGame playing_game = 12;
AccountLevel level3 = 13;
uint32 avatar_frame = 14;
uint32 verified = 15;
uint32 ban_deadline = 16;
uint32 comment_ban = 17;
}
message PlayerBaseView {
uint32 account_id = 1;
uint32 avatar_id = 2;
uint32 title = 3;
string nickname = 4;
AccountLevel level = 5;
AccountLevel level3 = 6;
uint32 avatar_frame = 7;
uint32 verified = 8;
}
message PlayerGameView {
uint32 account_id = 1;
uint32 avatar_id = 2;
uint32 title = 3;
string nickname = 4;
AccountLevel level = 5;
Character character = 6;
AccountLevel level3 = 7;
uint32 avatar_frame = 8;
uint32 verified = 9;
repeated ViewSlot views = 10;
}
message GameMode {
uint32 mode = 1;
bool ai = 4;
string extendinfo = 5;
GameDetailRule detail_rule = 6;
GameTestingEnvironmentSet testing_environment = 7;
}
message GameTestingEnvironmentSet {
uint32 paixing = 1;
uint32 left_count = 2;
}
message GameDetailRule {
uint32 time_fixed = 1;
uint32 time_add = 2;
uint32 dora_count = 3;
uint32 shiduan = 4;
uint32 init_point = 5;
uint32 fandian = 6;
bool can_jifei = 7;
uint32 tianbian_value = 8;
uint32 liqibang_value = 9;
uint32 changbang_value = 10;
uint32 noting_fafu_1 = 11;
uint32 noting_fafu_2 = 12;
uint32 noting_fafu_3 = 13;
bool have_liujumanguan = 14;
bool have_qieshangmanguan = 15;
bool have_biao_dora = 16;
bool have_gang_biao_dora = 17;
bool ming_dora_immediately_open = 18;
bool have_li_dora = 19;
bool have_gang_li_dora = 20;
bool have_sifenglianda = 21;
bool have_sigangsanle = 22;
bool have_sijializhi = 23;
bool have_jiuzhongjiupai = 24;
bool have_sanjiahele = 25;
bool have_toutiao = 26;
bool have_helelianzhuang = 27;
bool have_helezhongju = 28;
bool have_tingpailianzhuang = 29;
bool have_tingpaizhongju = 30;
bool have_yifa = 31;
bool have_nanruxiru = 32;
uint32 jingsuanyuandian = 33;
int32 shunweima_2 = 34;
int32 shunweima_3 = 35;
int32 shunweima_4 = 36;
bool bianjietishi = 37;
uint32 ai_level = 38;
bool have_zimosun = 39;
bool disable_multi_yukaman = 40;
uint32 fanfu = 41;
uint32 guyi_mode = 42;
uint32 dora3_mode = 43;
uint32 begin_open_mode = 44;
uint32 jiuchao_mode = 45;
uint32 muyu_mode = 46;
uint32 open_hand = 47;
}
message Room {
uint32 room_id = 1;
uint32 owner_id = 2;
GameMode mode = 3;
uint32 max_player_count = 4;
repeated PlayerGameView persons = 5;
repeated uint32 ready_list = 6;
bool is_playing = 7;
bool public_live = 8;
uint32 robot_count = 9;
uint32 tournament_id = 10;
}
message GameEndResult {
repeated PlayerItem players = 1;
message PlayerItem {
uint32 seat = 1;
int32 total_point = 2;
int32 part_point_1 = 3;
int32 part_point_2 = 4;
int32 grading_score = 5;
int32 gold = 6;
}
}
message GameConnectInfo {
string connect_token = 2;
string game_uuid = 3;
string location = 4;
}
message ItemGainRecord {
uint32 item_id = 1;
uint32 count = 2;
}
message ItemGainRecords {
uint32 record_time = 1;
uint32 limit_source_id = 2;
repeated ItemGainRecord records = 3;
}
message Item {
uint32 item_id = 1;
uint32 stack = 2;
}
message Bag {
repeated Item items = 1;
repeated ItemGainRecords daily_gain_record = 2;
}
message BagUpdate {
repeated Item update_items = 1;
repeated ItemGainRecords update_daily_gain_record = 2;
}
message RewardSlot {
uint32 id = 1;
uint32 count = 2;
}
message OpenResult {
RewardSlot reward = 1;
RewardSlot replace = 2;
}
message RewardPlusResult {
uint32 id = 1;
uint32 count = 2;
Exchange exchange = 3;
message Exchange {
uint32 id = 1;
uint32 count = 2;
uint32 exchange = 3;
}
}
message ExecuteReward {
RewardSlot reward = 1;
RewardSlot replace = 2;
uint32 replace_count = 3;
}
message Mail {
uint32 mail_id = 1;
uint32 state = 2;
bool take_attachment = 3;
string title = 4;
string content = 5;
repeated RewardSlot attachments = 6;
uint32 create_time = 7;
uint32 expire_time = 8;
uint32 reference_id = 9;
}
message AchievementProgress {
uint32 id = 1;
uint32 counter = 2;
bool achieved = 3;
uint32 date = 4;
}
message AccountStatisticByGameMode {
uint32 mode = 1;
uint32 game_count_sum = 2;
repeated uint32 game_final_position = 3;
uint32 fly_count = 4;
float gold_earn_sum = 5;
uint32 round_count_sum = 6;
float dadian_sum = 7;
repeated RoundEndData round_end = 8;
uint32 ming_count_sum = 9;
uint32 liqi_count_sum = 10;
uint32 xun_count_sum = 11;
uint32 highest_lianzhuang = 12;
uint32 score_earn_sum = 13;
repeated RankScore rank_score = 14;
message RoundEndData {
uint32 type = 1;
uint32 sum = 2;
}
message RankScore {
uint32 rank = 1;
int32 score_sum = 2;
uint32 count = 3;
}
}
message AccountStatisticByFan {
uint32 fan_id = 1;
uint32 sum = 2;
}
message AccountFanAchieved {
uint32 mahjong_category = 1;
repeated AccountStatisticByFan fan = 2;
uint32 liujumanguan = 3;
}
message AccountDetailStatistic {
repeated AccountStatisticByGameMode game_mode = 1;
repeated AccountStatisticByFan fan = 2;
uint32 liujumanguan = 3;
repeated AccountFanAchieved fan_achieved = 4;
}
message AccountDetailStatisticByCategory {
uint32 category = 1;
AccountDetailStatistic detail_statistic = 2;
}
message AccountDetailStatisticV2 {
AccountDetailStatistic friend_room_statistic = 1;
RankStatistic rank_statistic = 2;
CustomizedContestStatistic customized_contest_statistic = 3;
AccountDetailStatistic leisure_match_statistic = 4;
message RankStatistic {
RankData total_statistic = 1;
RankData month_statistic = 2;
uint32 month_refresh_time = 3;
message RankData {
AccountDetailStatistic all_level_statistic = 1;
repeated RankLevelData level_data_list = 2;
message RankLevelData {
uint32 rank_level = 1;
AccountDetailStatistic statistic = 2;
}
}
}
message CustomizedContestStatistic {
AccountDetailStatistic total_statistic = 1;
AccountDetailStatistic month_statistic = 2;
uint32 month_refresh_time = 3;
}
}
message AccountShiLian {
uint32 step = 1;
uint32 state = 2;
}
message ClientDeviceInfo {
string device_type = 1;
string os = 2;
string os_version = 3;
string browser = 4;
}
enum GamePlayerState {
NULL = 0;
AUTH = 1;
SYNCING = 2;
READY = 3;
}
message Announcement {
uint32 id = 1;
string title = 2;
string content = 3;
}
message TaskProgress {
uint32 id = 1;
uint32 counter = 2;
bool achieved = 3;
bool rewarded = 4;
}
message GameConfig {
uint32 category = 1;
GameMode mode = 2;
GameMetaData meta = 3;
}
message AccountActiveState {
uint32 account_id = 1;
uint32 login_time = 2;
uint32 logout_time = 3;
bool is_online = 4;
AccountPlayingGame playing = 5;
}
message Friend {
PlayerBaseView base = 1;
AccountActiveState state = 2;
}
message GameLiveUnit {
uint32 timestamp = 1;
uint32 action_category = 2;
bytes action_data = 3;
}
message GameLiveSegment {
repeated GameLiveUnit actions = 1;
}
message GameLiveSegmentUri {
uint32 segment_id = 1;
string segment_uri = 2;
}
message GameLiveHead {
string uuid = 1;
uint32 start_time = 2;
GameConfig game_config = 3;
repeated PlayerGameView players = 4;
repeated uint32 seat_list = 5;
}
message GameNewRoundState {
repeated uint32 seat_states = 1;
}
message GameEndAction {
uint32 state = 1;
}
message GameNoopAction {
}
message CommentItem {
uint32 comment_id = 1;
uint32 timestamp = 2;
PlayerBaseView commenter = 3;
string content = 4;
uint32 is_banned = 5;
}
message RollingNotice {
uint32 id = 1;
string content = 2;
uint32 start_time = 3;
uint32 end_time = 4;
uint32 repeat_interval = 5;
}
message BillingGoods {
string id = 1;
string name = 2;
string desc = 3;
string icon = 4;
uint32 resource_id = 5;
uint32 resource_count = 6;
}
message BillShortcut {
uint32 id = 1;
uint32 count = 2;
uint32 deal_price = 3;
}
message BillingProduct {
BillingGoods goods = 1;
string currency_code = 2;
uint32 currency_price = 3;
uint32 sort_weight = 4;
}
message Character {
uint32 charid = 1;
uint32 level = 2;
uint32 exp = 3;
repeated ViewSlot views = 4;
uint32 skin = 5;
bool is_upgraded = 6;
repeated uint32 extra_emoji = 7;
}
message BuyRecord {
uint32 id = 1;
uint32 count = 2;
}
message ZHPShop {
repeated uint32 goods = 1;
repeated BuyRecord buy_records = 2;
RefreshCount free_refresh = 3;
RefreshCount cost_refresh = 4;
message RefreshCount {
uint32 count = 1;
uint32 limit = 2;
}
}
message MonthTicketInfo {
uint32 id = 1;
uint32 end_time = 2;
uint32 last_pay_time = 3;
}
message ShopInfo {
ZHPShop zhp = 1;
repeated BuyRecord buy_records = 2;
uint32 last_refresh_time = 3;
}
message ChangeNicknameRecord {
string from = 1;
string to = 2;
uint32 time = 3;
}
message ServerSettings {
PaymentSetting payment_setting = 3;
}
message PaymentSetting {
uint32 open_payment = 1;
uint32 payment_info_show_type = 2;
string payment_info = 3;
WechatData wechat = 4;
AlipayData alipay = 5;
message WechatData {
bool disable_create = 1;
uint32 payment_source_platform = 2;
bool enable_credit = 3;
}
message AlipayData {
bool disable_create = 1;
uint32 payment_source_platform = 2;
}
}
message AccountSetting {
uint32 key = 1;
uint32 value = 2;
}
message ChestData {
uint32 chest_id = 1;
uint32 total_open_count = 2;
uint32 consume_count = 3;
uint32 face_black_count = 4;
}
message ChestDataV2 {
uint32 chest_id = 1;
uint32 total_open_count = 2;
uint32 face_black_count = 3;
}
message FaithData {
uint32 faith_id = 1;
uint32 total_open_count = 2;
uint32 consume_count = 3;
int32 modify_count = 4;
}
message CustomizedContestBase {
uint32 unique_id = 1;
uint32 contest_id = 2;
string contest_name = 3;
uint32 state = 4;
uint32 creator_id = 5;
uint32 create_time = 6;
uint32 start_time = 7;
uint32 finish_time = 8;
bool open = 9;
uint32 contest_type = 10;
}
message CustomizedContestExtend {
uint32 unique_id = 1;
string public_notice = 2;
}
message CustomizedContestAbstract {
uint32 unique_id = 1;
uint32 contest_id = 2;
string contest_name = 3;
uint32 state = 4;
uint32 creator_id = 5;
uint32 create_time = 6;
uint32 start_time = 7;
uint32 finish_time = 8;
bool open = 9;
string public_notice = 10;
}
message CustomizedContestDetail {
uint32 unique_id = 1;
uint32 contest_id = 2;
string contest_name = 3;
uint32 state = 4;
uint32 creator_id = 5;
uint32 create_time = 6;
uint32 start_time = 7;
uint32 finish_time = 8;
bool open = 9;
uint32 rank_rule = 10;
GameMode game_mode = 11;
string private_notice = 12;
uint32 observer_switch = 13;
}
message CustomizedContestPlayerReport {
uint32 rank_rule = 1;
uint32 rank = 2;
int32 point = 3;
repeated uint32 game_ranks = 4;
uint32 total_game_count = 5;
}
message RecordGame {
string uuid = 1;
uint32 start_time = 2;
uint32 end_time = 3;
GameConfig config = 5;
repeated AccountInfo accounts = 11;
GameEndResult result = 12;
message AccountInfo {
uint32 account_id = 1;
uint32 seat = 2;
string nickname = 3;
uint32 avatar_id = 4;
Character character = 5;
uint32 title = 6;
AccountLevel level = 7;
AccountLevel level3 = 8;
uint32 avatar_frame = 9;
uint32 verified = 10;
repeated ViewSlot views = 11;
}
}
message CustomizedContestGameStart {
repeated Item players = 1;
message Item {
uint32 account_id = 1;
string nickname = 2;
}
}
message CustomizedContestGameEnd {
repeated Item players = 1;
message Item {
uint32 account_id = 1;
string nickname = 2;
int32 total_point = 3;
}
}
message Activity {
uint32 activity_id = 1;
uint32 start_time = 2;
uint32 end_time = 3;
string type = 4;
}
message ExchangeRecord {
uint32 exchange_id = 1;
uint32 count = 2;
}
message ActivityAccumulatedPointData {
uint32 activity_id = 1;
int32 point = 2;
repeated uint32 gained_reward_list = 3;
}
message ActivityRankPointData {
uint32 leaderboard_id = 1;
int32 point = 2;
bool gained_reward = 3;
uint32 gainable_time = 4;
}
message GameRoundHuData {
HuPai hupai = 1;
repeated Fan fans = 2;
uint32 score = 3;
uint32 xun = 4;
uint32 title_id = 5;
uint32 fan_sum = 6;
uint32 fu_sum = 7;
uint32 yakuman_count = 8;
uint32 biao_dora_count = 9;
uint32 red_dora_count = 10;
uint32 li_dora_count = 11;
uint32 babei_count = 12;
uint32 xuan_shang_count = 13;
message HuPai {
string tile = 1;
uint32 seat = 2;
uint32 liqi = 3;
}
message Fan {
uint32 id = 1;
uint32 count = 2;
uint32 fan = 3;
}
}
message GameRoundPlayerResult {
uint32 type = 1;
repeated string hands = 2;
repeated string ming = 3;
uint32 liqi_type = 4;
bool is_fulu = 5;
bool is_liujumanguan = 6;
uint32 lian_zhuang = 7;
GameRoundHuData hu = 8;
}
message GameRoundPlayer {
int32 score = 1;
uint32 rank = 2;
GameRoundPlayerResult result = 3;
}
message GameRoundSnapshot {
uint32 ju = 1;
uint32 ben = 2;
repeated GameRoundPlayer players = 3;
}
message GameFinalSnapshot {
string uuid = 1;
uint32 state = 2;
uint32 category = 3;
GameMode mode = 4;
GameMetaData meta = 5;
CalculateParam calculate_param = 6;
uint32 create_time = 7;
uint32 start_time = 8;
uint32 finish_time = 9;
repeated GameSeat seats = 10;
repeated GameRoundSnapshot rounds = 11;
repeated PlayerGameView account_views = 12;
repeated FinalPlayer final_players = 13;
repeated AFKInfo afk_info = 14;
message CalculateParam {
uint32 init_point = 1;
uint32 jingsuanyuandian = 2;
repeated int32 rank_points = 3;
}
message GameSeat {
uint32 type = 1;
uint32 account_id = 2;
NetworkEndpoint notify_endpoint = 3;
string client_address = 4;
bool is_connected = 5;
}
message FinalPlayer {
uint32 seat = 1;
int32 total_point = 2;
int32 part_point_1 = 3;
int32 part_point_2 = 4;
int32 grading_score = 5;
int32 gold = 6;
}
message AFKInfo {
uint32 deal_tile_count = 1;
uint32 moqie_count = 2;
uint32 seat = 3;
}
}
message RecordCollectedData {
string uuid = 1;
string remarks = 2;
uint32 start_time = 3;
uint32 end_time = 4;
}
message ContestDetailRule {
uint32 init_point = 5;
uint32 fandian = 6;
bool can_jifei = 7;
uint32 tianbian_value = 8;
uint32 liqibang_value = 9;
uint32 changbang_value = 10;
uint32 noting_fafu_1 = 11;
uint32 noting_fafu_2 = 12;
uint32 noting_fafu_3 = 13;
bool have_liujumanguan = 14;
bool have_qieshangmanguan = 15;
bool have_biao_dora = 16;
bool have_gang_biao_dora = 17;
bool ming_dora_immediately_open = 18;
bool have_li_dora = 19;
bool have_gang_li_dora = 20;
bool have_sifenglianda = 21;
bool have_sigangsanle = 22;
bool have_sijializhi = 23;
bool have_jiuzhongjiupai = 24;
bool have_sanjiahele = 25;
bool have_toutiao = 26;
bool have_helelianzhuang = 27;
bool have_helezhongju = 28;
bool have_tingpailianzhuang = 29;
bool have_tingpaizhongju = 30;
bool have_yifa = 31;
bool have_nanruxiru = 32;
uint32 jingsuanyuandian = 33;
int32 shunweima_2 = 34;
int32 shunweima_3 = 35;
int32 shunweima_4 = 36;
bool bianjietishi = 37;
uint32 ai_level = 38;
bool have_zimosun = 39;
bool disable_multi_yukaman = 40;
uint32 guyi_mode = 41;
}
message ContestDetailRuleV2 {
ContestDetailRule game_rule = 1;
ExtraRule extra_rule = 2;
message ExtraRule {
uint32 required_level = 1;
uint32 max_game_count = 2;
}
}
message GameRuleSetting {
uint32 round_type = 1;
bool shiduan = 2;
uint32 dora_count = 3;
uint32 thinking_type = 4;
bool use_detail_rule = 5;
ContestDetailRuleV2 detail_rule_v2 = 6;
}
service Lobby {
rpc fetchConnectionInfo (ReqCommon) returns (ResConnectionInfo);
rpc signup (ReqSignupAccount) returns (ResSignupAccount);
rpc login (ReqLogin) returns (ResLogin);
rpc emailLogin (ReqEmailLogin) returns (ResLogin);
rpc oauth2Auth (ReqOauth2Auth) returns (ResOauth2Auth);
rpc oauth2Check (ReqOauth2Check) returns (ResOauth2Check);
rpc oauth2Signup (ReqOauth2Signup) returns (ResOauth2Signup);
rpc oauth2Login (ReqOauth2Login) returns (ResLogin);
rpc dmmPreLogin (ReqDMMPreLogin) returns (ResDMMPreLogin);
rpc createPhoneVerifyCode (ReqCreatePhoneVerifyCode) returns (ResCommon);
rpc createEmailVerifyCode (ReqCreateEmailVerifyCode) returns (ResCommon);
rpc verfifyCodeForSecure (ReqVerifyCodeForSecure) returns (ResVerfiyCodeForSecure);
rpc bindPhoneNumber (ReqBindPhoneNumber) returns (ResCommon);
rpc unbindPhoneNumber (ReqUnbindPhoneNumber) returns (ResCommon);
rpc fetchPhoneLoginBind (ReqCommon) returns (ResFetchPhoneLoginBind);
rpc createPhoneLoginBind (ReqCreatePhoneLoginBind) returns (ResCommon);
rpc bindEmail (ReqBindEmail) returns (ResCommon);
rpc modifyPassword (ReqModifyPassword) returns (ResCommon);
rpc bindAccount (ReqBindAccount) returns (ResCommon);
rpc logout (ReqLogout) returns (ResLogout);
rpc heatbeat (ReqHeatBeat) returns (ResCommon);
rpc loginBeat (ReqLoginBeat) returns (ResCommon);
rpc createNickname (ReqCreateNickname) returns (ResCommon);
rpc modifyNickname (ReqModifyNickname) returns (ResCommon);
rpc modifyBirthday (ReqModifyBirthday) returns (ResCommon);
rpc fetchRoom (ReqCommon) returns (ResSelfRoom);
rpc createRoom (ReqCreateRoom) returns (ResCreateRoom);
rpc joinRoom (ReqJoinRoom) returns (ResJoinRoom);
rpc leaveRoom (ReqCommon) returns (ResCommon);
rpc readyPlay (ReqRoomReady) returns (ResCommon);
rpc dressingStatus (ReqRoomDressing) returns (ResCommon);
rpc startRoom (ReqRoomStart) returns (ResCommon);
rpc kickPlayer (ReqRoomKick) returns (ResCommon);
rpc modifyRoom (ReqModifyRoom) returns (ResCommon);
rpc matchGame (ReqJoinMatchQueue) returns (ResCommon);
rpc cancelMatch (ReqCancelMatchQueue) returns (ResCommon);
rpc fetchAccountInfo (ReqAccountInfo) returns (ResAccountInfo);
rpc changeAvatar (ReqChangeAvatar) returns (ResCommon);
rpc fetchAccountStatisticInfo (ReqAccountStatisticInfo) returns (ResAccountStatisticInfo);
rpc fetchAccountCharacterInfo (ReqCommon) returns (ResAccountCharacterInfo);
rpc shopPurchase (ReqShopPurchase) returns (ResShopPurchase);
rpc fetchGameRecord (ReqGameRecord) returns (ResGameRecord);
rpc fetchGameRecordList (ReqGameRecordList) returns (ResGameRecordList);
rpc fetchCollectedGameRecordList (ReqCommon) returns (ResCollectedGameRecordList);
rpc fetchGameRecordsDetail (ReqGameRecordsDetail) returns (ResGameRecordsDetail);
rpc addCollectedGameRecord (ReqAddCollectedGameRecord) returns (ResAddCollectedGameRecord);
rpc removeCollectedGameRecord (ReqRemoveCollectedGameRecord) returns (ResRemoveCollectedGameRecord);
rpc changeCollectedGameRecordRemarks (ReqChangeCollectedGameRecordRemarks) returns (ResChangeCollectedGameRecordRemarks);
rpc fetchLevelLeaderboard (ReqLevelLeaderboard) returns (ResLevelLeaderboard);
rpc fetchMultiAccountBrief (ReqMultiAccountId) returns (ResMultiAccountBrief);
rpc fetchFriendList (ReqCommon) returns (ResFriendList);
rpc fetchFriendApplyList (ReqCommon) returns (ResFriendApplyList);
rpc applyFriend (ReqApplyFriend) returns (ResCommon);
rpc handleFriendApply (ReqHandleFriendApply) returns (ResCommon);
rpc removeFriend (ReqRemoveFriend) returns (ResCommon);
rpc searchAccountById (ReqSearchAccountById) returns (ResSearchAccountById);
rpc searchAccountByPattern (ReqSearchAccountByPattern) returns (ResSearchAccountByPattern);
rpc fetchAccountState (ReqAccountList) returns (ResAccountStates);
rpc fetchBagInfo (ReqCommon) returns (ResBagInfo);
rpc useBagItem (ReqUseBagItem) returns (ResCommon);
rpc openManualItem (ReqOpenManualItem) returns (ResCommon);
rpc openRandomRewardItem (ReqOpenRandomRewardItem) returns (ResOpenRandomRewardItem);
rpc composeShard (ReqComposeShard) returns (ResCommon);
rpc fetchAnnouncement (ReqCommon) returns (ResAnnouncement);
rpc readAnnouncement (ReqReadAnnouncement) returns (ResCommon);
rpc fetchMailInfo (ReqCommon) returns (ResMailInfo);
rpc readMail (ReqReadMail) returns (ResCommon);
rpc deleteMail (ReqDeleteMail) returns (ResCommon);
rpc takeAttachmentFromMail (ReqTakeAttachment) returns (ResCommon);
rpc fetchAchievement (ReqCommon) returns (ResAchievement);
rpc buyShiLian (ReqBuyShiLian) returns (ResCommon);
rpc matchShiLian (ReqCommon) returns (ResCommon);
rpc goNextShiLian (ReqCommon) returns (ResCommon);
rpc updateClientValue (ReqUpdateClientValue) returns (ResCommon);
rpc fetchClientValue (ReqCommon) returns (ResClientValue);
rpc clientMessage (ReqClientMessage) returns (ResCommon);
rpc fetchCurrentMatchInfo (ReqCurrentMatchInfo) returns (ResCurrentMatchInfo);
rpc userComplain (ReqUserComplain) returns (ResCommon);
rpc fetchReviveCoinInfo (ReqCommon) returns (ResReviveCoinInfo);
rpc gainReviveCoin (ReqCommon) returns (ResCommon);
rpc fetchDailyTask (ReqCommon) returns (ResDailyTask);
rpc refreshDailyTask (ReqRefreshDailyTask) returns (ResRefreshDailyTask);
rpc useGiftCode (ReqUseGiftCode) returns (ResUseGiftCode);
rpc fetchTitleList (ReqCommon) returns (ResTitleList);
rpc useTitle (ReqUseTitle) returns (ResCommon);
rpc sendClientMessage (ReqSendClientMessage) returns (ResCommon);
rpc fetchGameLiveInfo (ReqGameLiveInfo) returns (ResGameLiveInfo);
rpc fetchGameLiveLeftSegment (ReqGameLiveLeftSegment) returns (ResGameLiveLeftSegment);
rpc fetchGameLiveList (ReqGameLiveList) returns (ResGameLiveList);
rpc fetchCommentSetting (ReqCommon) returns (ResCommentSetting);
rpc updateCommentSetting (ReqUpdateCommentSetting) returns (ResCommon);
rpc fetchCommentList (ReqFetchCommentList) returns (ResFetchCommentList);
rpc fetchCommentContent (ReqFetchCommentContent) returns (ResFetchCommentContent);
rpc leaveComment (ReqLeaveComment) returns (ResCommon);
rpc deleteComment (ReqDeleteComment) returns (ResCommon);
rpc updateReadComment (ReqUpdateReadComment) returns (ResCommon);
rpc fetchRollingNotice (ReqCommon) returns (ReqRollingNotice);
rpc fetchServerTime (ReqCommon) returns (ResServerTime);
rpc fetchPlatformProducts (ReqPlatformBillingProducts) returns (ResPlatformBillingProducts);
rpc cancelGooglePlayOrder (ReqCancelGooglePlayOrder) returns (ResCommon);
rpc openChest (ReqOpenChest) returns (ResOpenChest);
rpc buyFromChestShop (ReqBuyFromChestShop) returns (ResBuyFromChestShop);
rpc fetchDailySignInInfo (ReqCommon) returns (ResDailySignInInfo);
rpc doDailySignIn (ReqCommon) returns (ResCommon);
rpc doActivitySignIn (ReqDoActivitySignIn) returns (ResDoActivitySignIn);
rpc fetchCharacterInfo (ReqCommon) returns (ResCharacterInfo);
rpc changeMainCharacter (ReqChangeMainCharacter) returns (ResCommon);
rpc changeCharacterSkin (ReqChangeCharacterSkin) returns (ResCommon);
rpc changeCharacterView (ReqChangeCharacterView) returns (ResCommon);
rpc sendGiftToCharacter (ReqSendGiftToCharacter) returns (ResSendGiftToCharacter);
rpc sellItem (ReqSellItem) returns (ResCommon);
rpc fetchCommonView (ReqCommon) returns (ResCommonView);
rpc changeCommonView (ReqChangeCommonView) returns (ResCommon);
rpc saveCommonViews (ReqSaveCommonViews) returns (ResCommon);
rpc fetchCommonViews (ReqCommonViews) returns (ResCommonViews);
rpc fetchAllCommonViews (ReqCommon) returns (ResAllcommonViews);
rpc useCommonView (ReqUseCommonView) returns (ResCommon);
rpc upgradeCharacter (ReqUpgradeCharacter) returns (ResUpgradeCharacter);
rpc addFinishedEnding (ReqFinishedEnding) returns (ResCommon);
rpc receiveEndingReward (ReqFinishedEnding) returns (ResCommon);
rpc gameMasterCommand (ReqGMCommand) returns (ResCommon);
rpc fetchShopInfo (ReqCommon) returns (ResShopInfo);
rpc buyFromShop (ReqBuyFromShop) returns (ResBuyFromShop);
rpc buyFromZHP (ReqBuyFromZHP) returns (ResCommon);
rpc refreshZHPShop (ReqReshZHPShop) returns (ResRefreshZHPShop);
rpc fetchMonthTicketInfo (ReqCommon) returns (ResMonthTicketInfo);
rpc payMonthTicket (ReqPayMonthTicket) returns (ResPayMonthTicket);
rpc exchangeCurrency (ReqExchangeCurrency) returns (ResCommon);
rpc exchangeChestStone (ReqExchangeCurrency) returns (ResCommon);
rpc exchangeDiamond (ReqExchangeCurrency) returns (ResCommon);
rpc fetchServerSettings (ReqCommon) returns (ResServerSettings);
rpc fetchAccountSettings (ReqCommon) returns (ResAccountSettings);
rpc updateAccountSettings (ReqUpdateAccountSettings) returns (ResCommon);
rpc fetchModNicknameTime (ReqCommon) returns (ResModNicknameTime);
rpc createWechatNativeOrder (ReqCreateWechatNativeOrder) returns (ResCreateWechatNativeOrder);
rpc createWechatAppOrder (ReqCreateWechatAppOrder) returns (ResCreateWechatAppOrder);
rpc createAlipayOrder (ReqCreateAlipayOrder) returns (ResCreateAlipayOrder);
rpc createAlipayScanOrder (ReqCreateAlipayScanOrder) returns (ResCreateAlipayScanOrder);
rpc createAlipayAppOrder (ReqCreateAlipayAppOrder) returns (ResCreateAlipayAppOrder);
rpc createJPCreditCardOrder (ReqCreateJPCreditCardOrder) returns (ResCreateJPCreditCardOrder);
rpc createJPPaypalOrder (ReqCreateJPPaypalOrder) returns (ResCreateJPPaypalOrder);
rpc createJPAuOrder (ReqCreateJPAuOrder) returns (ResCreateJPAuOrder);
rpc createJPDocomoOrder (ReqCreateJPDocomoOrder) returns (ResCreateJPDocomoOrder);
rpc createJPWebMoneyOrder (ReqCreateJPWebMoneyOrder) returns (ResCreateJPWebMoneyOrder);
rpc createJPSoftbankOrder (ReqCreateJPSoftbankOrder) returns (ResCreateJPSoftbankOrder);
rpc createENPaypalOrder (ReqCreateENPaypalOrder) returns (ResCreateENPaypalOrder);
rpc createENMasterCardOrder (ReqCreateENMasterCardOrder) returns (ResCreateENMasterCardOrder);
rpc createENVisaOrder (ReqCreateENVisaOrder) returns (ResCreateENVisaOrder);
rpc createENJCBOrder (ReqCreateENJCBOrder) returns (ResCreateENJCBOrder);
rpc createENAlipayOrder (ReqCreateENAlipayOrder) returns (ResCreateENAlipayOrder);
rpc createDMMOrder (ReqCreateDMMOrder) returns (ResCreateDmmOrder);
rpc createIAPOrder (ReqCreateIAPOrder) returns (ResCreateIAPOrder);
rpc createMyCardAndroidOrder (ReqCreateMyCardOrder) returns (ResCreateMyCardOrder);
rpc createMyCardWebOrder (ReqCreateMyCardOrder) returns (ResCreateMyCardOrder);
rpc verifyMyCardOrder (ReqVerifyMyCardOrder) returns (ResCommon);
rpc verificationIAPOrder (ReqVerificationIAPOrder) returns (ResVerificationIAPOrder);
rpc createYostarSDKOrder (ReqCreateYostarOrder) returns (ResCreateYostarOrder);
rpc createBillingOrder (ReqCreateBillingOrder) returns (ResCreateBillingOrder);
rpc solveGooglePlayOrder (ReqSolveGooglePlayOrder) returns (ResCommon);
rpc solveGooglePayOrderV3 (ReqSolveGooglePlayOrderV3) returns (ResCommon);
rpc fetchMisc (ReqCommon) returns (ResMisc);
rpc modifySignature (ReqModifySignature) returns (ResCommon);
rpc fetchIDCardInfo (ReqCommon) returns (ResIDCardInfo);
rpc updateIDCardInfo (ReqUpdateIDCardInfo) returns (ResCommon);
rpc fetchVipReward (ReqCommon) returns (ResVipReward);
rpc gainVipReward (ReqGainVipReward) returns (ResCommon);
rpc fetchCustomizedContestList (ReqFetchCustomizedContestList) returns (ResFetchCustomizedContestList);
rpc fetchCustomizedContestExtendInfo (ReqFetchCustomizedContestExtendInfo) returns (ResFetchCustomizedContestExtendInfo);
rpc fetchCustomizedContestAuthInfo (ReqFetchCustomizedContestAuthInfo) returns (ResFetchCustomizedContestAuthInfo);
rpc enterCustomizedContest (ReqEnterCustomizedContest) returns (ResEnterCustomizedContest);
rpc leaveCustomizedContest (ReqCommon) returns (ResCommon);
rpc fetchCustomizedContestOnlineInfo (ReqFetchCustomizedContestOnlineInfo) returns (ResFetchCustomizedContestOnlineInfo);
rpc fetchCustomizedContestByContestId (ReqFetchCustomizedContestByContestId) returns (ResFetchCustomizedContestByContestId);
rpc startCustomizedContest (ReqStartCustomizedContest) returns (ResCommon);
rpc stopCustomizedContest (ReqCommon) returns (ResCommon);
rpc joinCustomizedContestChatRoom (ReqJoinCustomizedContestChatRoom) returns (ResJoinCustomizedContestChatRoom);
rpc leaveCustomizedContestChatRoom (ReqCommon) returns (ResCommon);
rpc sayChatMessage (ReqSayChatMessage) returns (ResCommon);
rpc fetchCustomizedContestGameRecords (ReqFetchCustomizedContestGameRecords) returns (ResFetchCustomizedContestGameRecords);
rpc fetchCustomizedContestGameLiveList (ReqFetchCustomizedContestGameLiveList) returns (ResFetchCustomizedContestGameLiveList);
rpc followCustomizedContest (ReqTargetCustomizedContest) returns (ResCommon);
rpc unfollowCustomizedContest (ReqTargetCustomizedContest) returns (ResCommon);
rpc fetchActivityList (ReqCommon) returns (ResActivityList);
rpc fetchAccountActivityData (ReqCommon) returns (ResAccountActivityData);
rpc exchangeActivityItem (ReqExchangeActivityItem) returns (ResExchangeActivityItem);
rpc completeActivityTask (ReqCompleteActivityTask) returns (ResCommon);
rpc completeActivityFlipTask (ReqCompleteActivityTask) returns (ResCommon);
rpc completePeriodActivityTask (ReqCompleteActivityTask) returns (ResCommon);
rpc completeRandomActivityTask (ReqCompleteActivityTask) returns (ResCommon);
rpc receiveActivityFlipTask (ReqReceiveActivityFlipTask) returns (ResReceiveActivityFlipTask);
rpc fetchActivityFlipInfo (ReqFetchActivityFlipInfo) returns (ResFetchActivityFlipInfo);
rpc gainAccumulatedPointActivityReward (ReqGainAccumulatedPointActivityReward) returns (ResCommon);
rpc fetchRankPointLeaderboard (ReqFetchRankPointLeaderboard) returns (ResFetchRankPointLeaderboard);
rpc gainRankPointReward (ReqGainRankPointReward) returns (ResCommon);
rpc richmanActivityNextMove (ReqRichmanNextMove) returns (ResRichmanNextMove);
rpc richmanAcitivitySpecialMove (ReqRichmanSpecialMove) returns (ResRichmanNextMove);
rpc richmanActivityChestInfo (ReqRichmanChestInfo) returns (ResRichmanChestInfo);
rpc createGameObserveAuth (ReqCreateGameObserveAuth) returns (ResCreateGameObserveAuth);
rpc refreshGameObserveAuth (ReqRefreshGameObserveAuth) returns (ResRefreshGameObserveAuth);
}
message ResConnectionInfo {
Error error = 1;
NetworkEndpoint client_endpoint = 2;
}
message ReqSignupAccount {
string account = 1;
string password = 2;
string code = 3;
uint32 type = 4;
}
message ResSignupAccount {
Error error = 1;
}
message ReqLogin {
string account = 1;
string password = 2;
bool reconnect = 3;
ClientDeviceInfo device = 4;
string random_key = 5;
string client_version = 6;
bool gen_access_token = 7;
repeated uint32 currency_platforms = 8;
uint32 type = 9;
}
message ResLogin {
Error error = 1;
uint32 account_id = 2;
Account account = 3;
GameConnectInfo game_info = 4;
bool has_unread_announcement = 5;
string access_token = 6;
uint32 signup_time = 7;
bool is_id_card_authed = 8;
}
message ReqEmailLogin {
string email = 1;
string password = 2;
bool reconnect = 3;
ClientDeviceInfo device = 4;
string random_key = 5;
string client_version = 6;
bool gen_access_token = 7;
repeated uint32 currency_platforms = 8;
}
message ReqBindAccount {
string account = 1;
string password = 2;
}
message ReqCreatePhoneVerifyCode {
string phone = 1;
uint32 usage = 2;
}
message ReqCreateEmailVerifyCode {
string email = 1;
uint32 usage = 2;
}
message ReqVerifyCodeForSecure {
string code = 1;
uint32 operation = 2;
}
message ResVerfiyCodeForSecure {
Error error = 1;
string secure_token = 2;
}
message ReqBindPhoneNumber {
string code = 1;
string phone = 2;
string password = 3;
bool multi_bind_version = 4;
}
message ReqUnbindPhoneNumber {
string code = 1;
string phone = 2;
string password = 3;
}
message ResFetchPhoneLoginBind {
Error error = 1;
uint32 phone_login = 2;
}
message ReqCreatePhoneLoginBind {
string password = 1;
}
message ReqBindEmail {
string email = 1;
string code = 2;
string password = 3;
}
message ReqModifyPassword {
string new_password = 1;
string old_password = 2;
string secure_token = 3;
}
message ReqOauth2Auth {
uint32 type = 1;
string code = 2;
string uid = 3;
}
message ResOauth2Auth {
Error error = 1;
string access_token = 2;
}
message ReqOauth2Check {
uint32 type = 1;
string access_token = 2;
}
message ResOauth2Check {
Error error = 1;
bool has_account = 2;
}
message ReqOauth2Signup {
uint32 type = 1;
string access_token = 2;
string email = 3;
string advertise_str = 4;
}
message ResOauth2Signup {
Error error = 1;
}
message ReqOauth2Login {
uint32 type = 1;
string access_token = 2;
bool reconnect = 3;
ClientDeviceInfo device = 4;
string random_key = 5;
string client_version = 6;
repeated uint32 currency_platforms = 8;
}
message ReqDMMPreLogin {
string finish_url = 1;
}
message ResDMMPreLogin {
string parameter = 1;
}
message ReqLogout {
}
message ResLogout {
Error error = 1;
}
message ReqHeatBeat {
uint32 no_operation_counter = 1;
}
message ReqLoginBeat {
string contract = 1;
}
message ReqJoinMatchQueue {
uint32 match_mode = 1;
}
message ReqCancelMatchQueue {
uint32 match_mode = 1;
}
message ReqAccountInfo {
uint32 account_id = 1;
}
message ResAccountInfo {
Error error = 1;
Account account = 2;
Room room = 3;
}
message ReqCreateNickname {
string nickname = 1;
string advertise_str = 2;
}
message ReqModifyNickname {
string nickname = 1;
uint32 use_item_id = 2;
}
message ReqModifyBirthday {
int32 birthday = 1;
}
message ResSelfRoom {
Error error = 1;
Room room = 2;
}
message ReqCreateRoom {
uint32 player_count = 1;
GameMode mode = 2;
bool public_live = 3;
}
message ResCreateRoom {
Error error = 1;
Room room = 2;
}
message ReqJoinRoom {
uint32 room_id = 1;
}
message ResJoinRoom {
Error error = 1;
Room room = 2;
}
message ReqRoomReady {
bool ready = 1;
}
message ReqRoomDressing {
bool dressing = 1;
}
message ReqRoomStart {
}
message ReqRoomKick {
uint32 account_id = 1;
}
message ReqModifyRoom {
uint32 robot_count = 1;
}
message ReqChangeAvatar {
uint32 avatar_id = 1;
}
message ReqAccountStatisticInfo {
uint32 account_id = 1;
}
message ResAccountStatisticInfo {
Error error = 1;
repeated AccountStatisticData statistic_data = 2;
AccountDetailStatisticV2 detail_data = 3;
}
message ResAccountCharacterInfo {
repeated uint32 unlock_list = 1;
}
message ReqShopPurchase {
string type = 1;
uint32 id = 2;
}
message ResShopPurchase {
Error error = 1;
AccountUpdate update = 2;
}
message ReqGameRecord {
string game_uuid = 1;
}
message ResGameRecord {
Error error = 1;
RecordGame head = 3;
bytes data = 4;
string data_url = 5;
}
message ReqGameRecordList {
uint32 start = 1;
uint32 count = 2;
uint32 type = 3;
}
message ResGameRecordList {
Error error = 1;
uint32 total_count = 2;
repeated RecordGame record_list = 3;
}
message ResCollectedGameRecordList {
Error error = 1;
repeated RecordCollectedData record_list = 2;
uint32 record_collect_limit = 3;
}
message ReqGameRecordsDetail {
repeated string uuid_list = 1;
}
message ResGameRecordsDetail {
Error error = 1;
repeated RecordGame record_list = 2;
}
message ReqAddCollectedGameRecord {
string uuid = 1;
string remarks = 2;
uint32 start_time = 3;
uint32 end_time = 4;
}
message ResAddCollectedGameRecord {
Error error = 1;
}
message ReqRemoveCollectedGameRecord {
string uuid = 1;
}
message ResRemoveCollectedGameRecord {
Error error = 1;
}
message ReqChangeCollectedGameRecordRemarks {
string uuid = 1;
string remarks = 2;
}
message ResChangeCollectedGameRecordRemarks {
Error error = 1;
}
message ReqLevelLeaderboard {
uint32 type = 1;
}
message ResLevelLeaderboard {
Error error = 1;
repeated Item items = 2;
uint32 self_rank = 3;
message Item {
uint32 account_id = 1;
AccountLevel level = 2;
}
}
message ReqMultiAccountId {
repeated uint32 account_id_list = 1;
}
message ResMultiAccountBrief {
Error error = 1;
repeated PlayerBaseView players = 2;
}
message ResFriendList {
Error error = 1;
repeated Friend friends = 2;
uint32 friend_max_count = 3;
}
message ResFriendApplyList {
Error error = 1;
repeated FriendApply applies = 2;
message FriendApply {
uint32 account_id = 1;
uint32 apply_time = 2;
}
}
message ReqApplyFriend {
uint32 target_id = 1;
}
message ReqHandleFriendApply {
uint32 target_id = 1;
uint32 method = 2;
}
message ReqRemoveFriend {
uint32 target_id = 1;
}
message ReqSearchAccountByPattern {
bool search_next = 1;
string pattern = 2;
}
message ResSearchAccountByPattern {
Error error = 1;
bool is_finished = 2;
repeated uint32 match_accounts = 3;
uint32 decode_id = 4;
}
message ReqAccountList {
repeated uint32 account_id_list = 1;
}
message ResAccountStates {
Error error = 1;
repeated AccountActiveState states = 2;
}
message ReqSearchAccountById {
uint32 account_id = 1;
}
message ResSearchAccountById {
Error error = 1;
PlayerBaseView player = 2;
}
message ResBagInfo {
Error error = 1;
Bag bag = 2;
}
message ReqUseBagItem {
uint32 item_id = 1;
}
message ReqOpenManualItem {
uint32 item_id = 1;
uint32 count = 2;
uint32 select_id = 3;
}
message ReqOpenRandomRewardItem {
uint32 item_id = 1;
}
message ResOpenRandomRewardItem {
Error error = 1;
repeated OpenResult results = 2;
}
message ReqComposeShard {
uint32 item_id = 1;
}
message ResAnnouncement {
Error error = 1;
repeated Announcement announcements = 2;
repeated uint32 sort = 3;
repeated uint32 read_list = 4;
}
message ResMailInfo {
Error error = 1;
repeated Mail mails = 2;
}
message ReqReadMail {
uint32 mail_id = 1;
}
message ReqDeleteMail {
uint32 mail_id = 1;
}
message ReqTakeAttachment {
uint32 mail_id = 1;
}
message ResAchievement {
Error error = 1;
repeated AchievementProgress progresses = 2;
}
message ResTitleList {
Error error = 1;
repeated uint32 title_list = 2;
}
message ReqUseTitle {
uint32 title = 1;
}
message ReqBuyShiLian {
uint32 type = 1;
}
message ReqUpdateClientValue {
uint32 key = 1;
uint32 value = 2;
}
message ResClientValue {
repeated Value datas = 1;
uint32 recharged_count = 2;
message Value {
uint32 key = 1;
uint32 value = 2;
}
}
message ReqClientMessage {
uint32 timestamp = 1;
string message = 2;
}
message ReqCurrentMatchInfo {
repeated uint32 mode_list = 1;
}
message ResCurrentMatchInfo {
Error error = 1;
repeated CurrentMatchInfo matches = 2;
message CurrentMatchInfo {
uint32 mode_id = 1;
uint32 playing_count = 2;
}
}
message ReqUserComplain {
uint32 target_id = 1;
uint32 type = 2;
}
message ReqReadAnnouncement {
uint32 announcement_id = 1;
}
message ResReviveCoinInfo {
Error error = 1;
bool has_gained = 2;
}
message ResDailyTask {
Error error = 1;
repeated TaskProgress progresses = 2;
bool has_refresh_count = 3;
uint32 max_daily_task_count = 4;
uint32 refresh_count = 5;
}
message ReqRefreshDailyTask {
uint32 task_id = 1;
}
message ResRefreshDailyTask {
Error error = 1;
TaskProgress progress = 2;
uint32 refresh_count = 3;
}
message ReqUseGiftCode {
string code = 1;
}
message ResUseGiftCode {
Error error = 1;
repeated RewardSlot rewards = 6;
}
message ReqSendClientMessage {
uint32 target_id = 1;
uint32 type = 2;
string content = 3;
}
message ReqGameLiveInfo {
string game_uuid = 1;
}
message ResGameLiveInfo {
Error error = 1;
uint32 left_start_seconds = 2;
GameLiveHead live_head = 3;
repeated GameLiveSegmentUri segments = 4;
uint32 now_millisecond = 5;
}
message ReqGameLiveLeftSegment {
string game_uuid = 1;
uint32 last_segment_id = 2;
}
message ResGameLiveLeftSegment {
Error error = 1;
uint32 live_state = 2;
repeated GameLiveSegmentUri segments = 4;
uint32 now_millisecond = 5;
uint32 segment_end_millisecond = 6;
}
message ReqGameLiveList {
uint32 filter_id = 1;
}
message ResGameLiveList {
Error error = 1;
repeated GameLiveHead live_list = 2;
}
message ResCommentSetting {
Error error = 1;
uint32 comment_allow = 2;
}
message ReqUpdateCommentSetting {
uint32 comment_allow = 1;
}
message ReqFetchCommentList {
uint32 target_id = 1;
}
message ResFetchCommentList {
Error error = 1;
uint32 comment_allow = 2;
repeated uint32 comment_id_list = 3;
uint32 last_read_id = 4;
}
message ReqFetchCommentContent {
uint32 target_id = 1;
repeated uint32 comment_id_list = 2;
}
message ResFetchCommentContent {
Error error = 1;
repeated CommentItem comments = 2;
}
message ReqLeaveComment {
uint32 target_id = 1;
string content = 2;
}
message ReqDeleteComment {
uint32 target_id = 1;
repeated uint32 delete_list = 2;
}
message ReqUpdateReadComment {
uint32 read_id = 1;
}
message ReqRollingNotice {
RollingNotice notice = 1;
}
message ResServerTime {
uint32 server_time = 1;
}
message ReqPlatformBillingProducts {
uint32 shelves_id = 1;
}
message ResPlatformBillingProducts {
Error error = 1;
repeated BillingProduct products = 2;
}
message ReqCreateBillingOrder {
uint32 goods_id = 1;
uint32 payment_platform = 2;
uint32 client_type = 3;
uint32 account_id = 4;
}
message ResCreateBillingOrder {
Error error = 1;
string order_id = 2;
}
message ReqSolveGooglePlayOrder {
string inapp_purchase_data = 2;
string inapp_data_signature = 3;
}
message ReqSolveGooglePlayOrderV3 {
string order_id = 1;
string transaction_id = 2;
string token = 3;
uint32 account_id = 4;
}
message ReqCancelGooglePlayOrder {
string order_id = 1;
}
message ReqCreateWechatNativeOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
string account_ip = 4;
}
message ResCreateWechatNativeOrder {
Error error = 1;
string qrcode_buffer = 2;
string order_id = 3;
}
message ReqCreateWechatAppOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
string account_ip = 4;
}
message ResCreateWechatAppOrder {
Error error = 1;
CallWechatAppParam call_wechat_app_param = 2;
message CallWechatAppParam {
string appid = 1;
string partnerid = 2;
string prepayid = 3;
string package = 4;
string noncestr = 5;
string timestamp = 6;
string sign = 7;
}
}
message ReqCreateAlipayOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
string alipay_trade_type = 4;
string return_url = 5;
}
message ResCreateAlipayOrder {
Error error = 1;
string alipay_url = 2;
}
message ReqCreateAlipayScanOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
}
message ResCreateAlipayScanOrder {
Error error = 1;
string qrcode_buffer = 2;
string order_id = 3;
string qr_code = 4;
}
message ReqCreateAlipayAppOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
}
message ResCreateAlipayAppOrder {
Error error = 1;
string alipay_url = 2;
}
message ReqCreateJPCreditCardOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
string return_url = 4;
string access_token = 5;
}
message ResCreateJPCreditCardOrder {
Error error = 1;
string order_id = 2;
}
message ReqCreateJPPaypalOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
string return_url = 4;
string access_token = 5;
}
message ResCreateJPPaypalOrder {
Error error = 1;
string order_id = 2;
}
message ReqCreateJPAuOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
string return_url = 4;
string access_token = 5;
}
message ResCreateJPAuOrder {
Error error = 1;
string order_id = 2;
}
message ReqCreateJPDocomoOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
string return_url = 4;
string access_token = 5;
}
message ResCreateJPDocomoOrder {
Error error = 1;
string order_id = 2;
}
message ReqCreateJPWebMoneyOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
string return_url = 4;
string access_token = 5;
}
message ResCreateJPWebMoneyOrder {
Error error = 1;
string order_id = 2;
}
message ReqCreateJPSoftbankOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
string return_url = 4;
string access_token = 5;
}
message ResCreateJPSoftbankOrder {
Error error = 1;
string order_id = 2;
}
message ReqCreateYostarOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
uint32 order_type = 4;
}
message ResCreateYostarOrder {
Error error = 1;
string order_id = 2;
}
message ReqCreateENPaypalOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
string return_url = 4;
string access_token = 5;
}
message ResCreateENPaypalOrder {
Error error = 1;
string order_id = 2;
}
message ReqCreateENJCBOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
string return_url = 4;
string access_token = 5;
}
message ResCreateENJCBOrder {
Error error = 1;
string order_id = 2;
}
message ReqCreateENMasterCardOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
string return_url = 4;
string access_token = 5;
}
message ResCreateENMasterCardOrder {
Error error = 1;
string order_id = 2;
}
message ReqCreateENVisaOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
string return_url = 4;
string access_token = 5;
}
message ResCreateENVisaOrder {
Error error = 1;
string order_id = 2;
}
message ReqCreateENAlipayOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
string return_url = 4;
string access_token = 5;
}
message ResCreateENAlipayOrder {
Error error = 1;
string order_id = 2;
}
message ReqCreateDMMOrder {
uint32 goods_id = 1;
uint32 account_id = 2;
uint32 client_type = 3;
}
message ResCreateDmmOrder {
Error error = 1;
string order_id = 2;
string transaction_id = 3;
string dmm_user_id = 4;
string token = 5;
string callback_url = 6;
string request_time = 9;
string dmm_app_id = 10;
}
message ReqCreateIAPOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
string access_token = 4;
}
message ResCreateIAPOrder {
Error error = 1;
string order_id = 2;
}
message ReqVerificationIAPOrder {
string order_id = 1;
string transaction_id = 2;
string receipt_data = 3;
uint32 account_id = 4;
}
message ResVerificationIAPOrder {
Error error = 1;
}
message ReqCreateMyCardOrder {
uint32 goods_id = 1;
uint32 client_type = 2;
uint32 account_id = 3;
}
message ResCreateMyCardOrder {
Error error = 1;
string auth_code = 2;
string order_id = 3;
}
message ReqVerifyMyCardOrder {
string order_id = 1;
uint32 account_id = 2;
}
message ReqOpenChest {
uint32 chest_id = 1;
uint32 count = 2;
bool use_ticket = 3;
}
message ResOpenChest {
Error error = 1;
repeated OpenResult results = 2;
uint32 total_open_count = 3;
uint32 faith_count = 4;
}
message ReqBuyFromChestShop {
uint32 goods_id = 1;
uint32 count = 2;
}
message ResBuyFromChestShop {
Error error = 1;
uint32 chest_id = 2;
uint32 consume_count = 3;
uint32 faith_count = 4;
}
message ResDailySignInInfo {
Error error = 1;
uint32 sign_in_days = 2;
}
message ReqDoActivitySignIn {
uint32 activity_id = 2;
}
message ResDoActivitySignIn {
Error error = 1;
repeated RewardData rewards = 2;
uint32 sign_in_count = 3;
message RewardData {
uint32 resource_id = 1;
uint32 count = 2;
}
}
message ResCharacterInfo {
Error error = 1;
repeated Character characters = 2;
repeated uint32 skins = 3;
uint32 main_character_id = 4;
uint32 send_gift_count = 5;
uint32 send_gift_limit = 6;
repeated uint32 finished_endings = 7;
repeated uint32 rewarded_endings = 8;
}
message ReqChangeMainCharacter {
uint32 character_id = 1;
}
message ReqChangeCharacterSkin {
uint32 character_id = 1;
uint32 skin = 2;
}
message ReqChangeCharacterView {
uint32 character_id = 1;
uint32 slot = 2;
uint32 item_id = 3;
}
message ReqSendGiftToCharacter {
uint32 character_id = 1;
repeated Gift gifts = 2;
message Gift {
uint32 item_id = 1;
uint32 count = 2;
}
}
message ResSendGiftToCharacter {
Error error = 1;
uint32 level = 2;
uint32 exp = 3;
}
message ReqSellItem {
repeated Item sells = 1;
message Item {
uint32 item_id = 1;
uint32 count = 2;
}
}
message ResCommonView {
Error error = 1;
repeated Slot slots = 2;
message Slot {
uint32 slot = 1;
uint32 value = 2;
}
}
message ReqChangeCommonView {
uint32 slot = 1;
uint32 value = 2;
}
message ReqSaveCommonViews {
repeated ViewSlot views = 1;
uint32 save_index = 2;
uint32 is_use = 3;
}
message ReqCommonViews {
uint32 index = 1;
}
message ResCommonViews {
repeated ViewSlot views = 1;
}
message ResAllcommonViews {
repeated Views views = 1;
uint32 use = 2;
Error error = 3;
message Views {
repeated ViewSlot values = 1;
uint32 index = 2;
}
}
message ReqUseCommonView {
uint32 index = 3;
}
message ReqUpgradeCharacter {
uint32 character_id = 1;
}
message ResUpgradeCharacter {
Error error = 1;
Character character = 2;
}
message ReqFinishedEnding {
uint32 character_id = 1;
uint32 story_id = 2;
uint32 ending_id = 3;
}
message ReqGMCommand {
string command = 1;
}
message ResShopInfo {
Error error = 1;
ShopInfo shop_info = 2;
}
message ReqBuyFromShop {
uint32 goods_id = 1;
uint32 count = 2;
repeated BillShortcut bill_short_cut = 3;
uint32 deal_price = 4;
}
message ResBuyFromShop {
Error error = 1;
repeated RewardSlot rewards = 2;
}
message ReqBuyFromZHP {
uint32 goods_id = 1;
uint32 count = 2;
}
message ReqPayMonthTicket {
uint32 ticket_id = 1;
}
message ResPayMonthTicket {
Error error = 1;
uint32 resource_id = 2;
uint32 resource_count = 3;
}
message ReqReshZHPShop {
uint32 free_refresh = 1;
uint32 cost_refresh = 2;
}
message ResRefreshZHPShop {
Error error = 1;
ZHPShop zhp = 2;
}
message ResMonthTicketInfo {
repeated MonthTicketInfo month_ticket_info = 1;
}
message ReqExchangeCurrency {
uint32 id = 1;
uint32 count = 2;
}
message ResServerSettings {
ServerSettings settings = 1;
}
message ResAccountSettings {
Error error = 1;
repeated AccountSetting settings = 2;
}
message ReqUpdateAccountSettings {
AccountSetting setting = 1;
}
message ResModNicknameTime {
uint32 last_mod_time = 1;
}
message ResMisc {
Error error = 1;
repeated uint32 recharged_list = 2;
repeated MiscFaithData faiths = 3;
message MiscFaithData {
uint32 faith_id = 1;
uint32 count = 2;
}
}
message ReqModifySignature {
string signature = 1;
}
message ResIDCardInfo {
Error error = 1;
bool is_authed = 2;
string country = 3;
}
message ReqUpdateIDCardInfo {
string fullname = 1;
string card_no = 2;
}
message ResVipReward {
Error error = 1;
repeated uint32 gained_vip_levels = 2;
}
message ReqGainVipReward {
uint32 vip_level = 1;
}
message ReqFetchCustomizedContestList {
uint32 start = 1;
uint32 count = 2;
}
message ResFetchCustomizedContestList {
Error error = 1;
repeated CustomizedContestBase contests = 2;
repeated CustomizedContestBase follow_contests = 3;
}
message ReqFetchCustomizedContestExtendInfo {
repeated uint32 uid_list = 1;
}
message ResFetchCustomizedContestExtendInfo {
Error error = 1;
repeated CustomizedContestExtend extend_list = 2;
}
message ReqFetchCustomizedContestAuthInfo {
uint32 unique_id = 1;
}
message ResFetchCustomizedContestAuthInfo {
Error error = 1;
uint32 observer_level = 2;
}
message ReqEnterCustomizedContest {
uint32 unique_id = 1;
}
message ResEnterCustomizedContest {
Error error = 1;
CustomizedContestDetail detail_info = 2;
CustomizedContestPlayerReport player_report = 3;
bool is_followed = 4;
}
message ReqFetchCustomizedContestOnlineInfo {
uint32 unique_id = 1;
}
message ResFetchCustomizedContestOnlineInfo {
Error error = 1;
uint32 online_player = 2;
}
message ReqFetchCustomizedContestByContestId {
uint32 contest_id = 1;
}
message ResFetchCustomizedContestByContestId {
Error error = 1;
CustomizedContestAbstract contest_info = 2;
}
message ReqStartCustomizedContest {
uint32 unique_id = 1;
}
message ReqJoinCustomizedContestChatRoom {
uint32 unique_id = 1;
}
message ResJoinCustomizedContestChatRoom {
Error error = 1;
repeated bytes chat_history = 2;
}
message ReqSayChatMessage {
string content = 1;
}
message ReqFetchCustomizedContestGameLiveList {
uint32 unique_id = 1;
}
message ResFetchCustomizedContestGameLiveList {
Error error = 1;
repeated GameLiveHead live_list = 2;
}
message ReqFetchCustomizedContestGameRecords {
uint32 unique_id = 1;
uint32 last_index = 2;
}
message ResFetchCustomizedContestGameRecords {
Error error = 1;
uint32 next_index = 2;
repeated RecordGame record_list = 3;
}
message ReqTargetCustomizedContest {
uint32 unique_id = 1;
}
message ResActivityList {
Error error = 1;
repeated Activity activities = 2;
}
message ResAccountActivityData {
Error error = 1;
repeated ExchangeRecord exchange_records = 2;
repeated TaskProgress task_progress_list = 3;
repeated ActivityAccumulatedPointData accumulated_point_list = 4;
repeated ActivityRankPointData rank_data_list = 5;
repeated TaskProgress flip_task_progress_list = 6;
repeated ActivitySignInData sign_in_data = 7;
repeated ActivityRichmanData richman_data = 8;
repeated TaskProgress period_task_progress_list = 9;
repeated TaskProgress random_task_progress_list = 10;
message ActivitySignInData {
uint32 activity_id = 1;
uint32 sign_in_count = 2;
uint32 last_sign_in_time = 3;
}
message BuffData {
uint32 type = 1;
uint32 remain = 2;
uint32 effect = 3;
}
message ActivityRichmanData {
uint32 activity_id = 1;
uint32 location = 2;
uint32 finished_count = 3;
uint32 chest_position = 4;
uint32 bank_save = 5;
uint32 exp = 6;
repeated BuffData buff = 7;
}
}
message ReqExchangeActivityItem {
uint32 exchange_id = 1;
}
message ResExchangeActivityItem {
Error error = 1;
repeated ExecuteReward execute_reward = 2;
}
message ReqCompleteActivityTask {
uint32 task_id = 1;
}
message ReqReceiveActivityFlipTask {
uint32 task_id = 1;
}
message ResReceiveActivityFlipTask {
uint32 count = 1;
Error error = 2;
}
message ReqFetchActivityFlipInfo {
uint32 activity_id = 1;
}
message ResFetchActivityFlipInfo {
repeated uint32 rewards = 1;
uint32 count = 2;
Error error = 3;
}
message ReqGainAccumulatedPointActivityReward {
uint32 activity_id = 1;
uint32 reward_id = 2;
}
message ReqFetchRankPointLeaderboard {
uint32 leaderboard_id = 1;
}
message ResFetchRankPointLeaderboard {
Error error = 1;
repeated Item items = 2;
uint32 last_refresh_time = 3;
message Item {
uint32 account_id = 1;
uint32 rank = 2;
PlayerBaseView view = 3;
uint32 point = 4;
}
}
message ReqGainRankPointReward {
uint32 leaderboard_id = 1;
uint32 activity_id = 2;
}
message ReqRichmanNextMove {
uint32 activity_id = 1;
}
message ResRichmanNextMove {
repeated PathData paths = 1;
uint32 dice = 2;
uint32 location = 3;
uint32 finished_count = 4;
uint32 step = 5;
repeated BuffData buff = 6;
uint32 bank_save = 7;
uint32 chest_position = 8;
uint32 exp = 9;
uint32 bank_save_add = 10;
Error error = 11;
message RewardData {
uint32 resource_id = 1;
uint32 count = 2;
uint32 origin_count = 3;
uint32 is_chest = 4;
}
message PathData {
uint32 location = 1;
repeated RewardData rewards = 2;
repeated uint32 events = 3;
}
message BuffData {
uint32 type = 1;
uint32 remain = 2;
uint32 effect = 3;
}
}
message ReqRichmanSpecialMove {
uint32 activity_id = 1;
uint32 step = 2;
}
message ReqRichmanChestInfo {
uint32 activity_id = 1;
}
message ResRichmanChestInfo {
repeated ItemData items = 1;
Error error = 2;
message ItemData {
uint32 id = 1;
uint32 count = 2;
}
}
message ReqCreateGameObserveAuth {
string game_uuid = 1;
}
message ResCreateGameObserveAuth {
Error error = 1;
string token = 2;
string location = 3;
}
message ReqRefreshGameObserveAuth {
string token = 1;
}
message ResRefreshGameObserveAuth {
Error error = 1;
uint32 ttl = 2;
}
message ActionMJStart {
}
message NewRoundOpenedTiles {
uint32 seat = 1;
repeated string tiles = 2;
repeated uint32 count = 3;
}
message MuyuInfo {
uint32 seat = 1;
uint32 count = 2;
uint32 count_max = 3;
uint32 id = 4;
}
message ActionNewRound {
uint32 chang = 1;
uint32 ju = 2;
uint32 ben = 3;
repeated string tiles = 4;
string dora = 5;
repeated int32 scores = 6;
OptionalOperationList operation = 7;
uint32 liqibang = 8;
repeated TingPaiDiscardInfo tingpais0 = 9;
repeated TingPaiInfo tingpais1 = 10;
bool al = 11;
string md5 = 12;
uint32 left_tile_count = 13;
repeated string doras = 14;
repeated NewRoundOpenedTiles opens = 15;
MuyuInfo muyu = 16;
}
message RecordNewRound {
uint32 chang = 1;
uint32 ju = 2;
uint32 ben = 3;
string dora = 4;
repeated int32 scores = 5;
uint32 liqibang = 6;
repeated string tiles0 = 7;
repeated string tiles1 = 8;
repeated string tiles2 = 9;
repeated string tiles3 = 10;
repeated TingPai tingpai = 11;
OptionalOperationList operation = 12;
string md5 = 13;
string paishan = 14;
uint32 left_tile_count = 15;
repeated string doras = 16;
repeated NewRoundOpenedTiles opens = 17;
MuyuInfo muyu = 18;
message TingPai {
uint32 seat = 1;
repeated TingPaiInfo tingpais1 = 2;
}
}
message GameSnapshot {
uint32 chang = 1;
uint32 ju = 2;
uint32 ben = 3;
uint32 index_player = 4;
uint32 left_tile_count = 5;
repeated string hands = 6;
repeated string doras = 7;
uint32 liqibang = 8;
repeated PlayerSnapshot players = 9;
bool zhenting = 10;
message PlayerSnapshot {
int32 score = 1;
int32 liqiposition = 2;
uint32 tilenum = 3;
repeated string qipais = 4;
repeated Fulu mings = 5;
message Fulu {
uint32 type = 1;
repeated string tile = 2;
repeated uint32 from = 3;
}
}
}
message ActionPrototype {
uint32 step = 1;
string name = 2;
bytes data = 3;
}
message GameDetailRecords {
repeated bytes records = 1;
}
message OptionalOperation {
uint32 type = 1;
repeated string combination = 2;
}
message OptionalOperationList {
uint32 seat = 1;
repeated OptionalOperation operation_list = 2;
uint32 time_add = 4;
uint32 time_fixed = 5;
}
message LiQiSuccess {
uint32 seat = 1;
int32 score = 2;
uint32 liqibang = 3;
}
message FanInfo {
string name = 1;
uint32 val = 2;
uint32 id = 3;
}
message HuleInfo {
repeated string hand = 1;
repeated string ming = 2;
string hu_tile = 3;
uint32 seat = 4;
bool zimo = 5;
bool qinjia = 6;
bool liqi = 7;
repeated string doras = 8;
repeated string li_doras = 9;
bool yiman = 10;
uint32 count = 11;
repeated FanInfo fans = 12;
uint32 fu = 13;
string title = 14;
uint32 point_rong = 15;
uint32 point_zimo_qin = 16;
uint32 point_zimo_xian = 17;
uint32 title_id = 18;
uint32 point_sum = 19;
}
message TingPaiInfo {
string tile = 1;
bool haveyi = 2;
bool yiman = 3;
uint32 count = 4;
uint32 fu = 5;
uint32 biao_dora_count = 6;
bool yiman_zimo = 7;
uint32 count_zimo = 8;
uint32 fu_zimo = 9;
}
message TingPaiDiscardInfo {
string tile = 1;
bool zhenting = 2;
repeated TingPaiInfo infos = 3;
}
message GameEnd {
repeated int32 scores = 1;
}
message ActionDiscardTile {
uint32 seat = 1;
string tile = 2;
bool is_liqi = 3;
OptionalOperationList operation = 4;
bool moqie = 5;
bool zhenting = 6;
repeated TingPaiInfo tingpais = 7;
repeated string doras = 8;
bool is_wliqi = 9;
uint32 tile_state = 10;
MuyuInfo muyu = 11;
}
message RecordDiscardTile {
uint32 seat = 1;
string tile = 2;
bool is_liqi = 3;
bool moqie = 5;
repeated bool zhenting = 6;
repeated TingPaiInfo tingpais = 7;
repeated string doras = 8;
bool is_wliqi = 9;
repeated OptionalOperationList operations = 10;
uint32 tile_state = 11;
MuyuInfo muyu = 12;
}
message ActionDealTile {
uint32 seat = 1;
string tile = 2;
uint32 left_tile_count = 3;
OptionalOperationList operation = 4;
LiQiSuccess liqi = 5;
repeated string doras = 6;
bool zhenting = 7;
repeated TingPaiDiscardInfo tingpais = 8;
uint32 tile_state = 9;
MuyuInfo muyu = 10;
}
message RecordDealTile {
uint32 seat = 1;
string tile = 2;
uint32 left_tile_count = 3;
LiQiSuccess liqi = 5;
repeated string doras = 6;
repeated bool zhenting = 7;
OptionalOperationList operation = 8;
uint32 tile_state = 9;
MuyuInfo muyu = 11;
}
message ActionChiPengGang {
uint32 seat = 1;
uint32 type = 2;
repeated string tiles = 3;
repeated uint32 froms = 4;
LiQiSuccess liqi = 5;
OptionalOperationList operation = 6;
bool zhenting = 7;
repeated TingPaiDiscardInfo tingpais = 8;
repeated uint32 tile_states = 9;
MuyuInfo muyu = 10;
}
message RecordChiPengGang {
uint32 seat = 1;
uint32 type = 2;
repeated string tiles = 3;
repeated uint32 froms = 4;
LiQiSuccess liqi = 5;
repeated bool zhenting = 7;
OptionalOperationList operation = 8;
repeated uint32 tile_states = 9;
MuyuInfo muyu = 10;
}
message ActionAnGangAddGang {
uint32 seat = 1;
uint32 type = 2;
string tiles = 3;
OptionalOperationList operation = 4;
repeated string doras = 6;
bool zhenting = 7;
repeated TingPaiInfo tingpais = 8;
MuyuInfo muyu = 9;
}
message RecordAnGangAddGang {
uint32 seat = 1;
uint32 type = 2;
string tiles = 3;
repeated string doras = 6;
repeated OptionalOperationList operations = 7;
MuyuInfo muyu = 8;
}
message ActionBaBei {
uint32 seat = 1;
OptionalOperationList operation = 4;
repeated string doras = 6;
bool zhenting = 7;
repeated TingPaiInfo tingpais = 8;
bool moqie = 9;
uint32 tile_state = 10;
MuyuInfo muyu = 11;
}
message RecordBaBei {
uint32 seat = 1;
repeated string doras = 6;
repeated OptionalOperationList operations = 7;
bool moqie = 8;
uint32 tile_state = 10;
MuyuInfo muyu = 11;
}
message ActionHule {
repeated HuleInfo hules = 1;
repeated int32 old_scores = 2;
repeated int32 delta_scores = 3;
uint32 wait_timeout = 4;
repeated int32 scores = 5;
GameEnd gameend = 6;
repeated string doras = 7;
MuyuInfo muyu = 8;
}
message RecordHule {
repeated HuleInfo hules = 1;
repeated int32 old_scores = 2;
repeated int32 delta_scores = 3;
uint32 wait_timeout = 4;
repeated int32 scores = 5;
GameEnd gameend = 6;
repeated string doras = 7;
MuyuInfo muyu = 8;
}
message ActionLiuJu {
uint32 type = 1;
GameEnd gameend = 2;
uint32 seat = 3;
repeated string tiles = 4;
LiQiSuccess liqi = 5;
repeated string allplayertiles = 6;
MuyuInfo muyu = 7;
}
message RecordLiuJu {
uint32 type = 1;
GameEnd gameend = 2;
uint32 seat = 3;
repeated string tiles = 4;
LiQiSuccess liqi = 5;
repeated string allplayertiles = 6;
MuyuInfo muyu = 7;
}
message NoTilePlayerInfo {
bool tingpai = 3;
repeated string hand = 4;
repeated TingPaiInfo tings = 5;
}
message NoTileScoreInfo {
uint32 seat = 1;
repeated int32 old_scores = 2;
repeated int32 delta_scores = 3;
repeated string hand = 4;
repeated string ming = 5;
repeated string doras = 6;
uint32 score = 7;
}
message ActionNoTile {
bool liujumanguan = 1;
repeated NoTilePlayerInfo players = 2;
repeated NoTileScoreInfo scores = 3;
bool gameend = 4;
MuyuInfo muyu = 5;
}
message RecordNoTile {
bool liujumanguan = 1;
repeated NoTilePlayerInfo players = 2;
repeated NoTileScoreInfo scores = 3;
bool gameend = 4;
MuyuInfo muyu = 5;
}
message PlayerLeaving {
uint32 seat = 1;
}
service FastTest {
rpc authGame (ReqAuthGame) returns (ResAuthGame);
rpc enterGame (ReqCommon) returns (ResEnterGame);
rpc syncGame (ReqSyncGame) returns (ResSyncGame);
rpc finishSyncGame (ReqCommon) returns (ResCommon);
rpc terminateGame (ReqCommon) returns (ResCommon);
rpc inputOperation (ReqSelfOperation) returns (ResCommon);
rpc inputChiPengGang (ReqChiPengGang) returns (ResCommon);
rpc confirmNewRound (ReqCommon) returns (ResCommon);
rpc broadcastInGame (ReqBroadcastInGame) returns (ResCommon);
rpc inputGameGMCommand (ReqGMCommandInGaming) returns (ResCommon);
rpc fetchGamePlayerState (ReqCommon) returns (ResGamePlayerState);
rpc checkNetworkDelay (ReqCommon) returns (ResCommon);
rpc clearLeaving (ReqCommon) returns (ResCommon);
rpc voteGameEnd (ReqVoteGameEnd) returns (ResGameEndVote);
rpc authObserve (ReqAuthObserve) returns (ResCommon);
rpc startObserve (ReqCommon) returns (ResStartObserve);
rpc stopObserve (ReqCommon) returns (ResCommon);
}
message ReqAuthGame {
uint32 account_id = 1;
string token = 2;
string game_uuid = 3;
}
message ResAuthGame {
Error error = 1;
repeated PlayerGameView players = 2;
repeated uint32 seat_list = 3;
bool is_game_start = 4;
GameConfig game_config = 5;
repeated uint32 ready_id_list = 6;
}
message GameRestore {
GameSnapshot snapshot = 1;
repeated ActionPrototype actions = 2;
uint32 passed_waiting_time = 3;
uint32 game_state = 4;
uint32 start_time = 5;
uint32 last_pause_time_ms = 6;
}
message ResEnterGame {
Error error = 1;
bool is_end = 2;
uint32 step = 3;
GameRestore game_restore = 4;
}
message ReqSyncGame {
string round_id = 1;
uint32 step = 2;
}
message ResSyncGame {
Error error = 1;
bool is_end = 2;
uint32 step = 3;
GameRestore game_restore = 4;
}
message ReqSelfOperation {
uint32 type = 1;
uint32 index = 2;
string tile = 3;
bool cancel_operation = 4;
bool moqie = 5;
uint32 timeuse = 6;
int32 tile_state = 7;
}
message ReqChiPengGang {
uint32 type = 1;
uint32 index = 2;
bool cancel_operation = 3;
uint32 timeuse = 6;
}
message ReqBroadcastInGame {
string content = 1;
bool except_self = 2;
}
message ReqGMCommandInGaming {
string json_data = 1;
}
message ResGamePlayerState {
Error error = 1;
repeated GamePlayerState state_list = 2;
}
message ReqVoteGameEnd {
bool yes = 1;
}
message ResGameEndVote {
bool success = 1;
uint32 vote_cd_end_time = 2;
Error error = 3;
}
message ReqAuthObserve {
string token = 1;
}
message ResStartObserve {
GameLiveHead head = 1;
GameLiveSegment passed = 2;
}
message NotifyNewGame {
string game_uuid = 1;
repeated string player_list = 2;
}
message NotifyPlayerLoadGameReady {
repeated uint32 ready_id_list = 1;
}
message NotifyGameBroadcast {
uint32 seat = 1;
string content = 2;
}
message NotifyGameEndResult {
GameEndResult result = 1;
}
message NotifyGameTerminate {
string reason = 1;
}
message NotifyPlayerConnectionState {
uint32 seat = 1;
GamePlayerState state = 2;
}
message NotifyAccountLevelChange {
AccountLevel origin = 1;
AccountLevel final = 2;
uint32 type = 3;
}
message NotifyGameFinishReward {
uint32 mode_id = 1;
LevelChange level_change = 2;
MatchChest match_chest = 3;
MainCharacter main_character = 4;
CharacterGift character_gift = 5;
message LevelChange {
AccountLevel origin = 1;
AccountLevel final = 2;
uint32 type = 3;
}
message MatchChest {
uint32 chest_id = 1;
uint32 origin = 2;
uint32 final = 3;
bool is_graded = 4;
repeated RewardSlot rewards = 5;
}
message MainCharacter {
uint32 level = 1;
uint32 exp = 2;
uint32 add = 3;
}
message CharacterGift {
uint32 origin = 1;
uint32 final = 2;
uint32 add = 3;
bool is_graded = 4;
}
}
message NotifyActivityReward {
repeated ActivityReward activity_reward = 1;
message ActivityReward {
uint32 activity_id = 1;
repeated RewardSlot rewards = 2;
}
}
message NotifyActivityPoint {
repeated ActivityPoint activity_points = 1;
message ActivityPoint {
uint32 activity_id = 1;
uint32 point = 2;
}
}
message NotifyLeaderboardPoint {
repeated LeaderboardPoint leaderboard_points = 1;
message LeaderboardPoint {
uint32 leaderboard_id = 1;
uint32 point = 2;
}
}
message NotifyGamePause {
bool paused = 1;
}
message NotifyEndGameVote {
repeated VoteResult results = 1;
uint32 start_time = 2;
uint32 duration_time = 3;
message VoteResult {
uint32 account_id = 1;
bool yes = 2;
}
}
message NotifyObserveData {
GameLiveUnit unit = 1;
}