pb.proto 22.9 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017
syntax = "proto3";

package pb;

//message header definition
//uint16 		| uint16 | int32  | int32   | int32   |  package_len - 16 |
//package_len   | msgid  | seq    | playerid | roomid | payload           |

//package_len : 一个消息包的长度
//msgid: 消息的id
//seq:  请求消息的编号(同一个tcp链接建立之后,消息id从0开始,每次发送一个请求编号+1)
//playerid: 玩家的uid
//roomid: 房间号的uid
//payload:  消息内容(protobuf打包序列化之后的二进制内容放到这里)


//消息id枚举定义

enum MSGID {
	MsgID_Min = 0;
	//server inner proto msgid
	MsgID_ConnClose_Notice = 10;

	//server inner proto end
	MsgID_Logon_Request = 10000;
	MsgID_Logon_Response = 10001;
	
	MsgID_CreateClub_Request = 30010;
	MsgID_CreateClub_Response = 30011;
	MsgID_ClubSnapshotList_Request = 30012;
	MsgID_ClubSnapshotList_Response = 30013;
	MsgID_ClubSnapshotList_Notice = 30014;

	MsgID_JoinClub_Request = 30015;//玩家申请加入俱乐部(clientnotadmin->world)
	MsgID_JoinClub_Notice_To_Member = 30016;//请求批准俱乐部(反馈)
	MsgID_JoinClub_Notice = 30017; //world--> 管理员或创建者
	MsgID_JoinClub_Reply = 30018; //管理员或创建者户端-->world 请求批准/拒绝
	MsgID_JoinClub_Response_To_Member = 30019;//请求批准俱乐部(反馈)
	MsgID_JoinClub_Response_To_Admin = 30020;//请求批准俱乐部(反馈给管理员)

	MsgID_LeaveClub_Request = 30021;
	MsgID_LeaveClub_Response = 30022;
	
	MsgID_ClubCurrentBoard_Request = 30023;
	MsgID_ClubCurrentBoard_Response = 30024;
	MsgID_ClubCurrentBoard_Notice = 30025;
	
	MsgID_ClubMemberSnapshotList_Request = 30026;
	MsgID_ClubMemberSnapshotList_Response = 30027;
	MsgID_ClubMemberSnapshotList_Notice = 30028;
	
	MsgID_ModifyClubMember_Request = 30029;
	MsgID_ModifyClubMember_Response = 30030;
	MsgID_ModifyClubMember_Notice = 30031;
	
	MsgID_ModifyClubInfo_Request = 30032;
	MsgID_ModifyClubInfo_Response = 30033;
	
	MsgID_GrantClubFund_Request = 30036;
	MsgID_GrantClubFund_Response = 30037;
	
	MsgID_SearchClubInfo_Request = 30038;
	MsgID_SearchClubInfo_Response = 30039;
	MsgID_SearchClubInfo_Notice = 30040;
	
	MsgID_ClubCreaterInfo_Request = 30041;
	MsgID_ClubCreaterInfo_Response = 30042;
	MsgID_ClubCreaterInfo_Notice = 30043;
	
	MsgID_SendMsg_Request = 30047;
	MsgID_SendMsg_Response = 30048;
	MsgID_SendMsg_Notice = 30049;
	
	MsgID_GetUserData_Request = 30050;
	MsgID_GetUserData_Response = 30051;
	MsgID_GetUserData_Notice = 30052;
	
	MsgID_HeartBeat_Request = 30053;
	MsgID_HeartBeat_Response = 30054;
	
	

	MsgID_GetJackpotData_Request = 30055;//请求彩池基础信息
	MsgID_GetJackpotData_Response = 30056;
	MsgID_GetJackpotData_Notice = 30057;
	
	MsgID_JackpotSetting_Request = 30058;//请求当前俱乐部彩池设置信息
	MsgID_JackpotSetting_Response = 30059;
	MsgID_JackpotSetting_Notice = 30060;
	
	MsgID_SetJackpot_Request = 30061;//请求设置彩池信息
	MsgID_SetJackpot_Response = 30062;
	MsgID_SetJackpot_Notice = 30063;
	
	MsgID_RecoverJackpotSetting_Request = 30064;//恢复默认设置
	MsgID_RecoverJackpotSetting_Response = 30065;
	
	MsgID_JackpotAmout_Notice = 30066;//广播推送奖池金额
	
	MsgID_CurrentRoomJackpot_Request = 30067;//请求当前俱乐部牌局盲注级别奖池信息
	MsgID_CurrentRoomJackpot_Response = 30068;
	MsgID_CurrentRoomJackpot_Notice = 30069;
	
	MsgID_JackpotAwardRecord_Request = 30070;//当前俱乐部奖池获奖历史记录
	MsgID_JackpotAwardRecord_Response = 30071;
	MsgID_JackpotAwardRecord_Notice = 30072;
	
	MsgID_JackpotInjectAmount_Request = 30073;//俱乐部管理员向jackpot注入金额
	MsgID_JackpotInjectAmount_Response = 30074;
	MsgID_JackpotInjectAmount_Notice = 30075;
	
	MsgID_JackPotAwardInfo_Notice = 30079; //推送击中牌形消息
	
	MsgID_CreateAlliance_Request = 30080;
	MsgID_CreateAlliance_Response = 30081;
	
	MsgID_LeaveAlliance_Request = 30082;
	MsgID_LeaveAlliance_Response = 30083;
	
	MsgID_SearchAlliance_Request = 30084;
	MsgID_SearchAlliance_Response = 30085;
	MsgID_SearchAlliance_Notice = 30086;
	
	MsgID_KickoffAllianceMember_Request = 30087;
	MsgID_KickoffAllianceMember_Response = 30088;
	MsgID_KickoffAllianceMember_Notice = 30089;
	
	MsgID_AllianceList_Request = 30090;
	MsgID_AllianceList_Response = 30091;
	MsgID_AllianceList_Notice = 30092;
	
	
	MsgID_JoinAlliance_Request = 30093;//俱乐部申请加入联盟(clientnotadmin->world)
	MsgID_JoinAlliance_Notice_To_Member = 30094;//请求批准俱乐部(反馈)
	MsgID_JoinAlliance_Notice_To_Admin = 30095; //--> 管理员或创建者
	MsgID_JoinAllianceReply_To_World = 30096; //管理员或创建者户端-->world 请求批准/拒绝
	MsgID_JoinAlliance_Response_To_Member = 30097;//请求批准俱乐部(反馈)
	MsgID_JoinAlliance_Response_To_Admin = 30098;//请求批准俱乐部(反馈给管理员)

	MsgID_AddRemarks_Request = 30099; //增加备注
	MsgID_AddRemarks_Response = 30100;
	MsgID_AddRemarks_Notice = 30101;

	MsgID_GetAllRemarks_Request = 30102; //获取备注
	MsgID_GetAllRemarks_Response = 30103;
	MsgID_GetAllRemarks_Notice = 30104;
	
	MsgID_LeaveAlliance_Notice  = 30105; //退出联盟通知盟主
	
	MsgID_ClearAllianceMaxBuyinLimit_Request = 30106; //清除联盟买入额度上限
	MsgID_ClearAllianceMaxBuyinLimit_Response = 30107;
	
	MsgID_SetAllianceMaxBuyinLimit_Request = 30108; //设置联盟买入额度上限
	MsgID_SetAllianceMaxBuyinLimit_Response = 30109;
	
	MsgID_SetAllianceControlBuyin_Request = 30110; //设置联盟买入额度控制
	MsgID_SetAllianceControlBuyin_Response = 30111;

	MsgID_FairPlay_Report_Request = 30112; //fairplay report
	MsgID_FairPlay_Report_Response = 30113;

	MsgID_DeviceInfo_Report_Request = 30120; //设备信息上报接口
	MsgID_DeviceInfo_Report_Response = 30121;

	MsgID_ClubGrantFund_Notice = 30122;		//通知俱乐部转账信息
	
	MsgID_GetIncome_Request = 30123;//请求收益信息
	MsgID_GetIncome_Response = 30124;
	MsgID_GetIncome_Notice = 30125;

	MsgID_GetUserClubGrantInfo_Request = 30126;	//请求玩家俱乐部转账信息
	MsgID_GetUserClubGrantInfo_Response = 30127;
	MsgID_GetUserClubGrantInfo_Notice = 30128;

	MsgID_NotifyUserGoldNum_Notice = 30129;		//通知客户端金币变化

	MsgID_GetUserMailListInfo_Request = 30130;	//客户端请求玩家邮件列表
	MsgID_GetUserMailListInfo_Response = 30131;
	MsgID_GetUserMailListInfo_Notice = 30132;

	MsgID_ReadAndFetchOneMail_Request = 30133;		//客户端阅读领取邮件
	MsgID_ReadAndFetchOneMail_Response = 30134;		
	MsgID_ReadAndFetchOneMail_Notice = 30135;
}

//消息体定义

//logon
message RequestLogon {
  string version = 1;
  string token = 2;
  string device_info = 3;
  string invitation_code = 4;
}

message ResponseLogon {
  int32 error = 1; // 0: success; 1:version not match; 2:uid not-exist; 3:token-failure 
}

// create club
message ClubParams{
	string club_name 					= 1;
	string club_area 					= 2;
	string club_icon 					= 3;
}

message RequestCreateClub{
	ClubParams param = 1;
}

message ResponseCreateClub{
	int32 error = 1; 
}

// ClubSnapshotList
message RequestClubSnapshotList{
	uint32 uid = 1;
}

message ResponseClubSnapshotList{
	int32 error = 1; 
}

message ClubSnapshotListParams{
	uint32 club_id 						= 1;
	string club_name 					= 2;
	string club_area 					= 3;
	string club_icon 					= 4;
	int32 club_member_max 				= 5;
	int32 club_member_count 			= 6;
	int32 club_type 					= 7;//是否私密:1 私密 0 公开 2 推荐
	int32 club_owner 					= 8;
	string club_descrption 				= 10;
	int32 club_create_time 				= 11;
	int32 club_level                    = 12; //俱乐部星级
	uint32 expire_time                  = 13; //到期时间
	int32 is_public_member              = 14; //是否为公共俱乐部成员 1:是 2:否
	repeated int32 opened_blindlevels   = 15; //俱乐部当前开启的盲注级别奖池
	int32 is_manager                    = 16; //是否为管理员
	string invitation_code 				= 17; //俱乐部邀请码
}

message NoticeClubSnapshotList{
	repeated ClubSnapshotListParams list = 1;
}

// Join club
message JoinClubParams{
	uint32 club_id = 1;
	uint32 club_uid = 2;
	string club_message = 3;
}

message RequestJoinClub{
	uint32 club_id = 1;
	uint32 club_uid = 2;
	string club_message = 3;
	string invitation_code = 4;
}

message NoticeJoinClub{
	uint32 club_id = 1;
	uint32 club_uid = 2;
	string club_message = 3;
	
	string applicant_name = 4; //申请者的名字
	string applicant_thumb = 5;
	string club_name = 6;
}

message ResponseJoinClubToMember{
	int32 error = 1;
}

message ResponseJoinClubToAdmin{
	int32 error = 1;
}

message NoticeJoinClubToMember{
	int32 result = 1; // 1:同意 2:拒绝
	uint32 club_id = 2;// 俱乐部id
	uint32 uid = 3;    // 被操作者id
	string reason = 4;// 理由
	string club_name = 5;
}

message ReplyJoinClub{
	int32 result = 1; // 1:同意 2:拒绝
	uint32 club_id = 2;// 俱乐部id
	uint32 uid = 3;    // 被操作者id
	string reason = 4;// 理由
}

message RequestLeaveClub{
	LeaveClubParams param = 1;
}

message ResponseLeaveClub{
	int32 error = 1;
}

//
message LeaveClubParams{
	uint32 club_id = 1;
	uint32 club_did = 2;
}

//
/*
message ClubCurrentBoardParams{
	uint32 club_id = 1;
	uint32 club_uid = 2;
}*/

message RequestClubCurrentBoard{
	//ClubCurrentBoardParams param = 1;
}

message ClubGameSnapshot{
	uint32 create_player_id = 1;
	string creator_name = 2;
	uint32 club_id = 3;
	int32 game_mode = 4; //区分普通牌局/比赛/其它游戏类型
	string room_name = 5; //区分普通牌局/比赛/其它游戏类型
	int32 player_count  = 6;   
	int64 small_blind  = 7;   
	int64 big_blind  = 8;  
	int64 buyin_min  = 9;   
	int64 buyin_max  = 10;  
	uint32 create_time = 11;
	bool  buyin_control = 12; 
	bool  insurance = 13; 
	bool  anti_cheating = 14; 
	bool  straddle = 15; 
	bool  rand_seat = 16; 
	int32 ante = 17;
	
	int32 player_count_max 	= 18; //牌桌最大人数
	int32 owner_type 	    = 19; //区分普通牌具/俱乐部牌局/定制俱乐部牌局
	
	string pic_path = 20; //图片路径
	string club_name = 21; //俱乐部名称
	int32 rule_time_limit = 22; //牌局时长对应8个时长类型
	uint32 room_id = 23; //房间id
	int32 game_status  = 24;     //1:牌局准备中 2:牌局进行中
	uint32 start_time = 25; //未开始=0;已点击开始=点击时间
	bool jackpot_isopen  = 26;     //1:已开启 2:未开启
	bool is_allin_allfold = 27; //是否是allin allfold
	uint32 extra_time = 28;
	bool is_opened_drawback             = 29; //是否打开撤码功能
	bool short_fullhouse_flush_straight_three = 30;
	bool is_force_showcard = 31;
}

message ResponseClubCurrentBoard{
	int32 error = 1;
}

message NoticeClubCurrentBoard{
	repeated ClubGameSnapshot list = 1;
}

//
message ClubMemberSnapshotListParams{
	uint32 club_id = 1;
	uint32 club_uid = 2;
}

message RequestClubMemberSnapshotList{
	ClubMemberSnapshotListParams param = 1;
}

message ResponseClubMemberSnapshotList{
	int32 error = 1;
}

message ClubMemberSnapshot{
	uint32 member_uid = 1;
	string member_icon = 2;
	string member_name = 3;
	int32 club_member_active = 4;
	int32 total_member_active = 5;
	int32 member_last_login_time = 6;
	int32 member_auth = 7;
	int64 user_gold = 9;
	bool is_online = 10;
}

message NoticeClubMemberSnapshotList{
	repeated ClubMemberSnapshot snapshots = 1;
}

//
message ModifyClubMemberParams{
	uint32 club_id = 1;
	uint32 club_uid = 2;
	uint32 target_id = 3;
	int32 action_type = 4;
}

message RequestModifyClubMember{
	ModifyClubMemberParams param = 1;
}

message ResponseModifyClubMember{
	int32 error = 1;
}

message NoticeModifyClubMember{
	int32 action_type = 1;
	uint32 club_id = 2;
	string club_name = 3;
	uint32 target_player_id = 4;
	string target_player_name = 5;
}

//
message ModifyClubInfoParams{
	uint32 club_id = 1;
	uint32 club_uid = 2;
	string club_name= 3;
	string club_descrption = 4;
	int32 action_type = 5;
}

message RequestModifyClubInfo{
	ModifyClubInfoParams param = 1;
}

message ResponseModifyClubInfo{
	int32 error = 1;
}

//
message GrantClubFundParams{
	uint32 club_id = 1;
	uint32 club_uid = 2;
	uint32 target_id = 3;
	int64 amount = 4;
}

message RequestGrantClubFund{
	GrantClubFundParams param = 1;
}

message ResponseGrantClubFund{
	int32 error = 1;
}

message RequestSearchClubInfo{
	uint32 club_id = 1;
}

message ResponseSearchClubInfo{
	int32 error = 1; 
}

message NoticeSearchClubInfo{
	ClubSnapshotListParams snapshots = 1;
}

message RequestClubCreaterInfo{
	uint32 club_id = 1;
}

message ResponseClubCreaterInfo{
	int32 error = 1; 
}

message NoticeClubCreaterInfo{
	string create_player_name   = 1; //俱乐部创建者的名字
	string create_player_thumb  = 2; //俱乐部创建者的头像
}

message NoticePurchaseClubLevel{
	uint32 expire_time = 1; 
}

message RequestSendMsg{
	uint32 club_id = 1;
	string msg = 2;
}

message ResponseSendMsg{
	int32 error = 1; 
}

message NoticeSendMsg{
	uint32 club_id = 1;
	uint32 user_id = 2;
	uint32 chat_time = 3;
	string player_name = 4;
	string player_icon = 5;
	string msg = 6;
}

//
message RequestGetUserData{
	uint32 user_id = 1;
}

message ResponseGetUserData{
	int32 error = 1; 
}

message NoticeGetUserData{
	string user_name = 1;
	string user_icon = 2;
	int64 gold_num = 3;
}

//GetJackpotData
message RequestGetJackpotData{
	uint32 club_id = 1;
}

message ResponseGetJackpotData{
	int32 error = 1; 
}

message Jackpot{
	int64 amount = 1; //奖池金额
	int32 blind_level = 2;//盲注级别
}

message NoticeGetJackpotData{
	uint32 club_id = 1;
	string club_name = 2;
	string club_avatar = 3;
	string club_area = 4;
	repeated Jackpot jackpots = 5;
}

//JackpotSetting
message RequestJackpotSetting{
	uint32 club_id = 1;
}

message ResponseJackpotSetting{
	int32 error = 1; 
}

message JackpotInfo{
	int64 amount = 1; //奖池金额
	int32 blind_level = 2;//盲注级别
	int64 profit_scale = 3;//盈利规模
	int64 drawin_amout = 4;//抽水数额
}

message AwardType{
	int32 hand_level = 1; //牌型
	int32 award_percent = 2;//奖励比例
}

message NoticeJackpotSetting{
	uint32 club_id = 1;
	repeated JackpotInfo jackpots = 2;
	repeated AwardType awardTypes = 3;
	int32 award2club_percent = 4;//奖励比例
}

//SetJackpot
message RequestSetJackpot{
	uint32 club_id = 1;
	repeated JackpotInfo jackpots = 2;
	repeated AwardType awardTypes = 3;
	int32 award2club_percent = 4;//奖励比例
}

message ResponseSetJackpot{
	int32 error = 1; 
}

//RecoverJackpotSetting
message RequestRecoverJackpotSetting{
	uint32 club_id = 1;
}

message ResponseRecoverJackpotSetting{
	int32 error = 1; 
}

//JackpotAmout
message NoticeJackpotAmout{
	uint32 club_id = 1;
	int32 blind_level = 2;//当前局盲注级别
	int64 prev_amount = 3;//上次奖池金额
	int64 current_amout = 4;//当前奖池金额
}

//CurrentRoomJackpot
message RequestCurrentRoomJackpot{
	uint32 club_id = 1;
	int32 blind_level = 2;
}

message ResponseCurrentRoomJackpot{
	int32 error = 1; 
}

message NoticeCurrentRoomJackpot{
	int64 profit_scale = 1;
	int64 drawin_amout= 2;
	repeated AwardType awardTypes = 3;
}

//JackpotAwardRecord
message RequestJackpotAwardRecord{
	uint32 club_id = 1;
	int32 blind_level = 2;
}

message ResponseJackpotAwardRecord{
	int32 error = 1; 
}

message AwardInfo{
	uint32 player_id = 1; //牌型
	int32 hand_level = 2;//牌型
	int64 award_amount = 3;//奖励金额
    uint32 award_time = 4;//奖励时间
	string player_name = 5; //玩家昵称
}

message NoticeJackpotAwardRecord{
	uint32 club_id = 1;
	AwardInfo luckDog = 2;
	repeated AwardInfo awardInfos = 3;
}

//JackpotInjectAmount
message RequestJackpotInjectAmount{
	uint32 club_id = 1;
	int32 blind_level = 2;
	int64 amount = 3;
}

message ResponseJackpotInjectAmount{
	int32 error = 1; 
}

message NoticeJackpotInjectAmount{
	uint32 club_id = 1;
	int32 blind_level = 2;
	int64 amount = 3;
}

message NoticeJackPotAwardInfo{
	uint32 award_playid = 1;
	int64 award_amount = 2;
	int32 hand_level = 3;
	string award_player_name = 4;
}

message RequestHeartBeat{
	uint32 uid = 1;
}

message ResponseHeartBeat{
	uint32 uid = 1;  
}

message RequestCreateAlliance{
	string alliance_name = 1;
	uint32 club_id = 2; 
}

message ResponseCreateAlliance{
	int32 error = 1; 
}

message RequestLeaveAlliance{
	uint32 alliance_id = 1;
	uint32 club_id = 2;
}

message ResponseLeaveAlliance{
	int32 error = 1;
}

message NoticeLeaveAlliance{
	uint32 alliance_id 					= 1;
	uint32 club_id         				= 2;
	uint32 club_admin_id					= 3;
	string alliance_name 				= 4;
	string club_name 				    = 5;
	
}

//请求联盟信息
message RequestSearchAllianceInfo{
	uint32 alliance_id = 1;
}

message ResponseSearchAllianceInfo{
	int32 error = 1; 
}

message ClubItemInfo{
	uint32 club_id 					= 1;
	int32 club_member_max 			= 2;
	int32 club_member_count 		= 3;
	string club_name 			    = 4;
	string creater_name 			= 5;
	string club_thumb 			= 6;
	uint32 creater_id 			= 7;
	
	int64 max_buyin_limit       = 8; //额度上限
	int64 cur_buyin_limit      = 9; //实时带入
	bool control_buyin          = 10; //带入控制
}

message NoticeSearchAlliance{
	uint32 alliance_id 					= 1;
	uint32 creater_club_id				= 2;
	int32 alliance_club_max 			= 3;
	int32 alliance_club_count 			= 4;
	string alliance_name 				= 5;
	repeated ClubItemInfo clubItems     = 6;//俱乐部信息
}

//剔除联盟成员
message RequestKickoffAllianceMember{
	uint32 alliance_id = 1;
	uint32 club_id = 2;
	uint32 target_id = 3;
}

message ResponseKickoffAllianceMember{
	int32 error = 1;
}

message NoticeKickoffAllianceMember{
	uint32 alliance_id = 1;
	uint32 target_club_id = 2;
	string alliance_name = 3;
	string target_club_name = 4;
}


//AllianceSnapshotList
message RequestAllianceList{
	uint32 club_id = 1;
}

message ResponseAllianceList{
	int32 error = 1; 
}

message AllianceListParams{
	uint32 alliance_id 			= 1;
	string alliance_name 		= 2;
	int32 club_max 				= 3;
	int32 club_count 			= 4;
	bool is_creater             = 5; //是否为盟主
	int32 reviewed 			    = 6;
}

message NoticeAllianceList{
	repeated AllianceListParams list = 1;
}

// Join alliance
message RequestJoinAlliance{
	uint32 alliance_id = 1;
	uint32 club_id = 2;
	string message = 3;
}

message NoticeJoinAlliance{
	uint32 alliance_id = 1;
	uint32 club_id = 2;
	string message = 3;
	string club_name = 4; //申请者的名字
	string alliance_name = 5;
}

message ResponseJoinAllianceToMember{
	int32 error = 1;
}

message ResponseJoinAllianceToAdmin{
	int32 error = 1;
}

message NoticeJoinAllianceToMember{
	int32 result = 1;     // 1:同意 2:拒绝
	uint32 alliance_id = 2;// 俱乐部id
	uint32 club_id = 3;    // 被操作者id
	string reason = 4;    // 理由
	string alliance_name = 5;
	uint32 club_admin_id = 6;     // 申请者俱乐部管理员id
}

message ReplyJoinAllianceToWorld{
	int32 result = 1;      // 1:同意 2:拒绝
	uint32 alliance_id = 2; // 俱乐部id
	uint32 club_id = 3;     // 被操作者id
	string reason = 4;     // 理由
}
message RequestAddRemarks{
	uint32 target_id = 1;
	int32 remark_type = 2;
	string taget_remark = 3;
}

message ResponseAddRemarks{
	int32 error = 1; 
}

message NoticeAddRemarks{
	uint32 target_id = 1;
	int32 remark_type = 2;
	string taget_remark = 3;
}

message RequestGetAllRemarks{
	uint32 playerid = 1;
}

message ResponseGetAllRemarks{
	int32 error = 1; 
}

message NoticeGetAllRemarks{
	string remarks_data = 1;
}

message RequestClearAllianceMaxBuyinLimit{
	uint32 alliance_id = 1; // 俱乐部id
	uint32 club_id = 2;     // 被操作者id
}

message ResponseClearAllianceMaxBuyinLimit{
	int32 error = 1; 
}

message RequestSetAllianceMaxBuyinLimit{
	uint32 alliance_id = 1; // 俱乐部id
	uint32 club_id = 2;     // 被操作者id
	int64 amount = 3;
}

message ResponseSetAllianceMaxBuyinLimit{
	int32 error = 1; 
}

message RequestSetAllianceControlBuyin{
	uint32 alliance_id = 1; // 俱乐部id
	uint32 club_id = 2;     // 被操作者id
	bool control_buyin = 3; //带入控制
}

message ResponseSetAllianceControlBuyin{
	int32 error = 1; 
}

message RequestFairPlayReport{
	uint32 roomid = 1;
	uint32  clubid = 2;
	uint64 room_uuid = 3;
	uint64 game_uuid = 4;
	repeated uint32 suspect_uids = 5; //怀疑对象uid列表
	string contact = 6; //反馈联系方式(如果有)
	string detail = 7; //描述细节(如果有)
}

message ResponseFairPlayReport{
	int32 error = 1; 
}

message RequestDeviceInfoReport{
    uint32 report_channel = 1; //1:注册上报;2:充值上报 (3:登录上报 已经有了不用上传)
	string device_info = 2; 
}

message ResponseDeviceInfoReport{
	int32 error = 1; 
}

message ClubGrantFundNotice{
	int32	error = 1;
	uint32	op_playerId = 2;		//转账的人的id
	uint32	clubid = 3;				//俱乐部id
	uint32	targetid = 4;			//目标的id
	int64	amount = 5;				//转账金额	
}

//GetIncome
message RequestGetIncome{
	uint32 uid = 1;
}

message ResponseGetIncome{
	int32 error = 1; 
}

message NoticeGetIncome{
	int64 club_fee = 1;
	int64 club_insurance = 2;
	int64 club_jackpot = 3;
	int64 alli_fee = 4;
	int64 alli_insurance = 5;
	int64 alli_jackpot = 6;
}

message TransferToOtherInfo{
	uint32	operator_id = 1;
	uint32	club_id = 2;
	uint32	targer_id = 3;
	int64	amount = 4;
	int32	grant_time = 5;	//转账时间
	string	operator_name = 6;
	string	target_name = 7;
}

message RequestGetUserClubGrantInfo{
	uint32 uid = 1;
}

message ResponseGetUserClubGrantInfo{
	int32 error = 1;
}

message NoticeGetUserClubGrantInfo{
	repeated TransferToOtherInfo to_list = 1;	//转给别人的钱的信息
	repeated TransferToOtherInfo get_list = 2;	//别人转过来的钱的信息
}

message NoticeNotifyUserGoldNum{
	uint32	uid = 1;
	int64	changeNum = 2;	//金币变化值
	int64	goldNum = 3;	//变化后金币值
}

message AttachemmentInfo{
	uint32	item_id = 1;		//物品ID
	uint32	item_num = 2;		//物品数量
}


message MailInfo{
        uint32  mail_id = 1;            //邮件ID
        uint32  mail_type = 2;          //邮件类型 0个人 1系统 2通知
        uint32  mail_state = 3;         //邮件状态  是否已读
        string  mail_title = 4;         //邮件标题
        uint32  mail_sender_id = 5;     //发送者uid
        string  mail_appellation = 6;   //邮件抬头
        string  mail_content = 7;       //邮件内容
        string  mail_inscribe = 8;      //邮件签名
        uint32  mail_sendtime = 9;      //邮件发送时间
        uint32  mail_expiredtime = 10;  //失效时间  从发送时间开始计算
	uint32	isexpired = 11;		//是否过期 0否1是
        repeated AttachemmentInfo attachment_list = 12;         //附件列表              
}

message RequestGetUserMailList{
	uint32	uid = 1;	
	uint32	mail_begin_index = 2;	//邮件开始索引  从0开始
	uint32	mail_end_index = 3;	//请求结束索引
}

message ResponseGetUserMailList{
	uint32 error = 1;	//错误码
}

message NoticeGetUserMailList{
	repeated MailInfo mail_list = 1; //邮件信息列表
}

message RequestFetchOneMail{
	uint32	uid = 1;	
	uint32	mail_id = 2;	
}

message ResponseFetchOneMail{
	uint32 error = 1;
}

message NoticeFetchOneMail{ 
	MailInfo onemail = 1;
}

message NoticeNewMail{
	MailInfo onemail = 1; //新邮件通知
}

message NoticeExpiredMail{
	uint32 uid = 1; //邮件过期提醒
	uint32 mail_id = 2;
}

message NoticeDeleteMail{
	uint32 uid = 1; //删除客户端一封邮件
	uint32 mail_id = 2;
}

message RequestAttFetchedMail{
	uint32 uid = 1; //附件已被领取
	uint32 mail_id = 2;
}

message ResponseAttFetcedMail{
	uint32 error = 1;	
}