diff --git a/Assets/proto/protocol.bytes b/Assets/proto/protocol.bytes
index 4eb10a684..521416c5d 100644
--- a/Assets/proto/protocol.bytes
+++ b/Assets/proto/protocol.bytes
@@ -1,5 +1,5 @@
 
-áŒ
+ò¦
 pb/proto/protocol.protocspb"ž
 Gift
 act_type (RactType
@@ -1481,8 +1481,9 @@ LevelUpRsp(
 RuneLockReq
 hero_id (RheroId
 grid_num (RgridNum
-lock (Rlock"9
-RuneLockRsp*
+lock (Rlock"c
+RuneLockRsp(
+err_code (2
.cspb.ErrCodeRerrCode*
 
 hero_girds (2.cspb.GridsR	heroGirds"+
 RuneQuenchingReq
@@ -1670,7 +1671,116 @@ skill_cast (R	skillCast
  (R
killsBossTurn
 spare_hp (RspareHp
 
-total_turn (R	totalTurn*“
+total_turn (R	totalTurn"ª
+
+TournArena!
+present_turn (RpresentTurn
+turn_end_at (R	turnEndAtW
+rank_reward_claimed (2'.cspb.TournArena.RankRewardClaimedEntryRrankRewardClaimed
+exp (Rexp
+level (Rlevel=
+	collected (2.cspb.TournArena.CollectedEntryR	collectedD
+RankRewardClaimedEntry
+key (Rkey
+value (Rvalue:8S
+CollectedEntry
+key (Rkey+
+value (2.cspb.TournArenaGradeRvalue:8"
+TournArenaDataReq"p
+TournArenaDataRsp(
+err_code (2
.cspb.ErrCodeRerrCode1
+tourn_arena (2.cspb.TournArenaR
+tournArena"‹
+TournArenaInfo
+name (	Rname
+level (Rlevel
+avatar (Ravatar!
+avatar_frame (RavatarFrame
+score (Rscore"'
+TournArenaRankReq
+turn (Rturn"š
+TournArenaRankRsp(
+err_code (2
.cspb.ErrCodeRerrCode*
+ranks (2.cspb.TournArenaInfoRranks
+own_rank (RownRank
+score (Rscore"
+TournArenaRankClaimRewardReq"p
+TournArenaRankClaimRewardRsp(
+err_code (2
.cspb.ErrCodeRerrCode&
+rewards (2.cspb.RewardRrewards"h
+TournArenaGrade
+normal (Rnormal
+superior (Rsuperior!
+superior_max (RsuperiorMax"@
+TournArenaBountyClaimReq
+id (Rid
+grade (Rgrade"�
+TournArenaBountyClaimRsp(
+err_code (2
.cspb.ErrCodeRerrCode&
+rewards (2.cspb.RewardRrewards\
+success_id_grade (22.cspb.TournArenaBountyClaimRsp.SuccessIdGradeEntryRsuccessIdGradeA
+SuccessIdGradeEntry
+key (Rkey
+value (Rvalue:8"3
+!TournArenaBountyClaimByDiamondReq
+id (Rid"q
+!TournArenaBountyClaimByDiamondRsp(
+err_code (2
.cspb.ErrCodeRerrCode"
+costs (2.cspb.RewardRcosts"¦
+	TournWave!
+present_turn (RpresentTurn
+turn_end_at (R	turnEndAtV
+rank_reward_claimed (2&.cspb.TournWave.RankRewardClaimedEntryRrankRewardClaimed
+exp (Rexp
+level (Rlevel<
+	collected (2.cspb.TournWave.CollectedEntryR	collectedD
+RankRewardClaimedEntry
+key (Rkey
+value (Rvalue:8R
+CollectedEntry
+key (Rkey*
+value (2.cspb.TournWaveGradeRvalue:8"
+TournWaveDataReq"l
+TournWaveDataRsp(
+err_code (2
.cspb.ErrCodeRerrCode.
+
+tourn_wave (2.cspb.TournWaveR	tournWave"Š
+
TournWaveInfo
+name (	Rname
+level (Rlevel
+avatar (Ravatar!
+avatar_frame (RavatarFrame
+score (Rscore"&
+TournWaveRankReq
+turn (Rturn"˜
+TournWaveRankRsp(
+err_code (2
.cspb.ErrCodeRerrCode)
+ranks (2.cspb.TournWaveInfoRranks
+own_rank (RownRank
+score (Rscore"
+TournWaveRankClaimRewardReq"o
+TournWaveRankClaimRewardRsp(
+err_code (2
.cspb.ErrCodeRerrCode&
+rewards (2.cspb.RewardRrewards"g
+TournWaveGrade
+normal (Rnormal
+superior (Rsuperior!
+superior_max (RsuperiorMax"?
+TournWaveBountyClaimReq
+id (Rid
+grade (Rgrade"‹
+TournWaveBountyClaimRsp(
+err_code (2
.cspb.ErrCodeRerrCode&
+rewards (2.cspb.RewardRrewards[
+success_id_grade (21.cspb.TournWaveBountyClaimRsp.SuccessIdGradeEntryRsuccessIdGradeA
+SuccessIdGradeEntry
+key (Rkey
+value (Rvalue:8"2
+ TournWaveBountyClaimByDiamondReq
+id (Rid"p
+ TournWaveBountyClaimByDiamondRsp(
+err_code (2
.cspb.ErrCodeRerrCode"
+costs (2.cspb.RewardRcosts*“
 ErrCode
 SUCCESS
 
