wg.proto
11.8 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
syntax = "proto3";
package rpc_world;
//房间相关服务
service Room {
//创建房间时通知
rpc CreateRoom (CreateRoomRequest) returns (CreateRoomReply) {}
//加入房间时通知
rpc JoinRoom (JoinRoomRequest) returns (JoinRoomReply) {}
//销毁房间时通知
rpc DestroyRoom (DestroyRoomRequest) returns (DestroyRoomReply) {}
//房间变化时通知
rpc ModifyRoomInfo (ModifyRoomInfoRequest) returns (ModifyRoomInfoReply) {}
//获取房间唯一id
rpc GetNewRoomID (GetRoomIDRequest) returns (GetRoomIDReply) {}
//检查一个玩家id是否是俱乐部的管理员id
rpc CheckClubManager (CheckClubManagerRequest) returns (CheckClubManagerReply) {}
//检查一个玩家id是否是指定俱乐部的成员(管理员也是成员)
rpc CheckClubMember (CheckClubMemberRequest) returns (CheckClubMemberReply) {}
//玩家买入通知
rpc PlayerBuyin (PlayerBuyinRequest) returns (PlayerBuyinReply) {}
//为同步实时数据新增 2017-2-24
//获取玩家数据
rpc GetUserData (GetUserDataRequest) returns (GetUserDataReply) {}
//操作玩家金币
rpc WorldOprateUserGold (WorldOprateUserGoldRequest) returns (WorldOprateUserGoldReply) {}
//检查是否能够创建俱乐部牌局
rpc CheckCreateClubRoom (CheckCreateClubRoomRequest) returns (CheckCreateClubRoomReply) {}
//击中牌型
rpc HitCardType (HitCardTypeRequest) returns (HitCardTypeReply) {}
//抽水入jackpot
rpc DrawinJackpot (DrawinJackpotRequest) returns (DrawinJackpotReply) {}
//获取房间所对应的联盟俱乐部
rpc GetUserAllianceClubs (GetUserAllianceClubsRequest) returns (GetUserAllianceClubsReply) {}
//获取联盟俱乐部买入额度
rpc GetAllianceBuyinLimit(GetAllianceBuyinLimitRequest) returns (GetAllianceBuyinLimitReply) {}
//设置联盟俱乐部当前已买入额度
rpc SetAllianceCurBuyinLimit(SetAllianceCurBuyinLimitRequest) returns (SetAllianceCurBuyinLimitReply) {}
//检查是否能够创建俱乐部牌局
rpc CheckClubsMember (CheckClubsMemberRequest) returns (CheckClubsMemberReply) {}
//通知World 玩家当前上台的金币剩余数额
rpc WorldOperateUserLeftGold(WorldOperateUserLeftGoldRequest) returns (WorldOperateUserLeftGoldReply) {}
//通知world Game已经重新启动 需要清除发现列表信息 以及返还玩家带上桌的金币
rpc NotifyWorldGameRestart(NotifyWorldGameRestartRequest) returns (NotifyWorldGameRestartReply) {}
//存储收益数据
rpc StoreIncome (StoreIncomeRequest) returns (StoreIncomeReply) {}
}
//创建房间时通知请求参数
message CreateRoomRequest {
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; //区分普通牌具/俱乐部牌局/定制俱乐部牌局
int32 rule_time_limit = 20; //牌局时长对应8个时长类型
uint32 room_id = 21; //房间id
int32 game_status = 22; //1:牌局准备中; 2:牌局进行中
uint32 start_time = 23;//未开始=0
bool is_associated_jackpot = 24; //是否关联jackpot
int32 rule_blind_enum = 25; //牌局限定大小盲注对应id
bool is_allin_allfold = 26; //是否是allin allfold
repeated uint32 alliance_ids = 27; //联盟id集合
bool is_need_statistic = 28; //是否是game真正创建的牌局(用来计算俱乐部牌局数)
uint32 extra_time = 29; //房主主动增加的时间秒数
bool short_fullhouse_flush_straight_three = 30;
bool is_opened_drawback = 31;
bool is_force_showcard = 32;
}
message JoinAllianceInfo {
uint32 club_id = 1;
uint32 join_time = 2;
}
message AllianceItem {
string alliance_name = 1;
repeated uint32 Clubids = 2;
repeated JoinAllianceInfo infos = 3;
uint32 alli_creater_uid = 4;
}
//创建房间时通知返回参数
message CreateRoomReply {
string message = 1;
int64 profit_scale = 2;//盈利规模
int64 drawin_amout = 3;//抽水数额
repeated uint32 alliance_club_ids = 4;//联盟俱乐部ids
map<uint32, AllianceItem> mapAllianceClubIds = 5; //
repeated uint32 club_adminids = 6;//俱乐部管理员ids
}
//加入房间时通知请求参数
message JoinRoomRequest {
uint32 room_id = 1;
uint32 user_id = 2;
bool is_alliance = 3;
}
//加入房间时通知返回参数
message JoinRoomReply {
string message = 1;
}
//销毁房间时通知请求参数
message DestroyRoomRequest {
uint32 id = 1;
uint32 club_id = 2;
}
//销毁房间时通知返回参数
message DestroyRoomReply {
string message = 1;
}
//房间信息变化时通知请求参数
message ModifyRoomInfoRequest {
uint32 id = 1; //房间id
int32 player_count = 2; //当前人数
int32 game_status = 3; //1:牌局准备中; 2:牌局进行中
uint32 start_time = 4; //未开始=0;已点击开始=点击时间
uint32 extra_time = 5; //房主主动增加的时间秒数
}
//房间信息变化时通知返回参数
message ModifyRoomInfoReply {
string message = 1;
}
//获取房间唯一id信息请求
message GetRoomIDRequest {
string name = 1; // 房间名字(占位而已,暂时没有作用)
uint32 playerid = 2; //请求者的玩家id 用于snowflak空间
}
//房间唯一id信息返回
message GetRoomIDReply {
string room_uuid = 1; //room的全局唯一字符串id(同cf 的uuid)
uint32 roomid = 2; //房间的int 6位数唯一id
uint64 uuid_int = 3; //int uuid
}
//检查是否是俱乐部管理员请求
message CheckClubManagerRequest {
uint32 playerid = 1; //玩家id
uint32 clubid = 2; //俱乐部id
}
//检查是否是俱乐部管理员响应
message CheckClubManagerReply {
bool result = 1; //true : 玩家是管理员; false:玩家不是管理员
}
//检查一个玩家id是否是指定俱乐部的成员(管理员也是成员)请求
message CheckClubMemberRequest {
uint32 playerid = 1; //玩家id
uint32 clubid = 2; //俱乐部id
}
//检查一个玩家id是否是指定俱乐部的成员响应
message CheckClubMemberReply {
bool result = 1; //true : 玩家是成员; false:玩家不是成员
}
//玩家买入时通知请求参数
message PlayerBuyinRequest {
uint32 user_id = 1;
uint32 club_id = 2; //俱乐部id
}
//玩家买入时通知返回参数
message PlayerBuyinReply {
string message = 1;
}
//为同步实时数据新增 2017-2-24
//获取玩家数据信息请求
message GetUserDataRequest {
uint32 user_id = 1; //玩家id
}
//获取玩家数据信息返回
message GetUserDataReply {
uint32 user_id = 1; //玩家id
string user_name = 2; //用户名
int32 gender = 3; //性别
uint64 diamond_num = 4;//钻石数量
int64 user_gold = 5;//用户金币
string avatar_thumb = 6;//用户头像
string marks = 7;//签名
}
enum FeeType {
Enum_game = 0;
Enum_InteractiveExpression = 1;
Enum_SendCardFun = 2;
Enum_MTT = 3;
Enum_SNG = 4;
}
//操作玩家金币请求
message WorldOprateUserGoldRequest {
uint32 user_id = 1; //玩家id
int32 operate_type = 2; //1:增加金币 2:扣除金币
int64 gold_num = 3; //钻石数量
uint64 room_id = 4; //房间id
FeeType fee_type = 5;//扣费类型
}
//操作玩家金币返回
message WorldOprateUserGoldReply {
int32 err_num = 1; //错误码 1:没错误 2:金币数额不足
int64 gold_before = 2;
int64 gold_after = 3;
}
//检查俱乐部牌局创建请求
message CheckCreateClubRoomRequest {
uint32 user_id = 1; //创建牌局玩家id
uint32 club_id = 2; //俱乐部id
}
//检查俱乐部牌局创建返回
message CheckCreateClubRoomReply {
int32 err_num = 1; //错误码 1:成功,可以创建;74:不是俱乐部管理员,不能创建;75:俱乐部等级不够开启更多房间;76:其他错误
}
message UserCard{
int32 card_level = 1;
uint32 seat_id = 2;
uint32 award_player_id = 3;
}
// 击中牌型请求奖励
message HitCardTypeRequest {
repeated UserCard cards = 1;
uint32 club_id = 2; //俱乐部id
int32 blind_level = 3; //盲注级别
uint32 room_id = 4; //房间id
uint64 game_UUIDInt = 5; //牌局id
uint64 room_UUIDInt = 6; //房间id
uint32 Create_player_id = 7; //房间创建者id
}
message UserCardAward{
uint32 award_player_id = 1;
uint32 seat_id = 2;
int64 award_amount = 3;
int32 card_level = 4;
int64 award2_club_fund = 5;
}
// 击中牌型返回奖励
message HitCardTypeReply {
repeated UserCardAward cardAwards = 1;
uint32 club_id = 2; //俱乐部id
int32 blind_level = 3; //盲注级别
uint32 room_id = 4; //房间id
int64 total_award_amount = 5;
int32 err_num = 6; //错误码 1:没错误 2:数据库错误
}
//符合条件的玩家抽水如jackpot
message DrawinJackpotRequest {
uint32 club_id = 1; //俱乐部id
int32 blind_level = 2; //盲注级别
int64 drawin_amout = 3; //抽取金额
uint64 room_id = 4; //房间id
}
//符合条件的玩家抽水如jackpot
message DrawinJackpotReply {
int32 err_num = 1; //错误码 1:成功
}
//获取玩家联盟相关的俱乐部
message GetUserAllianceClubsRequest {
uint32 user_id = 1; //玩家id
uint32 room_id = 2; //房间id
}
message clubInfo{
uint32 club_id = 1;
uint32 creater_id = 2;
string club_name = 3;
}
//获取玩家数据信息返回
message GetUserAllianceClubsReply {
repeated clubInfo club_infos = 1; //联盟id集合
int32 err_num = 2; //错误码 1:没错误 2:数据库错误
repeated uint32 club_createrids = 3; //俱乐部创建者id集合
}
message GetAllianceBuyinLimitRequest {
uint32 alliance_id = 1; //联盟id
uint32 club_id = 2; //俱乐部id
}
message GetAllianceBuyinLimitReply {
int64 MaxBuyinLimit = 1;
int64 CurBuyinLimit = 2;
bool contorl_buyin = 3;
int32 err_num = 4; //错误码 1:没错误 2:数据库错误
}
message SetAllianceCurBuyinLimitRequest {
uint32 alliance_id = 1; //联盟id
uint32 club_id = 2; //俱乐部id
int32 CurBuyinLimit = 3; //当前已用额度
}
message SetAllianceCurBuyinLimitReply {
int32 err_num = 1; //错误码 1:没错误 2:数据库错误
}
//检查是否为创建者俱乐部的成员
message CheckClubsMemberRequest {
uint32 club_createrid = 1; //俱乐部创建者
uint32 user_id = 2; //玩家id
}
//检查是否为创建者俱乐部的成员
message CheckClubsMemberReply {
bool is_club_member = 1;
int32 err_num = 2; // 其他错误
}
//通知world玩家剩余在桌上的金币
message WorldOperateUserLeftGoldRequest {
uint32 user_id = 1; //玩家id
int32 left_gold = 2; //剩余在桌上的金币数量
uint32 roomid = 3; //当前房间id
}
//通知world玩家剩余在桌上的金币
message WorldOperateUserLeftGoldReply {
int32 error = 1; //错误码
int32 gold_value = 2; //操作后的买入金币的值
}
message NotifyWorldGameRestartRequest {
}
message NotifyWorldGameRestartReply {
int32 error = 1;
}
message ClubCreaterUIDIncome {
uint32 UID = 1;
int64 fee = 2;
int64 insurance = 3;
int64 jackpot = 4;
}
message AlliCreaterUIDIncome {
uint32 UID = 1;
int64 fee = 2;
int64 insurance = 3;
int64 jackpot = 4;
}
message ProxIncome {
int64 fee = 1;
int64 insurance = 2;
int64 jackpot = 3;
}
message PlatformIncome {
int64 fee = 1;
int64 insurance = 2;
int64 jackpot = 3;
}
message StoreIncomeRequest {
repeated ClubCreaterUIDIncome ccuid_income = 1; //俱乐部创建者收益
repeated AlliCreaterUIDIncome acuid_income = 2; //联盟创建者(玩家)收益
ProxIncome proxy_income = 3; //总代收益
PlatformIncome platform_income = 4; //平台收益
}
message StoreIncomeReply {
int32 error = 1;
}