syntax = "proto2"; package YiQishanPack; message CSHead { optional uint32 command = 1; optional uint32 subcmd = 2; optional uint32 seq = 3; optional bytes uuid = 4; optional uint32 clientType = 5; optional uint32 headFlag = 6; optional uint32 clientVer = 7; optional bytes signature = 8; optional uint32 routeKey = 9; } message TCPAccessReq { optional bytes AccessToken = 1; optional bytes MachineCode = 2; } message TcpHelloReq { optional string uuid = 1; } message EnterRoomReq { optional bytes uuid = 1; optional bytes roomid = 2; optional uint32 neednum = 3; optional bool isfake = 4; optional bool needbroadcast = 5; optional bytes nick = 6; optional bytes clientip = 7; optional bytes subroomid = 8; optional uint32 gameid = 10; } message RoomHelloReq { optional bytes uuid = 1; optional bytes roomid = 2; optional bytes roomsig = 3; optional uint32 connsvrip = 4; optional bool isinternal = 5; optional bytes subroomid = 6; } message Token { optional string uuid = 1; optional bytes gtkey = 2; optional uint32 ip = 3; optional uint32 expiresstime = 4; optional uint32 gentime = 5; } message PublicChatNotify { optional bytes roomid = 1; optional bytes uuid = 2; optional bytes nick = 3; optional ChatInfo info = 4; optional bytes touuid = 5; optional bytes tonick = 6; optional uint32 privilege = 7; optional uint32 rank = 8; optional uint32 fromgame = 9; optional bytes gameid = 10; repeated BadgeType badges = 11; optional RoomUserInfo userinfo = 12; optional bool isnoble = 13; optional uint32 noblelevelid = 14; optional string noblelevelname = 15; optional bool isnoblemessage = 16; } enum BadgeType { NOBARRAGE = 0; FIRST_CHARGE_BADGE = 1; FIRST_CHARGE_COPPER = 2; FIRST_CHARGE_SLIVER = 3; FIRST_CHARGE_GOLD = 4; } message ChatInfo { optional uint32 chattype = 1; optional bytes textmsg = 2; } message RoomUserInfo { optional bytes uuid = 1; optional bytes nick = 2; optional uint32 weekartistconsume = 3; optional uint32 artisttotalconsume = 4; optional uint32 totalconsume = 5; optional uint32 guardendtime = 6; optional uint32 peerageid = 7; } message GiftNotyInfo { optional bytes roomid = 1; optional bytes giftid = 2; optional uint32 giftcnt = 3; optional bytes fromuuid = 4; optional bytes fromnick = 5; optional bytes touuid = 6; optional bytes tonick = 7; optional uint32 consume = 8; optional bytes sessid = 9; optional uint32 hits = 10; optional uint32 hitsall = 11; optional uint32 flag = 12; optional uint32 fromviplevel = 13; optional uint32 fanslevel = 14; optional bool fromisnoble = 15; optional uint32 fromnoblelevelid = 16; } message NotifyFreeGift { optional bytes uuid = 1; optional bytes fromnick = 2; optional bytes touuid = 3; optional bytes tonick = 4; optional bytes roomid = 5; optional uint32 giftid = 6; optional uint32 giftcnt = 7; optional uint32 fromviplevel = 8; optional uint32 fanslevel = 9; optional bool fromisnoble = 11; optional uint32 fromnoblelevelid = 12; } message SendBroadcastPkg { optional bytes uuid = 1; repeated BroadcastMsg broadcastmsg = 2; message BroadcastMsg { optional uint32 businesstype = 1; optional bytes title = 2; optional bytes content = 3; optional uint32 msgseq = 4; } }