flowerpig 1 rok pred
commit
83747f6181
60 zmenil súbory, kde vykonal 3602 pridanie a 0 odobranie
  1. 37 0
      .gitignore
  2. 53 0
      README.txt
  3. 28 0
      proto_YY.bat
  4. BIN
      protoc-gen-grpc-java-1.51.0-windows-x86_64.exe
  5. BIN
      protoc3.11.4.exe
  6. 43 0
      src/Achievement.proto
  7. 138 0
      src/Arena.proto
  8. 117 0
      src/ArenaRpc.proto
  9. 51 0
      src/Bag.proto
  10. 222 0
      src/Battle.proto
  11. 52 0
      src/BattleAttr.proto
  12. 68 0
      src/Chat.proto
  13. 27 0
      src/ChatRpc.proto
  14. 73 0
      src/Cross.proto
  15. 48 0
      src/DailyWeeklyTask.proto
  16. 34 0
      src/DayRecharge.proto
  17. 22 0
      src/Dungeon.proto
  18. 112 0
      src/Equip.proto
  19. 44 0
      src/ExchangeShop.proto
  20. 39 0
      src/FirstRecharge.proto
  21. 58 0
      src/Formation.proto
  22. 20 0
      src/Friend.proto
  23. 23 0
      src/Gm.proto
  24. 28 0
      src/GoldenPig.proto
  25. 80 0
      src/Handbook.proto
  26. 60 0
      src/Hero.proto
  27. 71 0
      src/Home.proto
  28. 38 0
      src/LoginSign.proto
  29. 92 0
      src/Mail.proto
  30. 273 0
      src/Mainline.proto
  31. 59 0
      src/MiniStruct.proto
  32. 40 0
      src/OpenFunction.proto
  33. 86 0
      src/P1001ZhanLingExp.proto
  34. 68 0
      src/P1002ZhanLingGoal.proto
  35. 46 0
      src/P1004TongTianTaTeQuan.proto
  36. 29 0
      src/P1005XianShiLiBao.proto
  37. 39 0
      src/P1006ChengZhangJiJin.proto
  38. 42 0
      src/P1007QiRiMuBiao.proto
  39. 27 0
      src/P1008ChongBang.proto
  40. 66 0
      src/P1009ZhiGou.proto
  41. 59 0
      src/P1010HuoDongMuBiao.proto
  42. 68 0
      src/P1011MeiRiChongZhi.proto
  43. 165 0
      src/Player.proto
  44. 17 0
      src/PlayerSpace.proto
  45. 50 0
      src/PrivilegeNormal.proto
  46. 40 0
      src/Promotion.proto
  47. 81 0
      src/Purgatory.proto
  48. 99 0
      src/Rank.proto
  49. 113 0
      src/Recharge.proto
  50. 71 0
      src/Recruit.proto
  51. 92 0
      src/RefineEvil.proto
  52. 23 0
      src/SanQiHuYu.proto
  53. 24 0
      src/Task.proto
  54. 15 0
      src/Tips.proto
  55. 28 0
      src/Tower.proto
  56. 36 0
      src/TrainingCamp.proto
  57. 44 0
      src/Treasure.proto
  58. 67 0
      src/Village.proto
  59. 42 0
      src/Vip.proto
  60. 15 0
      src/Wrapper.proto

+ 37 - 0
.gitignore

@@ -0,0 +1,37 @@
+# Compiled class file
+*.class
+
+# Log file
+*.log
+
+# Package Files #
+*.jar
+*.war
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+
+.idea
+*.iml
+.idea/compiler.xml
+.idea/encodings.xml
+.idea/misc.xml
+.idea/modules.xml
+.idea/vcs.xml
+
+
+*.project
+*.classpath
+
+.settings/
+logs/
+target/
+uploadfiles/
+
+*.properties
+*.db
+log4j2.xml

+ 53 - 0
README.txt

@@ -0,0 +1,53 @@
+1xxxxx 	Server 服务器预留
+	100xxx Tips 提示语
+	101xxx Cross 跨服相关,客户端忽略
+2xxxxx 	Player
+	21xxxx PlayerSpace 玩家个人空间与设置
+3xxxxx 	Battle 战斗相关
+4xxxxx 	Mainline 主线
+5xxxxx 	Bag 背包
+6xxxxx 	Mail 邮件
+7xxxxx 	Hero 英雄
+8xxxxx 	GM
+9xxxxx 	TrainingCamp 训练营地
+10xxxxx Formation 布阵
+11xxxxx Function 功能开启
+12xxxxx Equip 装备
+13xxxxx Task 任务相关
+14xxxxx DailyWeekly 日常周常
+15xxxxx Home 家园经营系统
+16xxxxx Summon 召唤
+17xxxxx GoldenPig 黄金猪
+18xxxxx Tower 试炼之塔
+19xxxxx Recharge 充值
+21xxxxx Promotion 活动
+	21001xx P1001ZhanLingExp 经验类战令
+	21002xx P1002ZhanLingGoal 目标类战令
+	21004xx P1004TongTianTaTeQuan 通天塔特权
+	21005xx P1005XianShiLiBao 限时礼包
+	21006xx P1006ChengZhangJiJin 成长基金
+	21007xx P1007QiRiMuBiao 七日目标
+22xxxxx Dungeon 地下城
+23xxxxx Rank 排行榜
+24xxxxx ExchangeShop 兑换商店
+25xxxxx RefineEvil 炼妖
+26xxxxx Purgatory 炼狱轮回
+27xxxxx Village 村庄守卫
+28xxxxx firstRecharge 首充
+29xxxxx DayRecharge 每日首充
+30xxxxx Treasure 珍宝阁
+31xxxxx PrivilegeBoost VIP特权
+32xxxxx 保留用于渠道相关
+	32001xx 37互娱
+33xxxxx LoginSign 登录与签到
+34xxxxx PrivilegeNormal 普通特权
+35xxxxx Friend 好友
+360xxxx Chat 聊天
+	361xxxx ChatRpc 聊天Rpc(前端不用看)
+37xxxxx Achievement 成就
+380xxxx Arena 竞技场
+	381xxxx ArenaRpc 竞技场Rpc(前端不用看)
+39xxxxx Handbook 图鉴
+
+
+

+ 28 - 0
proto_YY.bat

@@ -0,0 +1,28 @@
+::此文件需要GBK编码
+::协议脚本文件所在的项目路径
+::protoc.exe文件所在的项目路径
+set protoHome=%~dp0
+
+set script=%protoHome%src
+
+set javaoutput=D:\Git\fengwei-x1-server\x1-project\x1-protobuf
+
+cd %protoHome%
+::protoc工具是不会进行子目录递归的,需要逐个给出
+::以protofiles目录为基础创建java文件,输出在本工程的目录下
+
+::rd /s/q %project%\src\main\java\com\
+
+protoc3.11.4.exe -I=%script% --java_out=%javaoutput%/src/main/java/ %script%/*.proto
+::生成GRPC代码
+::protoc3.11.4.exe -I=%script% --plugin=protoc-gen-grpc-java=%protoHome%protoc-gen-grpc-java-1.51.0-windows-x86_64.exe --grpc-java_out=%javaoutput%/src/main/java/ %script%/*.proto
+
+
+::protoc3.11.4.exe --plugin=protoc-gen-go=%GOPATH%\bin\protoc-gen-go.exe -I=%script%/gosrc --go_out=. %script%/gosrc/*.proto
+
+::protoc3.11.4.exe -I=%script% --csharp_out=%csoutput% %script%/*.proto
+
+echo. & pause
+
+::grpc相关下载包
+::https://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-java/

BIN
protoc-gen-grpc-java-1.51.0-windows-x86_64.exe


BIN
protoc3.11.4.exe


+ 43 - 0
src/Achievement.proto

@@ -0,0 +1,43 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.achievement";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+message AchievementInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 3700001;}
+	
+	int64 point = 1;				//成就点数
+	int32 point_reward_id = 2;		//已经领取到的成就点数奖励ID
+	repeated PbTask tasks = 3;		//任务列表
+	repeated int32 over_tasks = 4;	//已经完结的任务
+}
+
+//领取任务奖励
+message AchievementTaskRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 3700002;}
+	
+	int32 task_id = 1;	//任务ID
+}
+message AchievementTaskRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 3700002;}
+	
+	int32 task_id = 1;		//任务ID
+	PbTask next_task = 2;	//下一个任务
+}
+
+//领取成就点数奖励
+message AchievementPointRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 3700003;}
+	
+}
+message AchievementPointRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 3700003;}
+	
+	int32 point_reward_id = 1;	//已经领取到的成就点数奖励ID
+}
+
+

+ 138 - 0
src/Arena.proto

@@ -0,0 +1,138 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.arena";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+import "Formation.proto";
+
+//查询赛季前五用于主城显示
+message ArenaTopInfoRequest {
+	enum Proto {UNKNOWN = 0; ID = 3800001;}
+	
+}
+message ArenaTopInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 3800001;}
+	
+	repeated PbArenaTopPlayer top_players = 1;	//赛季前5
+}
+
+//竞技场概要信息,用于在入口时显示
+message ArenaResumeInfoRequest {
+	enum Proto {UNKNOWN = 0; ID = 3800002;}
+}
+message ArenaResumeInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 3800002;}
+	
+	int32 rank = 1;		//名次
+	int64 score = 2;	//积分
+	int64 settle_time = 3;	//结算时间戳,毫秒
+}
+
+//竞技场主页面信息
+message ArenaInfoRequest {
+	enum Proto {UNKNOWN = 0; ID = 3800003;}
+}
+message ArenaInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 3800003;}
+	
+	repeated PbArenaTopPlayer top_players = 1;	//赛季前3
+	PbArenaRanker my_rank = 2;	//我的排名
+	repeated PbArenaRanker competitors = 3;	//待挑战者列表
+	int32 challenge_num = 4;	//已挑战次数
+	int32 buy_num = 5;			//已购买挑战次数
+	int64 refresh_time = 6;		//刷新挑战者的冷却时间戳,毫秒
+}
+
+//战斗请求流程顺序ArenaChallengeRequest(得到返回后展示双方阵容)->EnterBattleRequest(进入战斗)->ZoneInfoRequest(创建怪物)->EnterZoneRequest(进入区域)
+//挑战玩家
+message ArenaChallengeRequest {
+	enum Proto {UNKNOWN = 0; ID = 3800004;}
+	
+	int64 player_id = 1;	//对方玩家的ID
+	int32 server_id = 2;	//对方玩家的服务器ID
+	int32 main_hero = 3;	//我的队伍队长英雄标识
+	repeated PbFormationPos pos_list = 4;	//我的队伍站位信息
+}
+message ArenaChallengeResponse {
+	enum Proto {UNKNOWN = 0; ID = 3800004;}
+	
+	PbArenaFighter attacker = 1;//进攻方
+	PbArenaFighter defender = 2;//防守方
+}
+
+//刷新挑战列表
+message ArenaRefreshRequest {
+	enum Proto {UNKNOWN = 0; ID = 3800005;}
+}
+message ArenaRefreshResponse {
+	enum Proto {UNKNOWN = 0; ID = 3800005;}
+	
+	repeated PbArenaRanker competitors = 1;	//待挑战者列表
+}
+
+//挑战记录
+message ArenaRecordRequest {
+	enum Proto {UNKNOWN = 0; ID = 3800006;}
+	
+	int32 type = 1;	//1进攻战报,2防守战报
+}
+message ArenaRecordResponse {
+	enum Proto {UNKNOWN = 0; ID = 3800006;}
+	
+	int32 type = 1;						//1进攻战报,2防守战报
+	repeated PbArenaRecord records = 2;	//战报记录
+}
+
+message PbArenaFighter {
+	string nick = 1;				//昵称
+	int64 score = 2;				//积分
+	int64 fighting = 3;				//战力
+	repeated PbArenaHero heroPoss = 4;	//出战英雄
+}
+
+message PbArenaHero {
+	int32 identity = 1;	//英雄标识
+	int32 pos = 2;		//站位
+}
+
+message PbArenaRanker {
+	int32 rank = 1;		//名次,0未上榜
+	int64 player_id = 2;//玩家ID
+	string nick = 3;	//昵称
+	int64 score = 4;	//积分
+	int64 fighting = 5;	//战斗力
+	string head = 6;	//头像
+	int32 server_id = 7;//玩家所在服务器ID
+	int32 image = 8;	//形象
+}
+
+
+message PbArenaTopPlayer {
+	int32 rank = 1;		//名次
+	int64 player_id = 2;//玩家ID
+	string nick = 3;	//昵称
+	int32 image = 4;	//形象
+	int64 fighting = 5;	//战力
+}
+
+message PbArenaRecord {
+	int64 player_id = 1;//玩家ID
+	string nick = 2;	//昵称
+	string head = 3;	//头像
+	int64 battle_time = 4;	//战斗时间戳,毫秒
+	int32 result = 5;	//1胜利,2失败
+	int32 score = 6;	//积分增减
+}
+
+message PbArenaBattleParam {
+	
+}
+
+message PbArenaBattleResult {
+	int64 battle_time = 1;	//战斗耗时时长,毫秒
+	int64 score = 2;		//积分的变化量 
+	repeated PbThing rewards = 3;//挑战奖励
+}

+ 117 - 0
src/ArenaRpc.proto

@@ -0,0 +1,117 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.arena";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "Arena.proto";
+
+//赛季奖励结算
+message ArenaSeasonSettleRpcMessage {
+	enum Proto {UNKNOWN = 0; ID = 3810001;}
+	
+	repeated PbArenaSettleRanker rankers = 1;	//结算时的参赛者
+}
+
+//每日奖励结算
+message ArenaDailySettleRpcMessage {
+	enum Proto {UNKNOWN = 0; ID = 3810002;}
+	
+	repeated PbArenaSettleRanker rankers = 1;	//结算时的参赛者
+}
+
+
+message ArenaResumeInfoRpcRequest {
+	enum Proto {UNKNOWN = 0; ID = 3810003;}
+	
+	int32 server_id = 1;	//当前玩家的服务器ID
+}
+message ArenaResumeInfoRpcResponse {
+	enum Proto {UNKNOWN = 0; ID = 3810003;}
+	
+	int32 rank = 1;		//名次
+	int64 score = 2;	//积分
+	int64 settle_time = 3;	//结算时间戳,毫秒
+}
+
+message ArenaInfoRpcRequest {
+	enum Proto {UNKNOWN = 0; ID = 3810004;}
+	
+	int32 server_id = 1;	//当前玩家的服务器ID
+	bool refresh = 2;		//是否需要更新挑战者
+}
+message ArenaInfoRpcResponse {
+	enum Proto {UNKNOWN = 0; ID = 3810004;}
+
+	repeated PbArenaTopPlayer top_players = 1;	//赛季前3
+	PbArenaRanker my_rank = 2;				//我的排名
+	repeated PbArenaRanker competitors = 3;	//待挑战者列表
+}
+
+message ArenaRefreshRpcRequest {
+	enum Proto {UNKNOWN = 0; ID = 3810005;}
+	
+	int32 server_id = 1;	//当前玩家的服务器ID
+}
+message ArenaRefreshRpcResponse {
+	enum Proto {UNKNOWN = 0; ID = 3810005;}
+	
+	repeated PbArenaRanker competitors = 1;	//待挑战者列表
+}
+
+//战斗结束后发送至跨服更新
+message ArenaBattleEndRpcRequest {
+	enum Proto {UNKNOWN = 0; ID = 3810006;}
+
+	int64 player_id = 1;	//我的玩家ID
+	int32 server_id = 2;	//我的服务器ID
+	int64 other_player_id = 3;	//对方的玩家ID
+	int32 other_server_id = 4;	//对方的服务器ID
+	int32 result = 5;	//1胜利,2失败
+}
+message ArenaBattleEndRpcResponse {
+	enum Proto {UNKNOWN = 0; ID = 3810006;}
+	
+	int64 player_id = 1;//我的玩家ID
+	int32 server_id = 2;//我的服务器ID
+	int64 score = 3;	//积分
+	int32 rank = 4;		//名次
+}
+
+
+//战斗结束后发送至跨服更新
+message ArenaChallengeFighterRpcRequest {
+	enum Proto {UNKNOWN = 0; ID = 3810007;}
+
+	int64 player_id = 1;	//对方玩家的ID
+	int32 server_id = 2;	//对方玩家所在的服务器ID
+}
+message ArenaChallengeFighterRpcResponse {
+	enum Proto {UNKNOWN = 0; ID = 3810007;}
+	
+	int64 player_id = 1;	//对方玩家的ID
+	int32 server_id = 2;	//对方玩家所在的服务器ID
+	string fighter_json = 3;//对方玩家的战斗数据
+}
+
+//战斗结束后发送至跨服更新
+message ArenaChallengeRobotRpcRequest {
+	enum Proto {UNKNOWN = 0; ID = 3810008;}
+
+	int64 player_id = 1;	//机器人的ID
+	int32 server_id = 2;	//0
+}
+message ArenaChallengeRobotRpcResponse {
+	enum Proto {UNKNOWN = 0; ID = 3810008;}
+	
+	int64 player_id = 1;	//机器人的ID
+	int32 server_id = 2;	//0
+	string fighter_json = 3;//机器人的战斗数据
+}
+
+
+message PbArenaSettleRanker {
+	int64 player_id = 1;
+	int32 rank = 2;
+}

+ 51 - 0
src/Bag.proto

@@ -0,0 +1,51 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.bag";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+import "Equip.proto";
+
+//背包数据
+message BagInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 500001;}
+	
+	repeated PbItem grids = 1;		//道具
+	repeated PbEquip equips = 2;	//装备
+	repeated PbItem resources = 3;	//数值资源类
+}
+
+//背包中使用道具
+message BagUseItemRequest {
+	enum Proto {UNKNOWN = 0; ID = 500003;}
+	
+	int32 item_id = 1;	//道具ID
+	int64 num = 2;		//数量
+	int32 option = 3;	//选项
+}
+message BagUseItemResponse {
+	enum Proto {UNKNOWN = 0; ID = 500003;}
+	
+}
+
+
+//资源、物品变更推送
+message ThingChangeMessage {
+	enum Proto {UNKNOWN = 0; ID = 500002;}
+	
+	repeated PbThing things = 1;//变更的物品列表
+	int32 show_type = 2;		//展示方式,0不展示,1不展示,2弹窗展示,3飘字展示
+}
+
+//快捷购买
+message QuickBuyingRequest {
+	enum Proto {UNKNOWN = 0; ID = 500004;}
+	
+	int32 item = 1;	//将购买的道具ID
+	int64 num = 2;	//将购买的道具数量
+}
+message QuickBuyingResponse {
+	enum Proto {UNKNOWN = 0; ID = 500004;}
+}

+ 222 - 0
src/Battle.proto

@@ -0,0 +1,222 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.battle";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+import "Formation.proto";
+import "BattleAttr.proto";
+
+//进入战斗
+message EnterBattleRequest {
+	enum Proto {UNKNOWN = 0; ID = 300001;}
+	
+	int32 battle_type = 1;		//战斗类型
+	int32 map_id = 2;			//地图ID,有不同的配置指向
+	int32 main_hero = 3;		//对长英雄标识
+	bytes battle_params = 4;	//战斗参数
+	repeated PbFormationPos pos_list = 5;	//出战英雄站位列表,位置从1开始
+	int32 type = 6;				//前端传啥返回啥
+}
+message EnterBattleResponse {
+	enum Proto {UNKNOWN = 0; ID = 300001;}
+	
+	int32 battle_type = 1;			//战斗类型
+	int32 map_id = 2;				//地图ID
+	repeated PbSprite heroes = 3;	//出战英雄
+	int32 main_hero = 4;			//对长英雄标识
+	bytes battle_params = 5;		//战斗参数
+	int32 type = 6;				//前端传啥返回啥
+}
+
+//进入某个区域
+message EnterZoneRequest {
+	enum Proto {UNKNOWN = 0; ID = 300002;}
+	
+	int32 zone_id = 1;		//区域ID
+}
+message EnterZoneResponse {
+	enum Proto {UNKNOWN = 0; ID = 300002;}
+	
+	int32 zone_id = 1;		//区域ID
+}
+
+//请求某个区域的数据
+message ZoneInfoRequest {
+	enum Proto {UNKNOWN = 0; ID = 300003;}
+	
+	int32 zone_id = 1;		//区域ID
+}
+message ZoneInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 300003;}
+	
+	PbZone zone = 1;
+}
+
+//团灭后复活
+message BattleReviveRequest {
+	enum Proto {UNKNOWN = 0; ID = 300006;}
+	
+}
+message BattleReviveResponse {
+	enum Proto {UNKNOWN = 0; ID = 300006;}
+	
+	repeated PbSprite heroes = 1;	//出战英雄
+}
+
+//放弃当前战斗
+message BattleGiveUpRequest {
+	enum Proto {UNKNOWN = 0; ID = 300007;}
+	
+}
+message BattleGiveUpResponse {
+	enum Proto {UNKNOWN = 0; ID = 300007;}
+	
+}
+
+//杀死怪物
+message BattleKillSpriteRequest {
+	enum Proto {UNKNOWN = 0; ID = 300008;}
+	
+	repeated int32 sprite_ids = 1;	//被杀死的精灵ID
+	int32 serial_id = 2;			//递增ID
+}
+message BattleKillSpriteResponse {
+	enum Proto {UNKNOWN = 0; ID = 300008;}
+	
+	repeated PbKillSprite sprites = 1;	//被杀的精灵
+	int32 serial_id = 2;				//递增ID
+	PbBattleEndData end_data = 3;		//战斗结束的数据
+}
+
+//离线重连后同步杀死怪物
+message BattleSyncKillMonsterRequest {
+	enum Proto {UNKNOWN = 0; ID = 300009;}
+	
+	repeated PbKeyV kill_monsters = 1;	//被杀死的怪物,key怪物的配置ID,value是杀掉的数量
+}
+message BattleSyncKillMonsterResponse {
+	enum Proto {UNKNOWN = 0; ID = 300009;}
+	
+}
+
+//复活英雄
+message BattleRebornSpriteRequest {
+	enum Proto {UNKNOWN = 0; ID = 300011;}
+	
+	repeated int32 sprite_ids = 1;	//被复活的精灵ID
+}
+message BattleRebornSpriteResponse {
+	enum Proto {UNKNOWN = 0; ID = 300011;}
+	
+	repeated PbSprite sprites = 1;	//被复活的精灵ID
+}
+
+//战斗结算,战斗时间结束了,或者其他特殊的条件判定战斗结束,则需要发战斗结算
+message BattleSettleRequest {
+	enum Proto {UNKNOWN = 0; ID = 300012;}
+
+}
+message BattleSettleResponse {
+	enum Proto {UNKNOWN = 0; ID = 300012;}
+
+	PbBattleEndData end_data = 1;	//战斗结束的数据
+}
+
+//战斗GM出怪
+message BattleSpawnMonsterGmMessage {
+	enum Proto {UNKNOWN = 0; ID = 300013;}
+	
+	int32 battle_type = 1;	//战斗类型
+	PbSprite sprite = 2;	//GM增加的精灵
+}
+
+
+//更换出战英雄
+message SwitchBattleHeroRequest {
+	enum Proto {UNKNOWN = 0; ID = 300101;}
+	
+	int32 main_hero = 1;					//对长英雄标识
+	repeated PbFormationPos pos_list = 2;	//出战英雄站位列表,位置从1开始
+}
+message SwitchBattleHeroResponse {
+	enum Proto {UNKNOWN = 0; ID = 300101;}
+	
+	repeated PbSprite heroes = 1;	//出战英雄
+	int32 main_hero = 2;			//对长英雄标识
+}
+
+
+message PbTreasureEvent {
+	int32 item_id = 1;	//资源ID
+	int64 num = 2;		//资源数量
+	int32 up_item_id = 3;	//升级后的资源ID
+	int64 up_num = 4;		//升级后的资源数量
+	int64 disappear_time = 5;	//宝箱消失时间
+}
+
+message PbSprite {
+	int32 id = 1;			//精灵唯一ID
+	PbSpriteType type = 2;	//精灵类型
+	int32 identity = 3;		//英雄标识、怪物ID(对应G怪物表)
+	int32 level = 4;		//精灵等级
+	int64 reborn_time = 5;	//重生时间,毫秒,0不进行重生
+	int32 ctype = 6;		//对于怪物来说的刷新方式1世界坐标附近区域随机刷新,2世界坐标定点刷新
+	int32 cx = 7;			//地图文件中的世界坐标
+	int32 cy = 8;			//地图文件中的世界坐标
+	PbBattleAttr battle_attr = 9;	//战斗属性
+	int32 config_id = 10;	//配置ID
+	int32 fog_area = 11;	//迷雾ID
+}
+
+message PbKillSprite {
+	int32 id = 1;			//精灵唯一ID
+	int64 reborn_time = 2;	//重生时间,毫秒,小于等于0不进行重生
+	repeated PbItem drops = 3;	//掉落物,仅用于展示
+	bool has_box = 4;		//是否有掉落宝箱
+	int32 book = 5;			//掉落的书本,雷书、冰书、治疗书、加速书等
+}
+
+enum PbSpriteType {
+	UNKNOWN_SPRITE_TYPE = 0;
+	HERO = 1;
+	MONSTER = 2;
+}
+
+message PbZone {
+	int32 zone_id = 1;				//区域ID
+	repeated PbSprite sprites = 2;	//怪物、敌对英雄
+	repeated PbHarvest harvests = 3;//资源点
+	PbSprite aid_sprite = 4;		//援军
+	int32 remove_sprite_id = 5;		//需要移除的作战单位ID
+}
+
+//可被收割的资源点
+message PbHarvest {
+	int32 id = 1;			//资源点唯一ID
+	int32 identity = 2;		//资源标识(对应S收割资源类型表),树木、草堆、矿石、大矿石等等
+	int64 reborn_time = 3;	//重生时间,毫秒
+	int32 ctype = 4;		//刷新方式1世界坐标附近区域随机刷新,2世界坐标定点刷新
+	int32 cx = 5;			//地图文件中的世界坐标
+	int32 cy = 6;			//地图文件中的世界坐标
+	int32 fog_area = 7;		//迷雾ID
+}
+
+//战斗状态
+enum PbBattleEndStatus {
+	NO_STATUS = 0;
+	BATTLING = 1;				//正在战斗,还有单位存活
+	WAIT_REVIVE = 2;			//等待复活,需弹出复活界面
+	ATK_ALL_DEAD_CAMPING = 3;	//攻方全员死亡,但是在露营中
+	DEF_ALL_DEAD_NEXT = 4;		//守方全员死亡,需要进去下一层
+	WIN = 5;					//胜利
+	FAIL = 6;					//失败
+}
+
+message PbBattleEndData {
+	PbBattleEndStatus status = 1;	//战斗结束状态
+	bytes data = 2;					//战斗结束的数据,根据战斗类型进行解释
+}
+

+ 52 - 0
src/BattleAttr.proto

@@ -0,0 +1,52 @@
+syntax = "proto3";
+package pb;
+option java_package = "pb.xiugou.x1.protobuf.battleattr";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+message PbBattleAttr {
+	int64 hp = 1;	//当前血量
+	int64 maxHp = 2;	//生命
+	int64 atk = 3;	//攻击
+	int64 def = 4;	//防御
+	int64 hpRate = 5;	//血量加成
+	int64 atkRate = 6;	//攻击加成
+	int64 defRate = 7;	//防御加成
+	int64 dmgRate = 8;	//伤害加成
+	int64 hit = 9;	//命中
+	int64 dodge = 10;	//闪避
+	int64 crit = 11;	//暴击
+	int64 critDmgRate = 12;	//暴击伤害
+	int64 vampireRate = 13;	//吸血
+	int64 reduceDmg = 14;	//减伤固定值
+	int64 reduceDmgRate = 15;	//伤害减免
+	int64 cdSpdRate = 16;	//冷却时间
+	int64 moveSpd = 17;	//移动速度
+	int64 moveSpdRate = 18;	//移动速度加成
+	int64 atkSpd = 19;	//攻击速度
+	int64 atkSpdRate = 20;	//攻击速度加成
+	int64 dmgbl = 21;	//技能伤害加成
+	int64 dmg = 22;	//增伤固定值
+	int64 llmaxRate = 23;	//人族生命加成
+	int64 lldmgRate = 24;	//人族伤害加成
+	int64 mjmaxRate = 25;	//灵族生命加成
+	int64 mjdmgRate = 26;	//灵族伤害加成
+	int64 zlmaxRate = 27;	//仙族生命加成
+	int64 zldmgRate = 28;	//仙族伤害加成
+	int64 woodDmg = 29;	//伐木伤害
+	int64 mineDmg = 30;	//挖矿伤害
+	int64 llmax = 31;	//人族生命固定值
+	int64 lldmg = 32;	//人族攻击固定值
+	int64 mjmax = 33;	//灵族生命固定值
+	int64 mjdmg = 34;	//灵族攻击固定值
+	int64 zlmax = 35;	//仙族生命固定值
+	int64 zldmg = 36;	//仙族攻击固定值
+	int64 battleRange = 37;	//进战范围
+	int64 llpvedmg = 38;	//人族伙伴对怪物伤害加成
+	int64 mjpvedmg = 39;	//灵族伙伴对怪物伤害加成
+	int64 zlpvedmg = 40;	//仙族伙伴对怪物伤害加成
+	int64 pvedmg = 41;	//对怪物伤害加成
+	int64 fovRange = 42;	//视野范围
+	int64 reducecrit = 43;	//暴击抵抗
+	int64 hpBrate = 44;	//某养成系统内基础生命加成
+	int64 atkBrate = 45;	//某养成系统内基础攻击加成
+}

+ 68 - 0
src/Chat.proto

@@ -0,0 +1,68 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.chat";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+//获取聊天频道信息
+message ChatChannelInfoRequest {
+	enum Proto {UNKNOWN = 0; ID = 3600001;}
+	
+	int32 channel = 1;	//频道
+	int64 target_id = 2;//目标ID,好友聊天时传玩家ID
+}
+message ChatChannelInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 3600001;}
+	
+	int32 channel = 1;				//频道
+	int64 target_id = 2;			//目标ID,好友聊天时传玩家ID
+	repeated PbChatData chat_datas = 3;//聊天信息
+	int64 chat_cd = 4;				//聊天冷却时间
+}
+
+//在某个频道进行聊天
+message ChatToRequest {
+	enum Proto {UNKNOWN = 0; ID = 3600002;}
+	
+	int32 channel = 1;	//频道
+	int64 target_id = 2;//目标ID,好友聊天时传玩家ID
+	string content = 3;	//说话内容
+}
+message ChatToResponse {
+	enum Proto {UNKNOWN = 0; ID = 3600002;}
+	
+	int32 channel = 1;	//频道
+	int64 chat_cd = 2;	//聊天冷却时间
+}
+
+//聊天消息推送
+message ChatToMessage {
+	enum Proto {UNKNOWN = 0; ID = 3600003;}
+	
+	int32 channel = 1;		//频道
+	int64 target_id = 2;	//目标ID,好友聊天是玩家ID
+	PbChatData chat_data = 3;//聊天信息
+}
+
+//聊天频道
+enum PbChatChannel {
+	NO_CHAT = 0;
+	WORLD_CHAT = 1;	//世界(本服)聊天
+	CROSS_CHAT = 2;	//跨服聊天
+	SYS_CHAT = 3;	//系统消息
+}
+
+
+//聊天数据,暂定,目前设计得比较简单
+message PbChatData {
+	int64 id = 1;			//聊天ID
+	int64 speaker_id = 2;	//说话者ID
+	string speaker_nick = 3;//说话者昵称
+	string head = 4;		//说话者头像
+	int32 sex = 5;			//性别
+	string content = 6;		//说话内容
+	int32 vip_level = 7;	//VIP等级
+	int32 level = 8;		//角色等级
+	int64 time = 9;			//说话时间
+}

+ 27 - 0
src/ChatRpc.proto

@@ -0,0 +1,27 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.chat";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "Chat.proto";
+
+//聊天远程调用,客户端忽略
+message ChatToRpcRequest {
+	enum Proto {UNKNOWN = 0; ID = 3610001;}
+	
+	int32 channel = 1;			//频道
+	int64 target_id = 2;		//目标ID,好友聊天时传玩家ID
+	PbChatData chat_data = 3;	//聊天信息
+	bool doubt = 4;				//是否可疑
+	string ori_content = 5;		//原始内容
+}
+message ChatToRpcResponse {
+	enum Proto {UNKNOWN = 0; ID = 3610001;}
+	
+	int32 channel = 1;			//频道
+	int64 target_id = 2;		//目标ID,好友聊天时传玩家ID
+	PbChatData chat_data = 3;	//聊天信息
+	bool doubt = 4;				//是否可疑
+}

+ 73 - 0
src/Cross.proto

@@ -0,0 +1,73 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.cross";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+//服务器连接跨服
+message GameConnectConfirmRequest {
+	enum Proto {UNKNOWN = 0; ID = 101001;}
+	
+	int32 main_server_id = 1;			//主服务器ID
+	repeated int32 merge_server_ids = 2;//被合服服务器ID列表
+}
+message GameConnectConfirmResponse {
+	enum Proto {UNKNOWN = 0; ID = 101001;}
+	
+	int32 server_id = 1;	//主服务器ID
+}
+
+
+//玩家跨服消息包装
+message PlayerCrossWrapper {
+	enum Proto {UNKNOWN = 0; ID = 101002;}
+	
+	int64 player_id = 1;//玩家ID
+	int32 id = 2; 		//消息ID
+	int32 proto_id = 3;	//协议号ID
+    bytes data = 4;		//数据
+    int64 sync_id = 5;	//同步ID
+}
+
+//玩家跨服跳转消息包装
+message PlayerToOtherRequestWrapper {
+	enum Proto {UNKNOWN = 0; ID = 101003;}
+
+	int64 from_player_id = 1;	//来自玩家ID
+	int32 from_server_id = 2;	//来自玩家的服务器ID
+	int64 to_player_id = 3;		//去往玩家ID
+	int32 to_server_id = 4;		//去往玩家的服务器ID
+	int32 id = 5; 				//消息ID
+	int32 proto_id = 6;			//协议号ID
+    bytes data = 7;				//数据
+    int64 sync_id = 8;			//同步ID
+}
+
+//玩家跨服跳转消息包装
+message PlayerToOtherResponseWrapper {
+	enum Proto {UNKNOWN = 0; ID = 101004;}
+
+	int64 from_player_id = 1;	//来自玩家ID
+	int32 from_server_id = 2;	//来自玩家的服务器ID
+	int64 to_player_id = 3;		//去往玩家ID
+	int32 to_server_id = 4;		//去往玩家的服务器ID
+	int32 id = 5; 				//消息ID
+	int32 proto_id = 6;			//协议号ID
+    bytes data = 7;				//数据
+    int64 sync_id = 8;			//同步ID
+}
+
+//测试同步请求RPC
+message PlayerTestSyncWriteRpcRequest {
+	enum Proto {UNKNOWN = 0; ID = 101005;}
+	
+	int32 some_id = 1;
+	string some_str = 2;
+}
+message PlayerTestSyncWriteRpcResponse {
+	enum Proto {UNKNOWN = 0; ID = 101005;}
+	
+	int32 some_id = 1;
+	string some_str = 2;
+}

+ 48 - 0
src/DailyWeeklyTask.proto

@@ -0,0 +1,48 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.dailyweeklytask";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+message DailyWeeklyInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 1400001;}
+	
+	int32 dayPoints = 1;					//日常活跃点
+	int32 weekPoints = 2;					//周常活跃点
+	repeated int32 day_point_reward = 3;	//日常活跃奖励
+	repeated int32 week_point_reward = 4;	//周常活跃奖励
+	repeated PbTask daily_tasks = 5;		//日常任务列表
+	repeated PbTask weekly_tasks = 6;		//周常任务列表
+	int64 daily_reset_time = 7;				//日常重置时间
+	int64 weekly_reset_time = 8;			//周常重置时间
+}
+
+//领取任务奖励
+message DailyWeeklyRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 1400002;}
+	
+	int32 type = 1;	//1日常 2周常
+}
+message DailyWeeklyRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 1400002;}
+	
+	int32 type = 1;				//1日常 2周常
+	repeated PbTask tasks = 2;	//领取状态更新的任务
+	int32 points = 3;			//活跃点
+}
+
+//领取活跃度奖励
+message DailyWeeklyBoxRequest {
+	enum Proto {UNKNOWN = 0; ID = 1400003;}
+	
+	int32 type = 1;	//1日常 2周常
+}
+message DailyWeeklyBoxResponse {
+	enum Proto {UNKNOWN = 0; ID = 1400003;}
+	
+	int32 type = 1;				//1日常 2周常
+	repeated int32 box_nums = 2;//刚领取的奖励序号,增量数据
+}

+ 34 - 0
src/DayRecharge.proto

@@ -0,0 +1,34 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.dayrecharge";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+message DayRechargeInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 2900001;}
+
+	bool buy_all = 1;				//是否已经一键购买所有礼包
+	repeated int32 day_recharge = 2;//散装购买的商品ID
+	bool free_reward = 3;			//是否领取免费礼包
+	int32 buy_round = 4;			//当前可购的轮数
+}
+
+//领取免费好礼
+message DayRechargeRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 2900002;}
+}
+message DayRechargeRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 2900002;}
+	
+	bool free_reward = 1;//是否领取免费礼包
+}
+
+//每日礼包购买推送
+message DayRechargeBuyMessage {
+	enum Proto {UNKNOWN = 0; ID = 2900003;}
+	
+	bool buy_all = 1;				//是否已经一键购买所有礼包
+	repeated int32 day_recharge = 2;//散装购买的商品ID
+	int32 buy_round = 3;			//当前可购的轮数
+}

+ 22 - 0
src/Dungeon.proto

@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.dungeon";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+message DungeonInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 2200001;}
+	repeated int32 normal_dungeons= 1;	//日常副本通已关ID
+}
+
+message PbDungeonBattleParam {
+	int32 aid_hero = 1;		//援军英雄标识
+}
+
+message PbDungeonBattleResult {
+	int32 dungeon_id = 1;				//副本ID
+	repeated PbThing rewards = 2;		//通关奖励
+}

+ 112 - 0
src/Equip.proto

@@ -0,0 +1,112 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.equip";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+
+//穿戴数据
+message EquipWearInfoResponse {
+    enum Proto {UNKNOWN = 0; ID = 1200002;}
+
+    repeated int64 equip_id = 1;	//唯一id
+    int64 fighting = 2;				//主线编队战力
+    int64 equip_fighting = 3;		//装备提供的战力
+}
+
+//穿戴&替换
+message EquipChangeRequest {
+    enum Proto {UNKNOWN = 0; ID = 1200003;}
+
+    int64 equip_id = 1; //需要穿戴的装备唯一id
+}
+message EquipChangeResponse {
+    enum Proto {UNKNOWN = 0; ID = 1200003;}
+
+    int64 equip_id = 1; 			//变更的穿戴的装备唯一id
+    int64 fighting = 2;				//主线编队战力
+    int64 equip_fighting = 3;		//装备提供的战力
+}
+
+//鉴定副属性
+message EquipVerifyRequest {
+    enum Proto {UNKNOWN = 0; ID = 1200004;}
+
+    int64 equip_id = 1; //装备唯一id
+}
+message EquipVerifyResponse {
+    enum Proto {UNKNOWN = 0; ID = 1200004;}
+
+    PbEquip pbEquip = 1;
+}
+//锁定装备
+message EquipLockRequest {
+    enum Proto {UNKNOWN = 0; ID = 1200005;}
+
+    int64 equip_id = 1; //装备ID
+}
+message EquipLockResponse {
+    enum Proto {UNKNOWN = 0; ID = 1200005;}
+
+    int64 equip_id = 1; //装备ID
+    bool lock = 2;
+}
+//一件换装
+message EquipOneClickRequest {
+    enum Proto {UNKNOWN = 0; ID = 1200006;}
+
+}
+message EquipOneClickResponse {
+    enum Proto {UNKNOWN = 0; ID = 1200006;}
+    
+    repeated int64 equip_id = 1;
+    int64 fighting = 2;				//主线编队战力
+    int64 equip_fighting = 3;		//装备提供的战力
+}
+//分解装备
+message EquipSalvageRequest {
+    enum Proto {UNKNOWN = 0; ID = 1200007;}
+    
+    int64 equip_id = 1;//装备唯一id
+}
+message EquipSalvageResponse {
+    enum Proto {UNKNOWN = 0; ID = 1200007;}
+    
+    int64 equip_id = 1;    //装备
+}
+//批量分解装备
+message EquipBatchSalvageRequest {
+    enum Proto {UNKNOWN = 0; ID = 1200008;}
+    
+    repeated int64 equip_id = 1;	//装备唯一id
+}
+message EquipBatchSalvageResponse {
+    enum Proto {UNKNOWN = 0; ID = 1200008;}
+    
+    repeated int64 equips = 1;    //装备
+}
+
+//GM推送
+message EquipGmDeleteMessage {
+	enum Proto {UNKNOWN = 0; ID = 1200009;}
+	
+	repeated int64 equips = 1;    //被GM删除的装备ID
+}
+
+
+
+message PbEquip {
+    int64 id = 1;        //装备唯一ID
+    int32 identity = 2;    //装备标识
+    bool lock = 3;        //是否锁定
+    bool wear = 4;        //是否穿戴
+    bool appraise = 5;    //是否已鉴定
+    repeated PbEquipAttr sub_attrs = 6;  //副属性词条
+    int64 score = 7;    //评分
+}
+message PbEquipAttr {
+    int32 id = 1;  		//词条配置ID
+    int32 attr_id = 2;	//附属性ID
+    int64 value = 3;
+}

+ 44 - 0
src/ExchangeShop.proto

@@ -0,0 +1,44 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.exchangeshop";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+message ExchangeShopInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 2400001;}
+
+	repeated PbShop shops = 1;
+	int32 open_day = 2;			//开服天数
+}
+
+message ExchangeShopExchangeRequest {
+	enum Proto {UNKNOWN = 0; ID = 2400002;}
+
+	int32 shop_id = 1;		//兑换商店表 商店ID
+	int32 product_id = 2;	//商品ID
+	int32 exchange_num = 3;	//兑换数量
+}
+message ExchangeShopExchangeResponse {
+	enum Proto {UNKNOWN = 0; ID = 2400002;}
+
+	int32 shop_id = 1;					//商店ID
+	PbProduct product = 2;
+	PbThingReceipt receipt = 3;
+	int32 exchange_num = 4;				//兑换数量
+}
+message PbShop {
+	int32 shop_id = 1;	//商店ID
+	repeated PbProduct products = 2;
+	int64 resetTime = 3;//重置时间
+	int32 round = 4; 	//期数
+}
+
+message PbProduct {
+	int32 product_id = 1;	//商品ID
+	int64 bought_num = 2 ;	//本次重置玩家已经兑换数量
+	int32 free_num = 3;		//已使用的免费次数
+	int32 adv_num = 4;		//已使用的广告次数
+}

+ 39 - 0
src/FirstRecharge.proto

@@ -0,0 +1,39 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.firstrecharge";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+
+message FirstRechargeInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 2800001;}
+	
+	int64 daily_time = 1;	//每日重置时间
+	repeated PbFirstRechargeData recharge_data = 2;
+}
+
+//领取奖励
+message FirstRechargeRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 2800002;}
+	
+	int32 recharge_id = 1;	//充值商品ID
+}
+message FirstRechargeRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 2800002;}
+	
+	PbFirstRechargeData recharge_data = 1;
+}
+
+//首充标识变化推送
+message FirstRechargePushMessage {
+	enum Proto {UNKNOWN = 0; ID = 2800003;}
+	
+	PbFirstRechargeData recharge_data = 1;
+}
+
+message PbFirstRechargeData {
+	int32 recharge_id = 1;	//充值商品ID
+	int32 reward_day = 2;	//已经领取几天的奖励
+	int32 can_take_day = 3;	//可以领取到的奖励天数
+}

+ 58 - 0
src/Formation.proto

@@ -0,0 +1,58 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.formation";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+//布阵信息
+message FormationInfoResponse{
+	enum Proto {UNKNOWN = 0; ID = 1000001;}
+
+	repeated PbFormation formations = 1;  //布阵
+}
+
+//编队变化推送
+message FormationChangeMessage {
+	enum Proto {UNKNOWN = 0; ID = 1000002;}
+	
+	repeated PbFormation formations = 1;  //布阵
+}
+
+//保存阵容
+message FormationSaveRequest {
+	enum Proto {UNKNOWN = 0; ID = 1000003;}
+	
+	int32 type = 1;							//布阵类型
+	int32 main_hero = 2;					//可出战的英雄上限
+	repeated PbFormationPos pos_list = 3;	//站位信息
+}
+message FormationSaveResponse {
+	enum Proto {UNKNOWN = 0; ID = 1000003;}
+	
+	PbFormation formation = 1;  //布阵
+}
+
+
+message PbFormation {
+	int32 type = 1;							//布阵类型
+	int32 main_hero_identity = 2;			//可出战的英雄上限
+	repeated PbFormationPos pos_list = 3;	//站位信息
+	int64 fighting = 4;						//编队战力
+	int64 equip_fighting = 5;				//装备提供的战力
+	bool manual_change = 6;					//玩家是否修改过
+}
+message PbFormationPos {
+	int32 pos = 1;    	//位置,从1开始
+	int32 identity = 2;  //英雄类型
+}
+
+enum PbFormationType {
+	NO_FORMATION = 0;
+	MAIN = 1;			//主线布阵
+	TOWER = 2;			//普通塔
+	TOWER_STRENGTH = 3;	//力量塔布阵
+	TOWER_AGILITY = 4;	//敏捷塔布阵
+	TOWER_WISDOM = 5;	//智力塔布阵
+	GOLDEN_PIG = 6;		//黄金猪布阵
+}

+ 20 - 0
src/Friend.proto

@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.friend";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+
+message FriendInfoRequest {
+	enum Proto {UNKNOWN = 0; ID = 3500001;}
+	
+	int32 id = 1;
+	string nick = 2;	
+}
+message FriendInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 3500001;}
+	
+	int32 id = 1;
+	string nick = 2;	
+}

+ 23 - 0
src/Gm.proto

@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.gm";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+message GmRequest {
+	enum Proto {UNKNOWN = 0; ID = 800001;}
+
+	string value = 1;      //命令
+}
+message GmResponse {
+	enum Proto {UNKNOWN = 0; ID = 800001;}
+
+	bool success = 1;  //是否成功
+}
+message GmServerTimeMessage {
+	enum Proto {UNKNOWN = 0; ID = 800002;}
+	
+	int32 open_server_days = 1;//开服天数
+	int64 server_timestamp = 2;//服务器时间戳
+}

+ 28 - 0
src/GoldenPig.proto

@@ -0,0 +1,28 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.goldenpig";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+message GoldenPigInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 1700001;}
+
+	int32 challenge_num = 1;//今日已挑战次数
+	int32 max_stage = 2;	//已通关的最大难度
+	int64 daily_time = 3;	//每日重置时间
+}
+
+
+message PbGoldenPigBattleParam {
+	int32 stage = 1;	//难度
+}
+
+message PbGoldenPigBattleResult {
+	int32 challenge_num = 1;		//今日已挑战次数
+	int32 max_stage = 2;			//已通关的最大层数
+	repeated PbThing rewards = 3;	//通关奖励
+	int32 free_times = 4;			//每日剩余免费次数
+}

+ 80 - 0
src/Handbook.proto

@@ -0,0 +1,80 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.handbook";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+message HandbookInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 3900001;}
+
+	repeated PbHandbook handbooks = 1;	//图鉴
+}
+
+//图鉴激活
+message HandbookLevelUpRequest {
+	enum Proto {UNKNOWN = 0; ID = 3900002;}
+	
+	int32 book_identity = 1;	//图鉴标识
+	int32 ele_identity = 2;		//图鉴元素标识
+}
+message HandbookLevelUpResponse {
+	enum Proto {UNKNOWN = 0; ID = 3900002;}
+	
+	repeated PbHandbook handbooks = 1;	//图鉴
+}
+
+//领取图鉴进度积分奖励
+message HandbookTakeRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 3900003;}
+	
+	int32 book_identity = 1;//图鉴标识
+}
+message HandbookTakeRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 3900003;}
+	
+	int32 book_identity = 1;//图鉴标识
+	int32 reward_lv = 2;	//已经领取到的进度奖励等级
+}
+
+//领取图鉴元素奖励
+message HandbookIdentityRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 3900004;}
+	
+	int32 book_identity = 1;	//图鉴标识
+	int32 ele_identity = 2;		//图鉴元素标识
+}
+message HandbookIdentityRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 3900004;}
+	
+	int32 book_identity = 1;	//图鉴标识
+	int32 ele_identity = 2;		//图鉴元素标识
+	int32 reward_lv = 3;		//已经领取到的奖励等级
+	int32 point = 4;			//图鉴进度
+}
+
+//激活套装
+message HandbookSuitActiveRequest {
+	enum Proto {UNKNOWN = 0; ID = 3900005;}
+	
+	int32 suit_id = 1;	//套装ID
+}
+message HandbookSuitActiveResponse {
+	enum Proto {UNKNOWN = 0; ID = 3900005;}
+	
+	int32 suit_id = 1;	//套装ID
+}
+
+message PbHandbook {
+	int32 identity = 1;	//图鉴标识
+	int32 point = 2;	//积分
+	repeated PbBookDetail details = 3;	//详情
+	int32 reward_lv = 4;	//已经领取到的进度奖励等级
+	repeated int32 suits = 5;		//已经激活的套装
+}
+
+message PbBookDetail {
+	int32 identity = 1;	//图鉴元素标识
+	int32 level = 2;	//等级
+	int32 reward_lv = 3;//已经领取到的奖励等级
+}

+ 60 - 0
src/Hero.proto

@@ -0,0 +1,60 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.hero";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "BattleAttr.proto";
+import "MiniStruct.proto";
+
+//英雄列表数据
+message HeroListResponse {
+	enum Proto {UNKNOWN = 0; ID = 700001;}
+
+	repeated PbHero heroes = 1;  			//英雄列表
+	repeated PbHero unactive_heroes = 2;	//未激活的英雄列表
+}
+
+//英雄升级
+message HeroLevelUpRequest {
+	enum Proto {UNKNOWN = 0; ID = 700002;}
+
+	int32 identity = 1;  //英雄类型
+}
+message HeroLevelUpResponse {
+	enum Proto {UNKNOWN = 0; ID = 700002;}
+
+	PbHero hero = 1;	//英雄数据
+}
+
+//英雄战力属性发生变化的推送
+message HeroFightingChangeMessage {
+	enum Proto {UNKNOWN = 0; ID = 700003;}
+	
+	repeated PbHero heroes = 1;  //属性发生变化的英雄
+}
+
+message HeroAwakenRequest {
+	enum Proto {UNKNOWN = 0; ID = 700004;}
+	
+	int32 identity = 1;	//英雄标识
+	repeated PbItem items = 2;	//选用的素材英雄碎片
+}
+message HeroAwakenResponse {
+	enum Proto {UNKNOWN = 0; ID = 700004;}
+	
+	PbHero hero = 1;	//英雄数据
+}
+
+//英雄数据 
+message PbHero {
+	int32 identity = 1;	//英雄类型
+	int32 level = 2;	//英雄等级
+	int64 fragment = 3;	//碎片数量
+	int64 fighting = 4;	//战斗力
+	PbBattleAttr panel_attr = 5;//面板属性
+	bool first_get = 6;	//是否首次得到英雄
+	int32 awaken_level = 7;	//觉醒等级
+}
+

+ 71 - 0
src/Home.proto

@@ -0,0 +1,71 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.bag";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+//家园数据请求
+message HomeInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 1500001;}
+
+	int32 store_lv = 1;						//仓库等级,从0开始
+	repeated PbHomeProducer producers = 2;	//资源产出池
+	repeated PbHomeBuilding buildings = 3;	//建筑列表
+}
+
+//建筑激活
+message HomeBuildingActivateRequest {
+	enum Proto {UNKNOWN = 0; ID = 1500002;}
+	
+	int32 building_id = 1; //建筑ID
+}
+message HomeBuildingActivateResponse {
+	enum Proto {UNKNOWN = 0; ID = 1500002;}
+	
+	PbHomeBuilding building = 1;	//建筑数据
+	int32 store_lv = 2;				//仓库等级,大于0才进行赋值
+	PbHomeProducer producer = 3;	//资源产出池,需判断空
+}
+
+
+//家园资源池升级
+message HomeProducerLevelUpRequest {
+	enum Proto {UNKNOWN = 0; ID = 1500003;}
+	
+	int32 building_id = 1; //产出池ID
+}
+message HomeProducerLevelUpResponse {
+	enum Proto {UNKNOWN = 0; ID = 1500003;}
+	
+	PbHomeProducer producer = 1;
+}
+
+//领取产出
+message HomeTakeProduceRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 1500004;}
+	
+	int32 building_id = 1; //产出池ID
+}
+message HomeTakeProduceRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 1500004;}
+	
+	PbHomeProducer producer = 1;
+}
+
+//建筑数据
+message PbHomeBuilding {
+	int32 id = 1;				//建筑ID
+	bool active = 2;			//是否已激活
+	PbSceneOpening opening = 3;	//交付数据
+}
+
+//资源产出池
+message PbHomeProducer {
+	int32 id = 1;			//建筑ID
+ 	int32 level = 2;		//产出等级
+	int64 start_time = 3;	//开始产出的时间
+	int64 produce = 4;		//已产出的数量
+}

+ 38 - 0
src/LoginSign.proto

@@ -0,0 +1,38 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.loginsign";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+//登录签到数据推送
+message LoginSignInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 3300001;}
+
+	int32 login_day = 1;		//已经领取完的登录奖励天数
+	int32 open_server_day = 2;	//已开服天数
+	int32 sign_day = 3;			//已经领取完的登录奖励天数
+	int32 can_sign_day = 4;		//可以签到至的天数
+}
+
+//领取登录豪礼奖励
+message LoginSignTakeLoginRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 3300002;}
+}
+message LoginSignTakeLoginRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 3300002;}
+	
+	int32 login_day = 1;	//已经领取完的登录奖励天数
+}
+
+//领取签到奖励
+message LoginSignTakeSignRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 3300003;}
+}
+message LoginSignTakeSignRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 3300003;}
+	
+	int32 sign_day = 1;		//已经领取完的登录奖励天数
+	bool take_sign = 2;		//今天是否可以领取登录奖励
+	int32 can_sign_day = 3;	//可以签到至的天数
+}

+ 92 - 0
src/Mail.proto

@@ -0,0 +1,92 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.mail";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+//邮件数据
+message MailInfoResponse {
+    enum Proto {UNKNOWN = 0; ID = 600001;}
+
+    repeated PbMailData mails = 1; //邮件数据
+}
+
+//领取附件奖励
+message MailReceiveOneRequest {
+    enum Proto {UNKNOWN = 0; ID = 600002;}
+
+    int64 id = 1;        //邮件ID
+}
+message MailReceiveOneResponse {
+    enum Proto {UNKNOWN = 0; ID = 600002;}
+
+    int64 id = 1;        //邮件ID
+    bool receive = 2;    //是否已领
+}
+//批量领取,一键领取
+message MailReceiveBatchRequest {
+    enum Proto {UNKNOWN = 0; ID = 600003;}
+}
+message MailReceiveBatchResponse {
+    enum Proto {UNKNOWN = 0; ID = 600003;}
+    
+    repeated int64 ids = 1;	//变为已读已领取的邮件ID
+    repeated PbThing things = 2;	//批量领取到的奖励
+    bool has_full = 3;				//背包是否已经满了
+}
+
+//批量删除已读邮件
+message MailDeleteBatchRequest {
+    enum Proto {UNKNOWN = 0; ID = 600004;}
+}
+message MailDeleteBatchResponse {
+    enum Proto {UNKNOWN = 0; ID = 600004;}
+
+    repeated int64 ids = 1; //成功删除的邮件
+}
+//删除一封邮件
+message MailDeleteOneRequest {
+    enum Proto {UNKNOWN = 0; ID = 600005;}
+    
+    int64 id = 1;//邮件ID
+}
+message MailDeleteOneResponse {
+    enum Proto {UNKNOWN = 0; ID = 600005;}
+    
+    int64 id = 1;//邮件ID
+}
+
+//读邮件
+message MailReadRequest {
+    enum Proto {UNKNOWN = 0; ID = 600006;}
+
+    int64 id = 1; //邮件ID
+}
+message MailReadResponse {
+    enum Proto {UNKNOWN = 0; ID = 600006;}
+
+    int64 id = 1;	//邮件ID
+    bool read = 2;	//是否已读
+}
+
+//新邮件推送
+message MailPushMessage {
+    enum Proto {UNKNOWN = 0; ID = 600007;}
+
+    repeated PbMailData mails = 1; //邮件数据
+}
+
+
+message PbMailData {
+    int64 id = 1;					//邮件ID
+    int32 template_id = 2;			//邮件模板ID
+    repeated string title = 3;		//邮件标题参数
+    repeated string content = 4;	//邮件内容参数
+    repeated PbItem attachment = 5;	//附件
+    bool read = 6;					//是否已读
+    bool receive = 7;				//是否已领
+    int64 send_time = 8;			//发送时间,毫秒
+}

+ 273 - 0
src/Mainline.proto

@@ -0,0 +1,273 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.mainline";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+//主线数据
+message MainlineInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 400001;}
+	
+	repeated PbMainlineScene scenes = 1;//场景数据
+	int64 next_box_time = 2;			//下次出现地图宝箱的时间,毫秒
+	int32 camp_adv_num = 3;				//已进行的高级修行次数
+	int32 hang_boss_id = 4;				//离线挂机的BossID
+	PbTask task = 5;					//当前正在做的任务
+}
+
+//场景迷雾解锁
+message MainlineFogOpenRequest {
+	enum Proto {UNKNOWN = 0; ID = 400004;}
+	
+	int32 fog_id = 1;	//迷雾ID
+}
+message MainlineFogOpenResponse {
+	enum Proto {UNKNOWN = 0; ID = 400004;}
+	
+	int32 unlock_fog = 1;			//成功解锁的区域ID,为0时表示只开启了一部分
+	PbSceneOpening opening_fog = 2;	//开启进度,需判断空值
+}
+
+//传送点解锁
+message MainlineTeleportOpenRequest {
+	enum Proto {UNKNOWN = 0; ID = 400005;}
+	
+	int32 teleport_id = 1;	//传送点ID
+}
+message MainlineTeleportOpenResponse {
+	enum Proto {UNKNOWN = 0; ID = 400005;}
+	
+	int32 unlock_teleport = 1;			//成功解锁的传送点ID,为0时表示只开启了一部分
+	PbSceneOpening opening_teleport = 2;//开启进度,需判断空值
+}
+
+//野外npc素材缴纳
+message MainlineNpcOpenRequest {
+	enum Proto {UNKNOWN = 0; ID = 400006;}
+	
+	int32 npc_id = 1;	//npc
+}
+message MainlineNpcOpenResponse {
+	enum Proto {UNKNOWN = 0; ID = 400006;}
+	
+	int32 unlock_npc = 1;			//成功缴纳的npcID,为0时表示只缴纳了一部分
+	PbSceneOpening opening_npc = 2;	//开启进度,需判断空值
+	PbThingReceipt receipt = 3; 	//物品变化回执
+}
+
+//设置“回城”传送门
+message MainlineSetPortalRequest {
+	enum Proto {UNKNOWN = 0; ID = 400007;}
+	
+	int32 portal_x = 1;	//设置传送门坐标
+	int32 portal_y = 2;
+}
+message MainlineSetPortalResponse {
+	enum Proto {UNKNOWN = 0; ID = 400007;}
+	
+	int32 portal_x = 1;	//设置传送门坐标
+	int32 portal_y = 2;
+}
+
+//使用“回城”传送门
+message MainlineUsePortalRequest {
+	enum Proto {UNKNOWN = 0; ID = 400008;}
+}
+message MainlineUsePortalResponse {
+	enum Proto {UNKNOWN = 0; ID = 400008;}
+	
+	int32 portal_x = 1;	//传送门坐标
+	int32 portal_y = 2;
+}
+
+//收割树木、矿堆
+message MainlineHarvestRequest {
+	enum Proto {UNKNOWN = 0; ID = 400010;}
+	
+	int32 zone_id = 1; 		//区域ID
+	int32 harvest_id = 2;	//收获物ID
+}
+message MainlineHarvestResponse {
+	enum Proto {UNKNOWN = 0; ID = 400010;}
+	
+	int32 zone_id = 1; 		//区域ID
+	int32 harvest_id = 2;	//收获物ID
+	int64 reborn_time = 3;	//重生时间,毫秒
+}
+
+//领取主线任务奖励
+message MainlineTaskRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 400011;}
+
+}
+message MainlineTaskRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 400011;}
+	
+	PbTask task = 1;	//下一个任务
+}
+
+//使用传送点
+message MainlineUseTeleportRequest {
+	enum Proto {UNKNOWN = 0; ID = 400012;}
+	
+	int32 teleport_id = 1;
+}
+message MainlineUseTeleportResponse {
+	enum Proto {UNKNOWN = 0; ID = 400012;}
+	
+}
+
+//宝箱信息
+message MainlineBoxInfoRequest {
+	enum Proto {UNKNOWN = 0; ID = 400013;}
+	
+	int32 box_type = 1;	//1BOSS箱子,2地图箱子
+}
+message MainlineBoxInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 400013;}
+	
+	PbTreasureBox treasure_box = 1;	//箱子信息
+	int32 left_box_num = 2;			//剩余的箱子数量
+}
+
+//领取宝箱信息
+message MainlineTakeBoxRequest {
+	enum Proto {UNKNOWN = 0; ID = 400014;}
+	
+	int32 box_type = 1;	//1BOSS箱子,2地图箱子
+	bool watch_ad = 2;	//是不是观察广告
+}
+message MainlineTakeBoxResponse {
+	enum Proto {UNKNOWN = 0; ID = 400014;}
+	
+}
+
+//刷新地图宝箱
+message MainlineRefreshBoxRequest {
+	enum Proto {UNKNOWN = 0; ID = 400015;}
+}
+message MainlineRefreshBoxResponse {
+	enum Proto {UNKNOWN = 0; ID = 400015;}
+	
+	int64 next_box_time = 1;		//下次出现地图宝箱的时间,毫秒
+	bool has_box = 2;				//是否需要刷新出宝箱,true需要
+}
+
+
+//开始露营
+message MainlineStartCampRequest {
+	enum Proto {UNKNOWN = 0; ID = 400016;}
+}
+message MainlineStartCampResponse {
+	enum Proto {UNKNOWN = 0; ID = 400016;}
+	
+	int64 camp_adv_end_time = 1;	//高级露营结束时间,毫秒
+}
+
+//结束露营
+message MainlineEndCampRequest {
+	enum Proto {UNKNOWN = 0; ID = 400017;}
+}
+message MainlineEndCampResponse {
+	enum Proto {UNKNOWN = 0; ID = 400017;}
+	
+	repeated PbThing things = 1;//露营期间累计获得的物品,仅用于展示
+	int64 curr_camp_time = 2;	//本次露营持续的时间,毫秒
+}
+
+//挑战Boss时发一下这个打点
+message MainlineChallengeBossRequest {
+	enum Proto {UNKNOWN = 0; ID = 400018;}
+	
+	int32 boss_id = 1;	//bossId
+}
+message MainlineChallengeBossResponse {
+	enum Proto {UNKNOWN = 0; ID = 400018;}
+}
+
+//开启高级露营
+message MainlineOpenCampAdvRequest {
+	enum Proto {UNKNOWN = 0; ID = 400019;}
+	
+}
+message MainlineOpenCampAdvResponse {
+	enum Proto {UNKNOWN = 0; ID = 400019;}
+	
+	int64 camp_adv_end_time = 1;	//高级露营结束时间,毫秒
+	int32 camp_adv_num = 2;			//已进行的高级修行次数
+}
+
+//请求主线杀怪数量
+message MainlineKillMonsterNumRequest {
+	enum Proto {UNKNOWN = 0; ID = 400020;}
+}
+message MainlineKillMonsterNumResponse {
+	enum Proto {UNKNOWN = 0; ID = 400020;}
+	
+	int32 kill_num = 1;
+}
+
+//领取挂机奖励
+message MainlineTakeHangRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 400022;}
+}
+message MainlineTakeHangRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 400022;}
+	
+	int64 hang_time = 1;		//已挂机时间
+	PbThingReceipt receipt = 2;	//挂机收益
+}
+
+//远离时间宝箱时进行重置
+message MainlineTimeBoxFarawayRequest {
+	enum Proto {UNKNOWN = 0; ID = 400023;}
+	
+}
+message MainlineTimeBoxFarawayResponse {
+	enum Proto {UNKNOWN = 0; ID = 400023;}
+	
+	int64 next_box_time = 1;	//下次出现地图宝箱的时间,毫秒
+}
+
+//解锁下一场景入口传送门
+message MainlineOpenNextMessage {
+	enum Proto {UNKNOWN = 0; ID = 400024;}
+	
+	int32 curr_scene_id = 1;	//当前的场景ID
+	bool curr_open_next = 2;	//是否已经开启下一场景
+	PbMainlineScene new_scene = 3;	//新解锁的场景数据
+}
+
+message PbMainlineScene {
+	int32 scene_id = 1;							//场景ID
+	int32 max_stage = 2;						//最大可挑战阶段
+	repeated int32 first_stages = 3;			//已领取首通奖励的阶段
+	int32 curr_stage = 4;						//当前挑战阶段
+	repeated int32 teleports = 5;				//已经开启的传送点
+	repeated PbSceneOpening opening_teleports = 6;	//正在开启的传送点
+	repeated int32 fogs = 7;					//已经开启的迷雾
+	repeated PbSceneOpening opening_fogs = 8;	//正在开启的迷雾
+	repeated int32 npcs = 9;					//已经完成缴纳的npc
+	repeated PbSceneOpening opening_npcs = 10;	//正在缴纳的npc
+	int32 portal_x = 11;						//传送门坐标,为0表示没有传送门
+	int32 portal_y = 12;						//传送门
+	repeated int32 dungeons = 13;				//已通关的地下城副本ID
+	bool open_next = 14;						//是否已经开启下一场景
+}
+
+message PbTreasureBox {
+	int64 disappear_time = 1;	//消失时间
+	int32 box_type = 2;			//箱子类型
+	int32 box_arg = 3;			//箱子参数,根据箱子类型来用	
+}
+
+
+message PbMainlineBattleParam {
+	int32 stage = 1;
+}
+message PbMainlineBattleResult {
+	int32 revive_num = 1;	//已复活次数
+}

+ 59 - 0
src/MiniStruct.proto

@@ -0,0 +1,59 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.ministruct";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+
+
+//物品,包含道具、资源、英雄、装备
+message PbThing {
+	int32 identity = 1;	//物品标识
+	int64 num = 2;		//数量,小于0则标识扣减
+	bytes data = 3;		//扩展数据,根据道具配置的逻辑类型进行解析
+}
+
+message PbThingReceipt {
+	repeated PbThing things = 1;	//
+}
+
+message PbItem {
+	int32 item = 1;	//道具ID
+	int64 num = 2;	//数量
+}
+
+message PbTask {
+	int32 id = 1;		//任务ID
+	int64 progress = 2;	//任务进度
+	int32 status = 3;	//任务状态,0未完成,1已完成,2已领取奖励
+}
+
+//PbThing.identity是角色经验的时候,data数据的反序列化就是PbPlayerExp,需要判断PbThing.data是否为空
+message PbPlayerExp {
+	int32 old_level = 1;
+	int32 new_level = 2;
+	repeated int32 open_functions = 3;
+	int64 curr_exp = 4;
+}
+//PbThing.identity是角色vip经验的时候,data数据的反序列化就是PbPlayervipExp,需要判断PbThing.data是否为空
+message PbPlayerVipExp {
+	int32 old_level = 1;
+	int32 new_level = 2;
+	int64 curr_exp = 3;
+}
+//各种开启功能的结构数据
+message PbSceneOpening {
+	int32 id = 1;				//对应配置ID, 根据不同业务系统读取不同配置
+	repeated PbItem pay = 2;	//已经缴纳的资源与数量
+}
+
+message PbKeyV {
+	int32 key = 1;
+	int32 value = 2;
+}
+
+message PbAttr {
+	int32 attrId = 1;	
+	int64 value = 2;
+}

+ 40 - 0
src/OpenFunction.proto

@@ -0,0 +1,40 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.openfunction";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+//已开启的功能数据
+message OpenFunctionInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 1100001;}
+	
+	repeated int32 open_function_ids = 1;
+	repeated int32 new_open_function_ids = 2;	//新开启的功能,比如新版本更新时,大R已经超过新功能的开启条件,则需要提示新功能的开启
+	repeated PbGuide guides = 3;				//已完成的新手引导步骤
+}
+
+//功能开启的推送
+message OpenFunctionMessage {
+	enum Proto {UNKNOWN = 0; ID = 1100002;}
+	
+	int32 open_function_id = 1;
+}
+
+//完成某个步骤的新手引导
+message FinishGuideRequest {
+	enum Proto {UNKNOWN = 0; ID = 1100003;}
+	
+	int32 group = 1;
+	int32 step = 2;
+}
+message FinishGuideResponse {
+	enum Proto {UNKNOWN = 0; ID = 1100003;}
+	
+	PbGuide guide = 1;	//引导数据
+}
+
+message PbGuide {
+	int32 group = 1;
+	int32 step = 2;
+}

+ 86 - 0
src/P1001ZhanLingExp.proto

@@ -0,0 +1,86 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.promotion";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+//战令数据
+message ZhanLingExpInfoRequest {
+    enum Proto {UNKNOWN = 0; ID = 2100101;}
+
+    int32 type_id = 1; //活动类型ID
+}
+message ZhanLingExpInfoResponse {
+    enum Proto {UNKNOWN = 0; ID = 2100101;}
+    
+    int32 type_id = 1;			//活动类型ID
+    int32 level = 2;			//等级
+    int64 exp = 3;				//经验值
+    int32 free_reward_lv = 4;	//已领取到的免费奖励等级
+    int32 premium_reward_lv = 5;//已领取到的高级奖励等级
+    bool buy_premium = 6;  		//是否已经购买高级通行证
+}
+
+//领取战令等级奖励
+message ZhanLingExpRewardRequest {
+    enum Proto {UNKNOWN = 0; ID = 2100102;}
+    
+    int32  type_id = 1; //活动类型ID
+}
+message ZhanLingExpRewardResponse {
+    enum Proto {UNKNOWN = 0; ID = 2100102;}
+    
+    int32  type_id = 1; 		//活动类型ID
+    int32 free_reward_lv = 2;	//已领取到的免费奖励等级
+    int32 premium_reward_lv = 3;//已领取到的高级奖励等级
+}
+
+//购买战令等级
+message ZhanLingExpBuyLevelRequest {
+    enum Proto {UNKNOWN = 0; ID = 2100103;}
+    
+    int32 type_id = 1;		//活动类型ID
+    int32 buy_level = 2;	//购买几级
+}
+message ZhanLingExpBuyLevelResponse {
+    enum Proto {UNKNOWN = 0; ID = 2100103;}
+    
+    int32 type_id = 1;	//活动类型ID
+    int32 level = 2;	//当前等级
+    int32 free_reward_lv = 3;	//已领取到的免费奖励等级
+    int32 premium_reward_lv = 4;//已领取到的高级奖励等级
+}
+
+//活动配置请求
+message ZhanLingExpCfgRequest {
+	enum Proto {UNKNOWN = 0; ID = 2100104;}
+	
+	int32 type_id = 1;		//活动类型ID
+}
+message ZhanLingExpCfgResponse {
+	enum Proto {UNKNOWN = 0; ID = 2100104;}
+	
+	int32 type_id = 1;					//活动类型ID
+	repeated PbZhanLingExpCfg cfgs = 2;	//活动配置
+}
+
+//购买高级战令成功推送
+message ZhanLingExpRechargeMessage {
+	enum Proto {UNKNOWN = 0; ID = 2100105;}
+
+	int32 type_id = 1;		//活动类型ID
+	int32 level = 2;		//当前等级
+	int32 free_reward_lv = 3;	//已领取到的免费奖励等级
+    int32 premium_reward_lv = 4;//已领取到的高级奖励等级
+}
+
+message PbZhanLingExpCfg {
+	int32 level = 1;
+	int32 need_exp = 2;
+	repeated PbItem free_reward = 3;
+	repeated PbItem premium_reward = 4;
+	PbItem buy_level_cost = 5;
+}

+ 68 - 0
src/P1002ZhanLingGoal.proto

@@ -0,0 +1,68 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.promotion";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+//战令数据
+message ZhanLingGoalInfoRequest {
+    enum Proto {UNKNOWN = 0; ID = 2100201;}
+
+    int32 type_id = 1; //活动类型ID
+}
+message ZhanLingGoalInfoResponse {
+    enum Proto {UNKNOWN = 0; ID = 2100201;}
+    
+    int32 type_id = 1;					//活动类型ID
+    repeated PbTask tasks = 2;			//任务列表
+    repeated int32 premium_tasks = 3;	//已领取过高级奖励的任务ID
+    bool buy_premium = 4;  				//是否已经购买高级通行证
+}
+
+//一键领取战令目标奖励
+message ZhanLingGoalRewardRequest {
+    enum Proto {UNKNOWN = 0; ID = 2100202;}
+    
+    int32 type_id = 1; //活动类型ID
+}
+message ZhanLingGoalRewardResponse {
+    enum Proto {UNKNOWN = 0; ID = 2100202;}
+    
+    int32 type_id = 1; 					//活动类型ID
+    repeated PbTask tasks = 2;			//任务列表
+    repeated int32 premium_tasks = 3;	//已领取过高级奖励的任务ID
+}
+
+
+//活动配置请求
+message ZhanLingGoalCfgRequest {
+	enum Proto {UNKNOWN = 0; ID = 2100203;}
+	
+	int32 type_id = 1;		//活动类型ID
+}
+message ZhanLingGoalCfgResponse {
+	enum Proto {UNKNOWN = 0; ID = 2100203;}
+	
+	int32 type_id = 1;					//活动类型ID
+	repeated PbZhanLingGoalCfg cfgs = 2;	//活动配置
+}
+
+//购买高级战令成功推送
+message ZhanLingGoalRechargeMessage {
+	enum Proto {UNKNOWN = 0; ID = 2100204;}
+
+	int32 type_id = 1;		//活动类型ID
+}
+
+message PbZhanLingGoalCfg {
+	int32 id = 1;
+	string task_type = 2;
+	repeated int32 task_params = 3;
+	int64 task_target_num = 4;
+	repeated PbItem free_reward = 5;
+	repeated PbItem premium_reward = 6;
+	int32 sort_index = 7;
+}

+ 46 - 0
src/P1004TongTianTaTeQuan.proto

@@ -0,0 +1,46 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.promotion";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+//通天塔特权
+message TongTianTaTeQuanRequest {
+	enum Proto {UNKNOWN = 0; ID = 2100401;}
+}
+message TongTianTaTeQuanResponse {
+	enum Proto {UNKNOWN = 0; ID = 2100401;}
+	
+	repeated PbTTTTQDetail details = 1;	//详情数据
+}
+
+//通天塔特权领取奖励
+message TTTTQTakeRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 2100402;}
+	
+	int32 tower_type = 1;	//塔类型
+}
+message TTTTQTakeRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 2100402;}
+	
+	PbTTTTQDetail detail = 1;	//详情数据
+}
+
+//特权充值成功推送
+message TTTTQRechargeMessage {
+	enum Proto {UNKNOWN = 0; ID = 2100403;}
+	
+	PbTTTTQDetail detail = 1;	//详情数据
+}
+
+
+
+//通天塔特权详情
+message PbTTTTQDetail {
+	int32 tower_type = 1;	//塔类型
+	int32 round = 2;		//当前期数
+	bool open_high = 3;		//是否已开启高级奖励
+	int32 normal_reward_lv = 4;	//已领取的普通奖励等级
+	int32 high_reward_lv = 5;	//已领取的高级奖励等级
+}

+ 29 - 0
src/P1005XianShiLiBao.proto

@@ -0,0 +1,29 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.xianshilibao";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+//限时礼包数据推送
+message  XianShiLiBaoInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 2100501;}
+	
+	repeated PbXianShiLiBao gift_detail = 1;
+}
+
+//新礼包触发推送
+message XianShiLiPushDetailMessage {
+	enum Proto {UNKNOWN = 0; ID = 2100502;}
+	
+	repeated PbXianShiLiBao gift_detail = 1;
+}
+
+
+//充值时的json格式:{"giftId":0}
+
+message PbXianShiLiBao {
+	int32 gift_id = 1;
+	bool buy = 2;
+	int64 end_time = 3;
+}

+ 39 - 0
src/P1006ChengZhangJiJin.proto

@@ -0,0 +1,39 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.promotion";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+//成长基金
+message ChengZhangJiJinRequest {
+	enum Proto {UNKNOWN = 0; ID = 2100601;}
+}
+message ChengZhangJiJinResponse {
+	enum Proto {UNKNOWN = 0; ID = 2100601;}
+	
+	int32 round = 1;				//期数
+	bool open = 2;					//是否已购买本期基金
+	repeated int32 reward_ids = 3;	//已领取的奖励ID
+}
+
+//成长基金领取奖励
+message CZJJTakeRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 2100602;}
+	
+	int32 reward_id = 1;	//奖励ID
+}
+message CZJJTakeRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 2100602;}
+	
+	int32 round = 1;		//期数,期数跟客户端本地数据不一致时表示进入到下一期
+	bool open = 2;			//是否已购买本期基金
+	int32 reward_id = 3;	//刚成功已领取的奖励ID
+}
+
+//成长基金充值成功推送
+message CZJJRechargeMessage {
+	enum Proto {UNKNOWN = 0; ID = 2100603;}
+	
+	bool open = 1;	//是否已购买本期基金
+}

+ 42 - 0
src/P1007QiRiMuBiao.proto

@@ -0,0 +1,42 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.promotion";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+//七日目标信息
+message QiRiMuBiaoInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 2100701;}
+
+	int32 day = 1;						//当前任务解锁的天数
+	repeated PbTask tasks = 2;			//任务数据
+	int64 end_time = 3;					//结束时间,毫秒
+	repeated int32 stage_rewards = 4;	//已经领取的阶段奖励
+}
+
+//七日目标获取任务奖励
+message QRMBTakeTaskRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 2100702;}
+	
+	int32 task_id = 1;	//任务ID
+}
+message QRMBTakeTaskRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 2100702;}
+	
+	PbTask task = 1;	//任务数据
+}
+
+//七日目标是否已经领取获取任务奖励
+message QRMBTakeFinalRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 2100703;}
+	
+	int32 stage_id = 1;	//阶段ID
+}
+message QRMBTakeFinalRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 2100703;}
+	
+	int32 stage_id = 1;	//阶段ID
+}

+ 27 - 0
src/P1008ChongBang.proto

@@ -0,0 +1,27 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.promotion";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+//冲榜奖励预览
+message ChongBangRewardPreviewRequest {
+	enum Proto {UNKNOWN = 0; ID = 2100801;}
+	
+	int32 type_id = 1;	//活动类型ID
+}
+message ChongBangRewardPreviewResponse {
+	enum Proto {UNKNOWN = 0; ID = 2100801;}
+	
+	int32 type_id = 1;	//活动类型ID
+	repeated PbChongBangReward rewards = 2;	//奖励预览列表
+}
+
+message PbChongBangReward {
+	int32 rank_up = 1;
+	int32 rank_down = 2;
+	repeated PbItem items = 3;
+}

+ 66 - 0
src/P1009ZhiGou.proto

@@ -0,0 +1,66 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.promotion";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+//充值时的json格式:{"giftId":0}
+
+//直购信息
+message ZhiGouInfoRequest {
+	enum Proto {UNKNOWN = 0; ID = 2100901;}
+
+	int32 type_id = 1;	//活动类型ID
+}
+message ZhiGouInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 2100901;}
+
+	int32 type_id = 1;			//活动类型ID
+	repeated PbKeyV keyvs = 2;	//限购信息
+}
+
+//购买推送
+message ZhiGouBuyMessage {
+	enum Proto {UNKNOWN = 0; ID = 2100902;}
+	
+	int32 type_id = 1;	//活动类型ID
+	PbKeyV keyvs = 2;	//限购信息
+}
+
+//直购配置
+message ZhiGouCfgRequest {
+	enum Proto {UNKNOWN = 0; ID = 2100903;}
+	
+	int32 type_id = 1;	//活动类型ID
+}
+message ZhiGouCfgResponse {
+	enum Proto {UNKNOWN = 0; ID = 2100903;}
+	
+	int32 type_id = 1;	//活动类型ID
+	repeated PbZhiGouCfg cfgs = 2;	//
+}
+
+//领取免费奖励
+message ZhiGouTakeFreeRequest {
+	enum Proto {UNKNOWN = 0; ID = 2100904;}
+	
+	int32 type_id = 1;	//活动类型ID
+	int32 id = 2;		//礼包ID
+}
+message ZhiGouTakeFreeResponse {
+	enum Proto {UNKNOWN = 0; ID = 2100904;}
+	
+	int32 type_id = 1;	//活动类型ID
+	PbKeyV keyv = 2;	//限购信息
+}
+
+message PbZhiGouCfg {
+	int32 id = 1;	//礼包ID
+	int32 charge_product_id = 2;
+	repeated PbItem diff_reward = 3;
+	int32 limit_type = 4;
+	int32 limit_num = 5;
+}

+ 59 - 0
src/P1010HuoDongMuBiao.proto

@@ -0,0 +1,59 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.promotion";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+//活动目标
+message HuoDongMuBiaoInfoRequest {
+	enum Proto {UNKNOWN = 0; ID = 2101001;}
+
+	int32 type_id = 1;	//活动类型ID
+}
+message HuoDongMuBiaoInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 2101001;}
+
+	int32 type_id = 1;			//活动类型ID
+	repeated PbTask tasks = 2;	//任务信息
+}
+
+//领取任务奖励
+message HuoDongMuBiaoTakeRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 2101002;}
+
+	int32 type_id = 1;	//类型ID
+	int32 task_id = 2;	//任务ID
+	int32 select_item = 3;	//自选奖励道具ID
+}
+message HuoDongMuBiaoTakeRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 2101002;}
+
+	int32 type_id = 1;	//类型ID
+	PbTask tasks = 2;	//任务信息
+	repeated PbTask new_tasks = 3;	//新一轮的奖励
+}
+
+//请求活动配置
+message HuoDongMuBiaoCfgRequest {
+	enum Proto {UNKNOWN = 0; ID = 2101003;}
+	
+	int32 type_id = 1;	//类型ID
+}
+message HuoDongMuBiaoCfgResponse {
+	enum Proto {UNKNOWN = 0; ID = 2101003;}
+	
+	int32 type_id = 1;						//类型ID
+	repeated PbHuoDongMuBiaoCfg cfgs = 2;	//活动配置数据
+}
+
+message PbHuoDongMuBiaoCfg {
+	int32 id = 1;
+	int32 index = 2;
+	int64 task_target_num = 3;
+	repeated PbItem select_rewards = 4;
+	repeated PbItem rewards = 5;
+	string desc = 6;
+}

+ 68 - 0
src/P1011MeiRiChongZhi.proto

@@ -0,0 +1,68 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.promotion";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+//每日充值
+message MeiRiChongZhiInfoRequest {
+	enum Proto {UNKNOWN = 0; ID = 2101101;}
+
+	int32 type_id = 1;	//活动类型ID
+}
+message MeiRiChongZhiInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 2101101;}
+
+	int32 type_id = 1;			//活动类型ID
+	repeated PbTask tasks = 2;	//任务信息
+}
+
+//领取奖励
+message MeiRiChongZhiTakeRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 2101102;}
+
+	int32 type_id = 1;	//活动类型ID
+	int32 task_id = 2;	//奖励ID
+	int32 select_item = 3;	//自选奖励道具ID
+}
+message MeiRiChongZhiTakeRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 2101102;}
+
+	int32 type_id = 1;	//活动类型ID
+	PbTask tasks = 2;	//任务信息
+	repeated PbTask new_tasks = 3;	//新一轮的奖励,永远没值
+}
+
+//活动配置
+message MeiRiChongZhiCfgRequest {
+	enum Proto {UNKNOWN = 0; ID = 2101103;}
+	
+	int32 type_id = 1;	//活动类型ID
+}
+message MeiRiChongZhiCfgResponse {
+	enum Proto {UNKNOWN = 0; ID = 2101103;}
+	
+	int32 type_id = 1;	//活动类型ID
+	repeated PbMeiRiChongZhiCfg cfgs = 2;	//配置
+}
+
+//数据变化后的推送
+message MeiRiChongZhiChangeMessage {
+	enum Proto {UNKNOWN = 0; ID = 2101104;}
+	
+	int32 type_id = 1;	//活动类型ID
+	PbTask tasks = 2;	//任务信息
+}
+
+
+message PbMeiRiChongZhiCfg {
+	int32 id = 1;
+	int32 index = 2;
+	int64 task_target_num = 3;
+	repeated PbItem select_rewards = 4;
+	repeated PbItem rewards = 5;
+	string desc = 6;
+}

+ 165 - 0
src/Player.proto

@@ -0,0 +1,165 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.player";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+//登录
+message LoginRequest {
+	enum Proto {UNKNOWN = 0; ID = 200001;}
+
+	string open_id = 1;		//SDK提供的openId
+	int32 server_id = 2;	//服务器ID
+	string device_type = 3;	//设备类型,ANDROID,IOS,H5,PC,OTHER
+	string device_id = 4;	//设备ID
+	int32 channel_id = 5;	//渠道ID
+	string channel_identity = 6;	//渠道标识,如37、
+	bytes channel_data = 7;	//不同渠道的个性化数据
+	bool re_connect = 8;	//是否断线重现
+}
+message LoginResponse {
+	enum Proto {UNKNOWN = 0; ID = 200001;}
+
+	LoginStatus status = 1;	//登录状态
+	int64 pid = 2;      	//玩家ID
+	int64 server_time = 3;	//服务器时间,毫秒
+	int64 offset_utc = 4;	//时区偏移,毫秒
+	string nick = 5;		//
+	string head = 6;		//头像
+	int32 level = 7;		//等级
+	int64 exp = 8;			//经验
+	int64 forbind_end_time = 9;	//封号结束时间
+	int32 change_name_times = 10; //修改名字次数
+	bool buy_privilege = 11;//是否已经买永久去广告特权
+	int32 vip_level = 12;	//VIP等级
+	int32 open_day = 13;	//开服天数
+	bool open_gm = 14;		//是否开启GM
+	bool is_create = 15;	//是不是创号登录
+	int64 create_time = 16;	//创号时间
+	int64 vip_exp = 17;		//VIP经验
+}
+
+//登出
+message LogoutRequest {
+	enum Proto {UNKNOWN = 0; ID = 200003;}
+}
+//登出的推送
+message LogoutMessage {
+	enum Proto {UNKNOWN = 0; ID = 200004;}
+
+	int32 type = 1;  			//登出类型,1异地登录,2闲时过长,3连接异常,4玩家登出,5连接断开,6封号,7强制下线,8服务器维护
+	int64 forbind_end_time = 2;	//封号结束时间 
+}
+
+//心跳
+message HeartBeatRequest {
+	enum Proto {UNKNOWN = 0; ID = 200005;}
+}
+message HeartBeatResponse {
+	enum Proto {UNKNOWN = 0; ID = 200005;}
+
+	int64 server_time = 1;  //服务器时间,毫秒
+}
+
+//修改名字
+message ChangeNameRequest {
+	enum Proto {UNKNOWN = 0; ID = 200006;}
+	
+	string new_name = 1;			//新名字
+	string channel_identity = 2;	//渠道标识,如37、
+}
+message ChangeNameResponse {
+	enum Proto {UNKNOWN = 0; ID = 200006;}
+	
+	string new_name = 1;//新名字
+	int32 change_name_times = 2; //修改名字次数
+
+}
+
+message PlayerInfoChangeMessage {
+	enum Proto {UNKNOWN = 0; ID = 200007;}
+	
+	bool buy_privilege = 1;//是否已经买永久去广告特权
+}
+
+//登录推送结束
+message PlayerPushEndMessage {
+	enum Proto {UNKNOWN = 0; ID = 200008;}
+	
+}
+
+//服务器调试用
+message PlayerModuleInfoRequest {
+	enum Proto {UNKNOWN = 0; ID = 200009;}
+	
+	string module = 1;	//模块名字
+}
+message PlayerModuleInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 200009;}
+	
+}
+
+message PlayerMoreInfoRequest {
+	enum Proto {UNKNOWN = 0; ID = 200010;}
+}
+message PlayerMoreInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 200010;}
+}
+
+message PlayerMoreInfoEndMessage {
+	enum Proto {UNKNOWN = 0; ID = 200011;}
+}
+
+//窃听推送给目标玩家的消息,客户端忽略
+message PlayerWiretapRequest {
+	enum Proto {UNKNOWN = 0; ID = 200012;}
+	
+	int64 player_id = 1;	//玩家ID
+}
+message PlayerWiretapResponse {
+	enum Proto {UNKNOWN = 0; ID = 200012;}
+}
+
+//简易登录
+message EasyLoginRequest {
+	enum Proto {UNKNOWN = 0; ID = 200013;}
+
+	string open_id = 1;		//SDK提供的openId
+	int32 server_id = 2;	//服务器ID
+	string device_type = 3;	//设备类型,ANDROID,IOS,H5,PC,OTHER
+}
+
+
+
+enum LoginStatus {
+	NONE = 0;
+	NORMAL = 1;		//正常
+	FORBID = 2;		//被封号
+	MAINTAIN = 3;	//服务器维护中
+	VIOLATION = 4;	//违规
+}
+
+//37的渠道数据
+message Pb37ChannelData {
+	string appid = 1;		//应用ID,37sdk提供
+	int32 game_id = 2;		//游戏ID,37sdk提供
+	string fx_c_game_id = 3;//37sdk提供
+	string app_ext = 4;		//37sdk提供
+	string guid = 5;		//进入标识,37sdk提供
+}
+
+message PbYiLeChannelData {
+	string uid = 1;			//uid
+	string token = 2;		//登录token
+	string login_time = 3;	//登录时间
+}
+
+message PbWaboChannelData {
+	string token = 1;		//登录token
+	string uid = 2;			//uid
+}
+
+message PbFuShunChannelData {
+	string code = 1;	//登录code
+}

+ 17 - 0
src/PlayerSpace.proto

@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.playerspace";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+//使用礼包码
+message GiftCodeUseRequest {
+	enum Proto {UNKNOWN = 0; ID = 210001;}
+
+	string code = 1;      //礼包码
+}
+message GiftCodeUseResponse {
+	enum Proto {UNKNOWN = 0; ID = 210001;}
+
+}

+ 50 - 0
src/PrivilegeNormal.proto

@@ -0,0 +1,50 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.privilegenormal";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+
+//普通特权信息
+message PrivilegeNormalInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 3400001;}
+	
+	repeated PbPrivilegeNormalData privileges = 1; //特权列表
+	int64 exp_pool = 2;							//经验池经验量
+}
+
+//领取特权每日奖励
+message PrivilegeNormalTakeRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 3400002;}
+	
+	int32 privilege_id = 1;	//特权ID
+}
+message PrivilegeNormalTakeRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 3400002;}
+	
+	int32 privilege_id = 1;	//特权ID
+}
+
+//领取经验池奖励
+message PrivilegeNormalTakeExpRequest {
+	enum Proto {UNKNOWN = 0; ID = 3400003;}
+}
+message PrivilegeNormalTakeExpResponse {
+	enum Proto {UNKNOWN = 0; ID = 3400003;}
+	
+	int64 exp_pool = 1;	//经验池经验量
+}
+
+//充值成功推送
+message PrivilegeNormalRechargeMessage {
+	enum Proto {UNKNOWN = 0; ID = 3400004;}
+	
+	PbPrivilegeNormalData privilege = 1;	//特权
+}
+
+message PbPrivilegeNormalData {
+	int32 id = 1;		//特权ID
+	bool rewarded = 2;	//今日特权奖励是否已经领取
+	int64 end_time = 3;	//特权失效时间,毫秒,0表示永久生效
+}

+ 40 - 0
src/Promotion.proto

@@ -0,0 +1,40 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.promotion";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+//活动控制数据
+message PromotionInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 2100001;}
+	
+	repeated PbPromotionControl promotion_controls = 1;	//活动控制数据
+}
+
+//活动变更推送
+message PromotionInfoMessage {
+	enum Proto {UNKNOWN = 0; ID = 2100002;}
+	
+	PbPromotionControl promotion_control = 1;
+}
+
+//活动红点推送
+message PromotionRedPointMessage {
+	enum Proto {UNKNOWN = 0; ID = 2100003;}
+
+	int32 type_id = 1;		//活动类型ID
+	bool red_point = 2;		//是否显示红点
+}
+
+//开始时间->沉寂时间->结束时间
+//存在一些活动,在开始时间与沉寂时间期间会进行数据记录,比如记录任务进度的增长或获取活动积分,
+//在沉寂时间与活动结束时间期间,活动将不在记录数据变化,如不在记录任务进度增加或产出活动积分,但可以在此时间段内消耗资源(比如活动积分)进行商品购买
+message PbPromotionControl {
+	int32 type_id = 1;		//活动类型ID
+	int32 stage = 2;		//活动所在阶段,0空闲,1进行阶段,2沉寂阶段,3结束
+	int64 start_time = 3;	//活动开始时间
+	int64 still_time = 4;	//活动沉寂时间
+	int64 end_time = 5;		//活动结束时间
+	bool red_point = 6;		//是否显示红点
+}

+ 81 - 0
src/Purgatory.proto

@@ -0,0 +1,81 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.purgatory";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+import "MiniStruct.proto";
+
+//炼狱轮回数据
+message PurgatoryInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 2600001;}
+	
+	int32 level = 1;				//最高阶数(相当于sceneId)
+	int32 free_times = 2;			//玩家当天已使用的免费加成次数
+	int32 times = 3;				//剩余加成次数
+	repeated PbLevelAttr attrs = 4; //玩家当前赛季加成 阶-属性
+	int64 next_reset_time = 5; 		//下次重置时间
+}
+
+//购买加成次数
+message PurgatoryBuyPlusTimesRequest {
+	enum Proto {UNKNOWN = 0; ID = 2600002;}
+}
+
+message PurgatoryBuyPlusTimesResponse {
+	enum Proto {UNKNOWN = 0; ID = 2600002;}
+	
+	int32 times = 1;	//剩余次数
+}
+
+
+//洗练
+message PurgatoryRefineRequest {
+	enum Proto {UNKNOWN = 0; ID = 2600003;}
+	
+	int32 level = 1;  //阶数 准备洗练那一阶的属性
+	int32 status = 2; //状态 1是 2不是  是否是胜利后唤起,该参数后端不做验证
+}
+message PurgatoryRefineResponse {
+	enum Proto {UNKNOWN = 0; ID = 2600003;}
+	
+	PbAttr attr = 1;	//临时属性
+}
+
+//确认洗练
+message PurgatoryConfirmRequest {
+	enum Proto {UNKNOWN = 0; ID = 2600004;}
+	
+	int32 level = 1;	//阶数洗练那一阶的属性
+}
+message PurgatoryConfirmResponse {
+	enum Proto {UNKNOWN = 0; ID = 2600004;}
+	
+	PbAttr attr = 1;	//确认属性
+}
+
+//购买洗练道具
+message PurgatoryBuyRefineItemRequest {
+	enum Proto {UNKNOWN = 0; ID = 2600005;}
+}
+message PurgatoryBuyRefineItemResponse {
+	enum Proto {UNKNOWN = 0; ID = 2600005;}
+	
+	PbItem rewards = 1;//发放道具
+}
+
+
+message PbPurgatoryBattleParam {
+	int32 plus_flag = 1; //奖励加成标识 0为不加成 1为加成
+}
+message PbPurgatoryBattleResult {
+	int32 level = 1;  				//当前阶
+	int32 max_level = 2;    		//最大阶
+	repeated PbThing rewards = 3;	//通关奖励
+	PbAttr attr = 4;				//打完随出来的属性 或者当前阶的属性
+}
+
+message PbLevelAttr {
+	int32 level = 1;
+	PbAttr pbAttr = 2;
+}

+ 99 - 0
src/Rank.proto

@@ -0,0 +1,99 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.rank";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+//排行榜数据
+message RankRequest {
+    enum Proto {UNKNOWN = 0; ID = 2300001;}
+
+    int32 rank_type = 1;	//排行榜类型 1等级 2战力 3英雄 4装备 5炼狱轮回
+    int32 page = 2;			//页码,从1开始 直接发1就好
+}
+message RankResponse {
+    enum Proto {UNKNOWN = 0; ID = 2300001;}
+
+    int32 rank_type = 1;			//排行榜类型
+    int32 page = 2;             	//页码,从1开始
+    repeated int32 reward_id = 3;	//已领取奖励列表 奖励Id(有数据则说明已领取)
+    repeated PbRanker rank_list = 4;//排行榜列表
+    PbRanker self_rank = 5;			//自己的排行数据
+    int32 achieve_id = 6;			//达成奖励(有数据则说明可领取)
+    repeated PbRankFirstReach first_reaches = 7;	//新触发的首位达成信息
+}
+
+
+message RankInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 2300003;}
+	
+	repeated PbRankInfo rank_infos = 1;	//排行榜信息列表
+}
+
+//领取排行榜奖励
+message RankRewardRequest {
+    enum Proto {UNKNOWN = 0; ID = 2300002;}
+    
+    int32 rank_type = 1;	//排行榜类型,参考PbRankType
+    int32 reward_id = 2;	//奖励ID
+}
+message RankRewardResponse {
+    enum Proto {UNKNOWN = 0; ID = 2300002;}
+    
+    int32 rank_type = 1;			//排行榜类型,参考PbRankType
+    repeated int32 reward_id = 2;	//已领取奖励列表奖励Id (有数据则说明已领取)
+}
+
+//有新奖励达成时的推送
+message RankRewardPushMessage {
+	enum Proto {UNKNOWN = 0; ID = 2300004;}
+	
+	int32 rank_type = 1;	//排行榜类型,参考PbRankType
+	int32 achieve_id = 2;	//达成奖励(有数据则说明可领取)
+	repeated PbRankFirstReach first_reaches = 3;	//新触发的首位达成信息
+}
+
+
+//排行榜对象
+message PbRanker {
+    int64 entity_id = 1;	//实体ID
+    string name = 2;    	//名字
+    int64 score = 3;    	//分数
+    int64 sub_score = 4;	//二级分数
+    int32 rank = 5;			//排名
+    string head = 6;    	//头像
+    bytes data = 7;			//排行榜个性化数据,结合排行榜类型做解析,需要判空
+}
+
+
+enum PbRankType {
+	NONE_RANK_TYPE = 0;
+	LEVEL_RANK = 1;			//等级排行榜,PbPlayerNormalTop3
+	FIGHTING_RANK = 2;		//主线战力排行榜,PbPlayerNormalTop3
+	HERO_RANK = 3;			//英雄基础战力排行榜,PbPlayerNormalTop3
+	EQUIP_RANK = 4;			//装备排行榜,PbPlayerNormalTop3
+	PURGATORY_RANK = 5;		//炼狱轮回阶数排行榜,PbPlayerNormalTop3
+	VILLAGE_RANK = 6;		//村庄保卫关卡排行榜,PbPlayerNormalTop3
+	FOG = 7;				//迷雾解锁排行榜,PbPlayerNormalTop3
+}
+
+//普通的玩家前三信息
+message PbPlayerNormalTop3 {
+	int32 leader_hero = 1;	//对长英雄标识
+}
+
+message PbRankInfo {
+	int32 rank_type = 1;			//排行榜类型
+	int32 achieve_id = 2;			//达成奖励(有数据则说明可领取)
+	repeated int32 reward_id = 3;	//已领取奖励列表 奖励Id(有数据则说明已领取)
+}
+
+//排行榜首位达成
+message PbRankFirstReach {
+	int32 id = 1;		//对应奖励配置中的奖励ID
+	int64 player_id = 2;//玩家ID
+	string nick = 3;	//昵称
+	string head = 4;	//头像
+	int64 time = 5;		//达成时间戳,毫秒
+}

+ 113 - 0
src/Recharge.proto

@@ -0,0 +1,113 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.recharge";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+//充值信息
+message RechargeInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 1900001;}
+	
+	repeated int32 product_ids = 1;	//已经购买过的充值商品ID
+}
+
+//充值下单
+message RechargeOrderRequest {
+	enum Proto {UNKNOWN = 0; ID = 1900002;}
+	
+	int32 product_id = 1;	//充值商品ID
+	string product_data = 2;//杂七杂八的参数,根据不同商品传不同的值,传json格式字符串
+	string channel_identity = 3;	//渠道标识,如37、
+	bytes recharge_data = 4;		//不同渠道的个性化数据
+}
+message RechargeOrderResponse {
+	enum Proto {UNKNOWN = 0; ID = 1900002;}
+	
+	int32 product_id = 1;		//充值商品ID
+	string order_id = 2;		//订单ID
+	string extra_info = 3;		//透传参数,传给SDK的参数
+	string channel_identity = 4;//渠道标识,如37、
+	bytes recharge_data = 5;	//不同渠道的个性化数据
+}
+
+//代金券购买商品
+message RechargeVoucherOrderRequest {
+	enum Proto {UNKNOWN = 0; ID = 1900003;}
+	
+	int32 product_id = 1;	//充值商品ID
+	string product_data = 2;//杂七杂八的参数,根据不同商品传不同的值,传json格式字符串
+}
+message RechargeVoucherOrderResponse {
+	enum Proto {UNKNOWN = 0; ID = 1900003;}
+	
+	
+}
+
+//充值发货推送
+message RechargeGivingMessage {
+	enum Proto {UNKNOWN = 0; ID = 1900004;}
+	
+	int32 product_id = 1;			//充值商品ID
+	repeated PbThing things = 2;	//变更的物品列表
+}
+
+message PbRechargeData37 {
+	string appid = 1;
+	int32 game_id = 2;
+	int64 uid = 3;			//客户端不用填,只取值
+	int32 sid = 4;			//客户端不用填,只取值
+	string actor_id = 5;	//客户端不用填,只取值
+	string order_no = 6;	//客户端不用填,只取值
+	string money = 7;		//客户端不用填,只取值
+	int64 game_coin = 8;	//客户端不用填,只取值
+	int32 product_id = 9;	//客户端不用填,只取值
+	string subject = 10;	//客户端不用填,只取值
+	int32 time = 11;		//客户端不用填,只取值
+	string sign = 12;		//客户端不用填,只取值
+	string ext = 13;		//客户端不用填,只取值
+}
+
+//益乐充值参数
+message PbRechargeDataYiLe {
+	string amount = 1;		//支付金额,单位元,可传小数	客户端不用填,只取值
+	int64 role_id = 2;		//角色ID				客户端不用填,只取值
+	string role_name = 3;	//角色名				客户端不用填,只取值
+	int32 server_id = 4;	//角色所在区服ID		客户端不用填,只取值
+	string server_name = 5;	//角色所在区服名		客户端不用填,只取值
+	int32 goods_id = 6;		//购买商品ID			客户端不用填,只取值
+	string goods_desc = 7;	//购买商品描述		客户端不用填,只取值
+	string cp_order_id = 8;	//本次下单游戏订单号	客户端不用填,只取值
+	string ext = 9;			//透传参数			客户端不用填,只取值
+}
+
+//欧美wabo充值参数
+message PbRechargeDataWabo {
+	string callback_url = 1;//回调地址		客户端不用填,只取值
+	string amount = 2;		//支付金额,单位元,可传小数	客户端不用填,只取值
+	int64 role_id = 3;		//角色ID			客户端不用填,只取值
+	string role_name = 4;	//角色名			客户端不用填,只取值
+	int32 server_id = 5;	//角色所在区服ID	客户端不用填,只取值
+	string server_name = 6;	//角色所在区服名		客户端不用填,只取值
+	string goods_id = 7;	//购买商品ID		客户端不用填,只取值
+	string goods_desc = 8;	//购买商品描述		客户端不用填,只取值
+	string cp_order_id = 9;//本次下单游戏订单号	客户端不用填,只取值
+	string ext = 10;		//透传参数			客户端不用填,只取值
+}
+
+//福顺
+message PbRechargeDataFuShun {
+	string total_fee = 1;	//支付金额,单位分,可传小数	客户端不用填,只取值
+	int64 role_id = 2;		//角色ID				客户端不用填,只取值
+	string role_name = 3;	//角色名				客户端不用填,只取值
+	int32 server_id = 4;	//角色所在区服ID		客户端不用填,只取值
+	string server_name = 5;	//角色所在区服名		客户端不用填,只取值
+	int32 role_level = 6;	//玩家等级			客户端不用填,只取值
+	int32 vip_level = 7;	//VIP等级			客户端不用填,只取值
+	int32 product_id = 8;		//购买商品ID			客户端不用填,只取值
+	string product_name = 9;	//购买商品描述		客户端不用填,只取值
+	string cp_order_num = 10;	//本次下单游戏订单号	客户端不用填,只取值
+	string ext = 11;			//透传参数			客户端不用填,只取值
+}

+ 71 - 0
src/Recruit.proto

@@ -0,0 +1,71 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.recruit";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+//召唤信息,刷新倒计时结束时也请求info
+message RecruitInfoRequest {
+    enum Proto {UNKNOWN = 0; ID = 1600001;}
+
+}
+message RecruitInfoResponse {
+    enum Proto {UNKNOWN = 0; ID = 1600001;}
+
+    int32 stage = 1;                    //当前阶段,1:10次后紫色概率提升,2:10次后橙色概率提升
+    int32 stage_num = 2;                //当前阶段的次数
+    repeated PbRecruitSlot slots = 3;    //可召唤英雄
+    int64 refresh_time = 4;                //刷新时间
+    int32 discount_num = 5;                //今日已使用折扣次数
+    int32 ad_free_num = 6;                //已观看广告次数
+    int32 multiple = 7;                    //当前使用的倍数
+    bool activateFlag = 8;                 //酒馆激活标志 true 为激活
+    int32 total_num = 9;                    //招募总次数
+    int64 recruit_point = 10 ;              //招募总积分
+}
+
+//召唤英雄
+message RecruitHeroRequest {
+    enum Proto {UNKNOWN = 0; ID = 1600002;}
+    int32 multiple = 1;    //倍数
+
+}
+message RecruitHeroResponse {
+    enum Proto {UNKNOWN = 0; ID = 1600002;}
+
+    int32 multiple = 1;        //倍数
+    repeated PbRecruitSlot slot = 2;    //召唤槽位信息
+    int32 discount_num = 3;                //今日已使用折扣次数
+    int32 stage = 4;                    //当前阶段,1:10次后紫色概率提升,2:10次后橙色概率提升
+    int32 stage_num = 5;                //当前阶段的次数
+    int32 total_num = 6;                    //招募总次数
+    int64 recruit_point = 7 ;              //招募总积分
+}
+
+
+//手动召唤刷新
+message RecruitRefreshRequest {
+    enum Proto {UNKNOWN = 0; ID = 1600003;}
+
+    int32 cost_type = 1;    //1放弃当前召唤,2使用刷新券,3使用钻石,4广告免费刷新 5抽完三个英雄 6到达系统时间刷新
+}
+message RecruitRefreshResponse {
+    enum Proto {UNKNOWN = 0; ID = 1600003;}
+
+    repeated PbRecruitSlot slots = 1;	//可召唤英雄
+    int64 refresh_time = 2;				//刷新时间
+    int32 multiple = 3;					//当前使用的倍数
+    int32 ad_free_num = 4;				//已观看广告次数
+    int32 stage = 5;					//品质阶段
+    int32 stage_num = 6;				//当前阶段中的进度数量
+}
+
+//召唤槽位
+message PbRecruitSlot {
+    int32 identity = 1;    //英雄标识
+    int32 fragment = 2;    //碎片数量
+    int64 score = 3;    //积分
+    int32 take = 4;        //1为未中 2为已抽
+    bool  multiple_score = 5;
+}

+ 92 - 0
src/RefineEvil.proto

@@ -0,0 +1,92 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.refineevil";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+//炼妖数据
+message RefineEvilInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 2500001;}
+	
+	repeated PbRefineEvilDetail refine_evil_detail = 1;
+	repeated PbEvil evils = 2;		//妖录数据
+	int64 speed_up_time = 3;		//加速时间/分
+}
+//添加炼制妖魂
+message RefineEvilSoulRequest {
+	enum Proto {UNKNOWN = 0; ID = 2500002;}
+	
+	int32 evil_soul_id = 1;//妖魂ID
+}
+message RefineEvilSoulResponse {
+	enum Proto {UNKNOWN = 0; ID = 2500002;}
+	
+	PbRefineEvilDetail refine_evil_detail = 1;
+}
+
+//领取炼制奖励
+message RefineEvilRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 2500003;}
+	
+	int32 position = 1;//位置 目前设定只有4个位置 从0开始
+}
+message RefineEvilRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 2500003;}
+	
+	repeated PbRefineEvilDetail refine_evil_detail = 1;
+	PbThingReceipt receipt = 2;	//奖励回执
+}
+
+//一键添加
+message RefineEvilOnclickRequest {
+	enum Proto {UNKNOWN = 0; ID = 2500004;}
+}
+message RefineEvilOnclickResponse {
+	enum Proto {UNKNOWN = 0; ID = 2500004;}
+	
+	repeated PbRefineEvilDetail refine_evil_detail = 1;
+}
+
+//升阶
+message RefineEvilUpLevelRequest {
+	enum Proto {UNKNOWN = 0; ID = 2500005;}
+	
+	int32 identity = 1;//妖ID
+}
+message RefineEvilUpLevelResponse {
+	enum Proto {UNKNOWN = 0; ID = 2500005;}
+	
+	PbEvil evil = 1;
+}
+
+//加速卡
+message RefineEvilSpeedUpRequest {
+	enum Proto {UNKNOWN = 0; ID = 2500006;}
+	
+	int32 type = 1; 	//加速全部1 加速当前0
+	bool buy_time = 2;	//是否购买加速时间
+}
+message RefineEvilSpeedUpResponse {
+	enum Proto {UNKNOWN = 0; ID = 2500006;}
+	
+	repeated PbRefineEvilDetail refine_evil_detail = 1;
+}
+
+
+//炼妖详情
+message PbRefineEvilDetail {
+	int32 position = 1;		//位置
+	int32 evil_soul_id = 2; //妖魂ID
+	int32 status = 3;		//状态 0等待 1正在炼制 2炼制完成
+	int64 start_time = 4;	//开始时间
+	int64 end_time = 5;		//炼妖结束时间
+}
+//妖录
+message PbEvil {
+	int32 identity = 1;	//妖标识
+	int32 level = 2;	//阶
+	int64 fragment = 3;	//碎片
+}

+ 23 - 0
src/SanQiHuYu.proto

@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.sanqihuyu";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+//37互娱的数据
+message SanQiHuYuInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 3200101;}
+	
+	bool ask_list = 1;	//是否已领取调查问卷奖励
+}
+
+//跳转到调查问卷
+message SanQiHuYuJumpAskRequest {
+	enum Proto {UNKNOWN = 0; ID = 3200102;}
+}
+message SanQiHuYuJumpAskResponse {
+	enum Proto {UNKNOWN = 0; ID = 3200102;}
+	
+	bool ask_list = 1;	//是否已领取调查问卷奖励
+}

+ 24 - 0
src/Task.proto

@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.task";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+//玩家任务变化推送
+message PlayerTaskChangeMessage {
+	enum Proto {UNKNOWN = 0; ID = 1300001;}
+	
+	int32 task_system_type = 1;	//任务系统类型,对应PbTaskSystemType
+	repeated PbTask tasks = 2;	//有数据变化的任务
+}
+
+enum PbTaskSystemType {
+	NONE_TASK_TYPE = 0;	//什么都不是
+	MAINLINE = 1;		//主线任务
+	DAILY_TASK = 2;		//每日任务
+	WEEKLY_TASK = 3;	//每周任务
+	QRMB_TASK = 4;		//七日目标
+}

+ 15 - 0
src/Tips.proto

@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.tips";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+//后端推送提示信息,后端提示最好可以跟前端提示进行颜色区分,比如前端提示白色,后端提示红色或者黄色
+message TipsMessage {
+	enum Proto {UNKNOWN = 0; ID = 100001;}
+	
+	int32 code = 1;				//提示码
+	repeated string params = 2;	//参数
+	string dev_tips = 3;		//开发阶段的提示语
+}

+ 28 - 0
src/Tower.proto

@@ -0,0 +1,28 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.tower";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+//塔信息
+message TowerInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 1800001;}
+	
+	int32 normal_layer = 1;		//普通塔已通关层数
+	int32 strength_layer = 2;	//力量塔已通关层数
+	int32 agility_layer = 3;	//敏捷塔已通关层数
+	int32 wisdom_layer = 4;		//智力塔已通关层数
+}
+
+message PbTowerBattleParam {
+	
+}
+
+message PbTowerBattleResult {
+	int32 tower_type = 1;	//塔类型,1普通,2力量,3敏捷,4智力
+	int32 layer = 2;		//层数
+	repeated PbThing rewards = 3;//通关奖励
+}

+ 36 - 0
src/TrainingCamp.proto

@@ -0,0 +1,36 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.trainingcamp";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+//训练营信息
+message TrainingCampInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 900001;}
+	
+	int32 train_level = 1; 		//训练等级
+	int32 expert_train_level = 2;	//高级训练等级
+	int32 max_peoples = 3;			//最大出战人数
+}
+
+//激活天赋
+message TrainingCampActivateTalentRequest {
+	enum Proto {UNKNOWN = 0; ID = 900002;}
+	
+	int32 type = 1;	//1普通,2高级
+}
+message TrainingCampActivateTalentResponse {
+	enum Proto {UNKNOWN = 0; ID = 900002;}
+	
+	int32 train_level = 1; 			//普通训练等级
+	int32 expert_train_level = 2;	//高级训练等级
+	int32 max_peoples = 3;			//最大出战人数
+}
+
+//战斗出战人数变化推送
+message TrainingCampTroopNumMessage {
+	enum Proto {UNKNOWN = 0; ID = 900003;}
+	
+	int32 max_peoples = 1;	//最大出战人数
+}

+ 44 - 0
src/Treasure.proto

@@ -0,0 +1,44 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.treasure";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+message TreasureInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 3000001;}
+	
+	repeated PbRechargeShop recharge_shops = 1;
+	int32 server_open_day = 2;	//服务器开服天数
+}
+
+//珍宝阁购买成功推送
+message TreasureBuyMessage {
+	enum Proto {UNKNOWN = 0; ID = 3000002;}
+
+	int32 shop_id = 1; 	//商店ID
+	PbKeyV product = 2;	//充值商品ID-购买数量
+}
+
+//领取免费商品
+message TreasureTakeRewardRequest {
+	enum Proto {UNKNOWN = 0; ID = 3000003;}
+	
+	int32 shop_id = 1; 	//商店ID
+	int32 reward_id = 2;//免费商品ID
+}
+message TreasureTakeRewardResponse {
+	enum Proto {UNKNOWN = 0; ID = 3000003;}
+	
+	int32 shop_id = 1; 	//商店ID
+	PbKeyV product = 2;	//充值商品ID-购买数量
+}
+
+message PbRechargeShop {
+	int32 shop_id = 1; 			//商店ID
+	repeated PbKeyV product = 2;//充值商品ID-购买数量
+	int64 reset_time = 3; 		//下次重置时间单位毫秒
+	int32 period = 4;			//期数
+}

+ 67 - 0
src/Village.proto

@@ -0,0 +1,67 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.village";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+import "Hero.proto";
+import "Battle.proto";
+
+//村庄守护数据
+message VillageInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 2700001;}
+  
+	int32 level = 1; 			//关卡ID(相当于sceneId)
+	int32 today_times = 2; 		//今日挑战次数
+	int64 next_reset_time = 3;	//下次重置时间
+}
+
+
+//扫荡
+message VillageSweepRequest {
+	enum Proto {UNKNOWN = 0; ID = 2700002;}
+	
+	int32 level = 1; //关卡
+}
+message VillageSweepResponse {
+	enum Proto {UNKNOWN = 0; ID = 2700002;}
+}
+
+//召唤英雄
+message VillageConfirmHeroRequest {
+	enum Proto {UNKNOWN = 0; ID = 2700003;}
+	
+	int32 hero_id = 1; //英雄ID
+}
+
+message VillageConfirmHeroResponse {
+	enum Proto {UNKNOWN = 0; ID = 2700003;}
+	
+	int32 hero_id = 1; 		//英雄ID
+	PbSprite sprite = 2;	//新参战的单位
+}
+
+//建筑
+message VillageBuildRequest {
+	enum Proto {UNKNOWN = 0; ID = 2700004;}
+	//客户端自行判断 是建造哪个栅栏
+}
+
+message VillageBuildResponse {
+	enum Proto {UNKNOWN = 0; ID = 2700004;}
+	
+	int32 build_num = 1; //上限为3个栅栏
+}
+
+
+message PbVillageBattleResult {
+	int32 level = 1;				//关卡
+	repeated PbThing rewards = 2;	//通关奖励
+	repeated PbHero heros = 3;  	//供选择的英雄
+	int32 build_nu = 4; 			//已经建造的栅栏数量最高为三个
+}
+message PbVillageBattleParam {
+	int32 stage = 1; //波
+}

+ 42 - 0
src/Vip.proto

@@ -0,0 +1,42 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf.vip";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+import "MiniStruct.proto";
+
+//Vip特权信息
+message VipInfoResponse {
+	enum Proto {UNKNOWN = 0; ID = 3100001;}
+	
+	repeated int32 privilege_id = 1; 	//已经开通的特权表ID
+	repeated int32 vip_level_gift = 2;	//已经购买的vip等级礼包 (记录vip等级)
+	repeated PbKeyV boosts = 3;			//VIP加成项,key的定义在下面,value是具体加成数值
+}
+
+//购买Vip等级礼包
+message VipBuyGiftRequest {
+	enum Proto {UNKNOWN = 0; ID = 3100002;}
+	
+	int32 vip_level = 1; //购买的Vip等级礼包
+}
+message VipBuyGiftResponse {
+	enum Proto {UNKNOWN = 0; ID = 3100002;}
+	
+	int32 vip_level = 1; //购买的Vip等级礼包
+}
+
+//	101, 野外挂机杀怪金币加成,万分比,需要后端实现
+//	102, 野外挂机杀怪经验加成,万分比,需要后端实现
+//	103, 黄金猪副本挑战次数,次数,需要后端实现
+//	104, 招募一键全抽,大于1表示具有权限,需要前后端实现
+//	105, 开启离线挂机,大于1表示具有权限
+//	106, 免广告特权,大于1表示具有权限,需要前端实现
+//	107, 挑战副本自动战斗,大于1表示具有权限,需要前端实现
+//	108, 秘境连续挑战,大于1表示具有权限,需要前端实现
+//	109, 竞技场挑战次数,次数,需要后端实现
+//	110, 主城木场生产加成,万分比,需要后端实现
+//	111, 主城矿脉生产加成,万分比,需要后端实现
+//	112, 主城钱庄生产加成,万分比,需要后端实现

+ 15 - 0
src/Wrapper.proto

@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+package pb;
+
+option java_package = "pb.xiugou.x1.protobuf";
+option csharp_namespace = "pb.xiugou.x1.protobuf";
+
+/**
+ * 用于封装"消息"的包装结构
+ */
+message MessageWrapper {
+	int32 id = 1; 		//消息ID
+	int32 proto_id = 2;	//协议号ID
+    bytes data = 3;		//数据
+}