diff --git a/data/DB_PropExchange.dat b/data/DB_PropExchange.dat
index ab684a7..da1436a 100644
--- a/data/DB_PropExchange.dat
+++ b/data/DB_PropExchange.dat
@@ -1,5 +1,5 @@
 
-6ֆ׆ӆԆՆ"����=
-.ۆ؆نچ"����=
-WچۆӆԆֆنՆ׆؆"	�����
-]ֆ؆چۆ܆ӆԆՆ׆ن"���
\ No newline at end of file
+6ԆՆֆ׆ӆ"����=
+.چۆ؆ن"����=
+Wӆ׆؆نۆԆՆֆچ"	�����
+]ԆՆֆنچ܆ӆ׆؆ۆ"���
\ No newline at end of file
diff --git a/data/DB_Task.dat b/data/DB_Task.dat
index 39af72e..5b677b1 100644
Binary files a/data/DB_Task.dat and b/data/DB_Task.dat differ
diff --git a/protocol/bag/bag.pb.go b/protocol/bag/bag.pb.go
index b3dc67a..a7e67bb 100644
--- a/protocol/bag/bag.pb.go
+++ b/protocol/bag/bag.pb.go
@@ -230,7 +230,7 @@ type CSBagInfo struct {
 	unknownFields protoimpl.UnknownFields
 
 	NowLocation int32 `protobuf:"varint,1,opt,name=NowLocation,proto3" json:"NowLocation,omitempty"` //0.通用 1.大厅 2.Tienlen 3.捕鱼
-	Tp          int32 `protobuf:"varint,2,opt,name=Tp,proto3" json:"Tp,omitempty"`                   // 道具类型
+	Tp          int32 `protobuf:"varint,2,opt,name=Tp,proto3" json:"Tp,omitempty"`                   // 道具类型，道具表中的道具类型
 }
 
 func (x *CSBagInfo) Reset() {
diff --git a/protocol/bag/bag.proto b/protocol/bag/bag.proto
index ee6ba1a..f451c94 100644
--- a/protocol/bag/bag.proto
+++ b/protocol/bag/bag.proto
@@ -46,7 +46,7 @@ message ItemInfo{
 //PACKET_ALL_BAG_INFO
 message CSBagInfo {
   int32 NowLocation = 1;//0.通用 1.大厅 2.Tienlen 3.捕鱼
-  int32 Tp = 2;// 道具类型
+  int32 Tp = 2;// 道具类型，道具表中的道具类型
 }
 //PACKET_ALL_BAG_INFO
 message SCBagInfo {
diff --git a/protocol/player/player.pb.go b/protocol/player/player.pb.go
index faa479f..074c57e 100644
--- a/protocol/player/player.pb.go
+++ b/protocol/player/player.pb.go
@@ -20,7 +20,7 @@ const (
 	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 )
 
-//操作结果
+// 操作结果
 type OpResultCode int32
 
 const (
@@ -247,7 +247,7 @@ func (OpResultCode) EnumDescriptor() ([]byte, []int) {
 	return file_player_proto_rawDescGZIP(), []int{0}
 }
 
-//获取玩家数据消息id
+// 获取玩家数据消息id
 type PlayerPacketID int32
 
 const (
@@ -1022,8 +1022,8 @@ func (x *SCSavePlayerInfo) GetOpRetCode() OpResultCode {
 	return OpResultCode_OPRC_Sucess
 }
 
-//获取玩家基本信息
-//PACKET_CS_PLAYERDATA
+// 获取玩家基本信息
+// PACKET_CS_PLAYERDATA
 type CSPlayerData struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -1566,7 +1566,7 @@ func (x *PlayerData) GetAge() int32 {
 	return 0
 }
 
-//断线重连小游戏中的数据 当前玩家在哪个房间 哪个游戏 对应的LogicId
+// 断线重连小游戏中的数据 当前玩家在哪个房间 哪个游戏 对应的LogicId
 type MiniGameInfo struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -1630,7 +1630,7 @@ func (x *MiniGameInfo) GetLogicId() int32 {
 	return 0
 }
 
-//PACKET_SC_PLAYERDATA
+// PACKET_SC_PLAYERDATA
 type SCPlayerData struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -1726,7 +1726,7 @@ func (x *SCPlayerData) GetMiniGameArr() []*MiniGameInfo {
 	return nil
 }
 
-//PACKET_SC_PLAYERDATAUPDATE
+// PACKET_SC_PLAYERDATAUPDATE
 type SCPlayerDataUpdate struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -1878,8 +1878,8 @@ func (x *SCPlayerDataUpdate) GetInviteScore() int64 {
 	return 0
 }
 
-//获取第三方玩家信息
-//PACKET_CS_THIRDPLAYERDATA
+// 获取第三方玩家信息
+// PACKET_CS_THIRDPLAYERDATA
 type CSThirdPlayerData struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -1927,7 +1927,7 @@ func (x *CSThirdPlayerData) GetId() int32 {
 	return 0
 }
 
-//PACKET_SC_THIRDPLAYERDATA
+// PACKET_SC_THIRDPLAYERDATA
 type SCThirdPlayerData struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -1975,8 +1975,8 @@ func (x *SCThirdPlayerData) GetData() *PlayerData {
 	return nil
 }
 
-//改昵称
-//PACKET_CS_CHANGENICK
+// 改昵称
+// PACKET_CS_CHANGENICK
 type CSChangeNick struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -2024,7 +2024,7 @@ func (x *CSChangeNick) GetNick() string {
 	return ""
 }
 
-//PACKET_SC_CHANGENICK
+// PACKET_SC_CHANGENICK
 type SCChangeNick struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -2080,8 +2080,8 @@ func (x *SCChangeNick) GetNick() string {
 	return ""
 }
 
-//改密码
-//PACKET_CS_CHANGEPASSWORD
+// 改密码
+// PACKET_CS_CHANGEPASSWORD
 type CSChangePassword struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -2153,7 +2153,7 @@ func (x *CSChangePassword) GetTimeStamp() int64 {
 	return 0
 }
 
-//PACKET_SC_CHANGEPASSWORD
+// PACKET_SC_CHANGEPASSWORD
 type SCChangePassword struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -2209,8 +2209,8 @@ func (x *SCChangePassword) GetChangeType() int32 {
 	return 0
 }
 
-//更换头像
-//PACKET_CS_CHANGEICON
+// 更换头像
+// PACKET_CS_CHANGEICON
 type CSPlayerChangeIcon struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -2258,7 +2258,7 @@ func (x *CSPlayerChangeIcon) GetIcon() int32 {
 	return 0
 }
 
-//PACKET_SC_CHANGEICON
+// PACKET_SC_CHANGEICON
 type SCPlayerChangeIcon struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -2314,8 +2314,8 @@ func (x *SCPlayerChangeIcon) GetIcon() int32 {
 	return 0
 }
 
-//更换头像框
-//PACKET_CS_HEADOUTLINE
+// 更换头像框
+// PACKET_CS_HEADOUTLINE
 type CSPlayerChangeHeadOutLine struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -2363,7 +2363,7 @@ func (x *CSPlayerChangeHeadOutLine) GetHeadOutLine() int32 {
 	return 0
 }
 
-//PACKET_SC_HEADOUTLINE
+// PACKET_SC_HEADOUTLINE
 type SCPlayerChangeHeadOutLine struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -2419,8 +2419,8 @@ func (x *SCPlayerChangeHeadOutLine) GetHeadOutLine() int32 {
 	return 0
 }
 
-//更换性别
-//PACKET_CS_CHANGESEX
+// 更换性别
+// PACKET_CS_CHANGESEX
 type CSPlayerChangeSex struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -2468,7 +2468,7 @@ func (x *CSPlayerChangeSex) GetSex() int32 {
 	return 0
 }
 
-//PACKET_SC_CHANGESEX
+// PACKET_SC_CHANGESEX
 type SCPlayerChangeSex struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -2628,8 +2628,8 @@ func (x *SCHeadUrl) GetUrl() string {
 	return ""
 }
 
-//获取验证码
-//PACKET_CS_VERIFICATIONCODE
+// 获取验证码
+// PACKET_CS_VERIFICATIONCODE
 type CSPlayerVerificationCode struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -2725,7 +2725,7 @@ func (x *CSPlayerVerificationCode) GetDeviceInfo() string {
 	return ""
 }
 
-//PACKET_SC_VERIFICATIONCODE
+// PACKET_SC_VERIFICATIONCODE
 type SCPlayerVerificationCode struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -2781,8 +2781,8 @@ func (x *SCPlayerVerificationCode) GetVerificationCode() int32 {
 	return 0
 }
 
-//注册帐号
-//PACKET_CS_REGISTER
+// 注册帐号
+// PACKET_CS_REGISTER
 type CSRegister struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -2974,7 +2974,7 @@ func (x *CSRegister) GetRegistType() int32 {
 	return 0
 }
 
-//PACKET_SC_REGISTER
+// PACKET_SC_REGISTER
 type SCRegister struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -3038,8 +3038,8 @@ func (x *SCRegister) GetSrvTs() int64 {
 	return 0
 }
 
-//账号升级，绑定手机，找回密码
-//PACKET_CS_UPGRADEACCOUNT
+// 账号升级，绑定手机，找回密码
+// PACKET_CS_UPGRADEACCOUNT
 type CSUpgradeAccount struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -3127,7 +3127,7 @@ func (x *CSUpgradeAccount) GetPlatformTag() string {
 	return ""
 }
 
-//PACKET_SC_UPGRADEACCOUNT
+// PACKET_SC_UPGRADEACCOUNT
 type SCUpgradeAccount struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -3191,8 +3191,8 @@ func (x *SCUpgradeAccount) GetChangeType() int32 {
 	return 0
 }
 
-//绑定支付宝账号
-//PACKET_CS_BINDALIPAY
+// 绑定支付宝账号
+// PACKET_CS_BINDALIPAY
 type CSBindAlipay struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -3264,7 +3264,7 @@ func (x *CSBindAlipay) GetPassword() string {
 	return ""
 }
 
-//PACKET_SC_BINDALIPAY
+// PACKET_SC_BINDALIPAY
 type SCBindAlipay struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -3328,8 +3328,8 @@ func (x *SCBindAlipay) GetAlipayAccName() string {
 	return ""
 }
 
-//绑定银行卡账号
-//PACKET_CS_BINDBANK
+// 绑定银行卡账号
+// PACKET_CS_BINDBANK
 type CSBindBank struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -3409,7 +3409,7 @@ func (x *CSBindBank) GetPassword() string {
 	return ""
 }
 
-//PACKET_SC_BINDBANK
+// PACKET_SC_BINDBANK
 type SCBindBank struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -3481,8 +3481,8 @@ func (x *SCBindBank) GetBankAccName() string {
 	return ""
 }
 
-//PACKET_SC_PLAYERFLAG
-//玩家状态标记同步
+// PACKET_SC_PLAYERFLAG
+// 玩家状态标记同步
 type SCPlayerFlag struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -3538,7 +3538,7 @@ func (x *SCPlayerFlag) GetFlag() int32 {
 	return 0
 }
 
-//PACKET_SC_PLAYERCOINCHANGE
+// PACKET_SC_PLAYERCOINCHANGE
 type SCPlayerCoinChange struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -3602,7 +3602,7 @@ func (x *SCPlayerCoinChange) GetRestCoin() int64 {
 	return 0
 }
 
-//PACKET_SC_PLAYERRECHARGEANSWER
+// PACKET_SC_PLAYERRECHARGEANSWER
 type SCPlayerRechargeAnswer struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -3674,7 +3674,7 @@ func (x *SCPlayerRechargeAnswer) GetSafeBoxCoin() int64 {
 	return 0
 }
 
-//数据日志
+// 数据日志
 type DataLog struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -3754,7 +3754,7 @@ func (x *DataLog) GetRemark() string {
 	return ""
 }
 
-//PACKET_CS_GETDATALOG
+// PACKET_CS_GETDATALOG
 type CSGetDataLog struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -3810,7 +3810,7 @@ func (x *CSGetDataLog) GetVer() int32 {
 	return 0
 }
 
-//PACKET_SC_GETDATALOG
+// PACKET_SC_GETDATALOG
 type SCGetDataLog struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -3874,7 +3874,7 @@ func (x *SCGetDataLog) GetDatas() []*DataLog {
 	return nil
 }
 
-//游戏金币日志
+// 游戏金币日志
 type GameCoinLog struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -3954,7 +3954,7 @@ func (x *GameCoinLog) GetLeaveTs() int64 {
 	return 0
 }
 
-//PACKET_CS_GETGAMECOINLOG
+// PACKET_CS_GETGAMECOINLOG
 type CSGetGameCoinLog struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4002,7 +4002,7 @@ func (x *CSGetGameCoinLog) GetTs() int64 {
 	return 0
 }
 
-//PACKET_SC_GETGAMECOINLOG
+// PACKET_SC_GETGAMECOINLOG
 type SCGetGameCoinLog struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4058,8 +4058,8 @@ func (x *SCGetGameCoinLog) GetLogs() []*GameCoinLog {
 	return nil
 }
 
-//保险箱存取款
-//PACKET_CS_PLAYEROPCOIN
+// 保险箱存取款
+// PACKET_CS_PLAYEROPCOIN
 type CSPlayerOpCoin struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4131,7 +4131,7 @@ func (x *CSPlayerOpCoin) GetTimeStamp() int64 {
 	return 0
 }
 
-//PACKET_SC_PLAYEROPCOIN
+// PACKET_SC_PLAYEROPCOIN
 type SCPlayerOpCoin struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4203,7 +4203,7 @@ func (x *SCPlayerOpCoin) GetSafeBoxCoin() int64 {
 	return 0
 }
 
-//保险箱金币日志
+// 保险箱金币日志
 type SafeBoxCoinLog struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4283,7 +4283,7 @@ func (x *SafeBoxCoinLog) GetTs() int64 {
 	return 0
 }
 
-//PACKET_CS_GETSAFEBOXCOINLOG
+// PACKET_CS_GETSAFEBOXCOINLOG
 type CSGetSafeBoxCoinLog struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4331,7 +4331,7 @@ func (x *CSGetSafeBoxCoinLog) GetTs() int64 {
 	return 0
 }
 
-//PACKET_SC_GETSAFEBOXCOINLOG
+// PACKET_SC_GETSAFEBOXCOINLOG
 type SCGetSafeBoxCoinLog struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4387,8 +4387,8 @@ func (x *SCGetSafeBoxCoinLog) GetLogs() []*SafeBoxCoinLog {
 	return nil
 }
 
-//领取邀请码奖励
-//PACKET_CS_INVITECODE
+// 领取邀请码奖励
+// PACKET_CS_INVITECODE
 type CSPlayerInviteCode struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4436,7 +4436,7 @@ func (x *CSPlayerInviteCode) GetCode() string {
 	return ""
 }
 
-//PACKET_SC_INVITECODE
+// PACKET_SC_INVITECODE
 type SCPlayerInviteCode struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4484,8 +4484,8 @@ func (x *SCPlayerInviteCode) GetOpRetCode() OpResultCode {
 	return OpResultCode_OPRC_Sucess
 }
 
-//玩家API透传
-//PACKET_CS_WEBAPI_PLAYERPASS
+// 玩家API透传
+// PACKET_CS_WEBAPI_PLAYERPASS
 type CSWebAPIPlayerPass struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4549,7 +4549,7 @@ func (x *CSWebAPIPlayerPass) GetCBData() string {
 	return ""
 }
 
-//PACKET_SC_WEBAPI_PLAYERPASS
+// PACKET_SC_WEBAPI_PLAYERPASS
 type SCWebAPIPlayerPass struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4621,8 +4621,8 @@ func (x *SCWebAPIPlayerPass) GetResponse() string {
 	return ""
 }
 
-//系统API透传
-//PACKET_CS_WEBAPI_SYSTEMPASS
+// 系统API透传
+// PACKET_CS_WEBAPI_SYSTEMPASS
 type CSWebAPISystemPass struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4686,7 +4686,7 @@ func (x *CSWebAPISystemPass) GetCBData() string {
 	return ""
 }
 
-//PACKET_SC_WEBAPI_SYSTEMPASS
+// PACKET_SC_WEBAPI_SYSTEMPASS
 type SCWebAPISystemPass struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4758,8 +4758,8 @@ func (x *SCWebAPISystemPass) GetResponse() string {
 	return ""
 }
 
-//绑定推广关系
-//PACKET_CS_SPREADBIND
+// 绑定推广关系
+// PACKET_CS_SPREADBIND
 type CSSpreadBind struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4807,8 +4807,8 @@ func (x *CSSpreadBind) GetParentId() int32 {
 	return 0
 }
 
-//绑定推广关系
-//PACKET_SC_SPREADBIND
+// 绑定推广关系
+// PACKET_SC_SPREADBIND
 type SCSpreadBind struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4864,8 +4864,8 @@ func (x *SCSpreadBind) GetParentId() int32 {
 	return 0
 }
 
-//绑定推广员
-//PACKET_CS_BINDPROMOTER
+// 绑定推广员
+// PACKET_CS_BINDPROMOTER
 type CSBindPromoter struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4913,8 +4913,8 @@ func (x *CSBindPromoter) GetPromoter() string {
 	return ""
 }
 
-//绑定推广员
-//PACKET_SC_BINDPROMOTER
+// 绑定推广员
+// PACKET_SC_BINDPROMOTER
 type SCBindPromoter struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4970,8 +4970,8 @@ func (x *SCBindPromoter) GetPromoter() string {
 	return ""
 }
 
-//通知是否显示推广员绑定信息
-//PACKET_SC_BINDPROMOTERSTATE
+// 通知是否显示推广员绑定信息
+// PACKET_SC_BINDPROMOTERSTATE
 type SCBindPromoterState struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5019,8 +5019,8 @@ func (x *SCBindPromoterState) GetBindState() int32 {
 	return 0
 }
 
-//生成客服会话token
-//PACKET_CS_GENCUSTOMTOKEN
+// 生成客服会话token
+// PACKET_CS_GENCUSTOMTOKEN
 type CSGenCustomerToken struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5059,8 +5059,8 @@ func (*CSGenCustomerToken) Descriptor() ([]byte, []int) {
 	return file_player_proto_rawDescGZIP(), []int{59}
 }
 
-//生成客服会话token
-//PACKET_SC_GENCUSTOMTOKEN
+// 生成客服会话token
+// PACKET_SC_GENCUSTOMTOKEN
 type SCGenCustomerToken struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5163,8 +5163,8 @@ func (x *CustomerMsg) GetData() string {
 	return ""
 }
 
-//客服新消息提醒
-//PACKET_SC_CUSTOMNEWMSG
+// 客服新消息提醒
+// PACKET_SC_CUSTOMNEWMSG
 type SCCustomerNewMsg struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5212,7 +5212,7 @@ func (x *SCCustomerNewMsg) GetData() []*CustomerMsg {
 	return nil
 }
 
-//PACKET_CS_CUSTOMNEWMSGACK
+// PACKET_CS_CUSTOMNEWMSGACK
 type CSCustomerNewMsgAck struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5260,8 +5260,8 @@ func (x *CSCustomerNewMsgAck) GetMsgIds() []string {
 	return nil
 }
 
-//获取图片验证码
-//PACKET_CS_GETIMAGEVERIFYCODE
+// 获取图片验证码
+// PACKET_CS_GETIMAGEVERIFYCODE
 type CSGetImageVerifyCode struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5300,7 +5300,7 @@ func (*CSGetImageVerifyCode) Descriptor() ([]byte, []int) {
 	return file_player_proto_rawDescGZIP(), []int{64}
 }
 
-//PACKET_SC_GETIMAGEVERIFYCODE
+// PACKET_SC_GETIMAGEVERIFYCODE
 type SCGetImageVerifyCode struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5357,7 +5357,7 @@ func (x *SCGetImageVerifyCode) GetImageData() string {
 }
 
 // 验证图片验证码
-//PACKET_CS_ImageVerifyCode
+// PACKET_CS_ImageVerifyCode
 type CSImageVerifyCode struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5405,7 +5405,7 @@ func (x *CSImageVerifyCode) GetCode() string {
 	return ""
 }
 
-//PACKET_SC_ImageVerifyCode
+// PACKET_SC_ImageVerifyCode
 type SCImageVerifyCode struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5453,8 +5453,8 @@ func (x *SCImageVerifyCode) GetOpRetCode() OpResultCode {
 	return OpResultCode_OPRC_Sucess
 }
 
-//玩家托管
-//PACKET_SC_TRUSTEESHIPTIPS
+// 玩家托管
+// PACKET_SC_TRUSTEESHIPTIPS
 type SCTrusteeshipTips struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5526,8 +5526,8 @@ func (x *SCTrusteeshipTips) GetOpParams() []int32 {
 	return nil
 }
 
-//获取滑块验证码
-//PACKET_CS_GETSLIDERVERIFYCODE
+// 获取滑块验证码
+// PACKET_CS_GETSLIDERVERIFYCODE
 type CSGetSliderVerifyCode struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5575,8 +5575,8 @@ func (x *CSGetSliderVerifyCode) GetTel() string {
 	return ""
 }
 
-//获取滑块验证码
-//PACKET_SC_GETSLIDERVERIFYCODE
+// 获取滑块验证码
+// PACKET_SC_GETSLIDERVERIFYCODE
 type SCGetSliderVerifyCode struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5632,8 +5632,8 @@ func (x *SCGetSliderVerifyCode) GetPos() int32 {
 	return 0
 }
 
-//标注ios用户准备升级稳定版本
-//PACKET_CS_IOSINSTALLSTABLE
+// 标注ios用户准备升级稳定版本
+// PACKET_CS_IOSINSTALLSTABLE
 type CSIosInstallStable struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5689,8 +5689,8 @@ func (x *CSIosInstallStable) GetTel() string {
 	return ""
 }
 
-//标注ios用户准备升级稳定版本
-//PACKET_SC_IOSINSTALLSTABLE
+// 标注ios用户准备升级稳定版本
+// PACKET_SC_IOSINSTALLSTABLE
 type SCIosInstallStable struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5793,7 +5793,7 @@ func (x *SrvMsgParam) GetStrParam() string {
 	return ""
 }
 
-//服务端消息提示
+// 服务端消息提示
 type SCSrvMsg struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -6103,7 +6103,7 @@ func (x *SCFishJackpotCoin) GetCoin() int64 {
 	return 0
 }
 
-//PACKET_SC_NICEIDREBIND
+// PACKET_SC_NICEIDREBIND
 type SCNiceIdRebind struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -6159,8 +6159,8 @@ func (x *SCNiceIdRebind) GetNiceId() int32 {
 	return 0
 }
 
-//请求客损功能是否打开
-//PACKET_CS_GetSpreadLWIsOpen
+// 请求客损功能是否打开
+// PACKET_CS_GetSpreadLWIsOpen
 type CSGetSpreadLWIsOpen struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -6199,8 +6199,8 @@ func (*CSGetSpreadLWIsOpen) Descriptor() ([]byte, []int) {
 	return file_player_proto_rawDescGZIP(), []int{81}
 }
 
-//获取滑块验证码
-//PACKET_SC_GETSLIDERVERIFYCODE
+// 获取滑块验证码
+// PACKET_SC_GETSLIDERVERIFYCODE
 type SCGetSpreadLWIsOpen struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -6335,7 +6335,7 @@ func (x *PayActInfo) GetState() int32 {
 	return 0
 }
 
-//PACKET_SC_PayAct_State
+// PACKET_SC_PayAct_State
 type SCPayActState struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -6383,7 +6383,7 @@ func (x *SCPayActState) GetPayState() []*PayActInfo {
 	return nil
 }
 
-//PACKET_CS_QUERYPLAYER
+// PACKET_CS_QUERYPLAYER
 type CSQueryPlayer struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -6494,7 +6494,7 @@ func (x *RoleOrPet) GetName() string {
 	return ""
 }
 
-//PACKET_SC_QUERYPLAYER
+// PACKET_SC_QUERYPLAYER
 type SCQueryPlayer struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -6670,7 +6670,7 @@ func (x *SCQueryPlayer) GetGameID() []int32 {
 	return nil
 }
 
-//PACKET_CS_PMCMD
+// PACKET_CS_PMCMD
 type CSPMCmd struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -6718,8 +6718,8 @@ func (x *CSPMCmd) GetCmd() string {
 	return ""
 }
 
-//PACKET_CS_ROBOTCHGDATA
-//获取玩家基本信息
+// PACKET_CS_ROBOTCHGDATA
+// 获取玩家基本信息
 type CSRobotChgData struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -6767,7 +6767,7 @@ func (x *CSRobotChgData) GetParams() []string {
 	return nil
 }
 
-//物品信息 后续精简
+// 物品信息 后续精简
 type ItemInfo struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -6975,8 +6975,8 @@ func (x *JybInfoAward) GetDiamond() int64 {
 	return 0
 }
 
-//  PACKET_ALL_SETTING
-//  设置界面的相关操作
+// PACKET_ALL_SETTING
+// 设置界面的相关操作
 type CSPlayerSetting struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -7087,7 +7087,7 @@ func (x *SCPlayerSetting) GetGainItem() *JybInfoAward {
 	return nil
 }
 
-//PACKET_SCGAMEEXDROPITEMS
+// PACKET_SCGAMEEXDROPITEMS
 type SCGameExDropItems struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -7135,8 +7135,8 @@ func (x *SCGameExDropItems) GetItems() map[int32]int32 {
 	return nil
 }
 
-//VIP充值 假充值 后续走三方回调
-//PACKET_CS_VIPBUY
+// VIP充值 假充值 后续走三方回调
+// PACKET_CS_VIPBUY
 type CSVIPBuy struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -7184,8 +7184,8 @@ func (x *CSVIPBuy) GetMoney() int32 {
 	return 0
 }
 
-//VIP充值
-//PACKET_SC_VIPBUY
+// VIP充值
+// PACKET_SC_VIPBUY
 type SCVIPBuy struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -7257,8 +7257,8 @@ func (x *SCVIPBuy) GetTolVipExp() int64 {
 	return 0
 }
 
-//VIP领取
-//PACKET_CS_DRAWVIPGIFT
+// VIP领取
+// PACKET_CS_DRAWVIPGIFT
 type CSVIPDraw struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -7306,8 +7306,8 @@ func (x *CSVIPDraw) GetId() int32 {
 	return 0
 }
 
-//VIP领取
-//PACKET_SC_DRAWVIPGIFT
+// VIP领取
+// PACKET_SC_DRAWVIPGIFT
 type SCVIPDraw struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -7371,8 +7371,8 @@ func (x *SCVIPDraw) GetOpRetCode() OpResultCode {
 	return OpResultCode_OPRC_Sucess
 }
 
-//VIP信息
-//PACKET_CS_VIPINFO
+// VIP信息
+// PACKET_CS_VIPINFO
 type CSVIPInfo struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -7586,8 +7586,8 @@ func (x *VIPcfg) GetBagStatus() []int32 {
 	return nil
 }
 
-//VIP信息
-//PACKET_SC_VIPINFO
+// VIP信息
+// PACKET_SC_VIPINFO
 type SCVIPInfo struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -7683,14 +7683,13 @@ func (x *SCVIPInfo) GetMoneyRatio() int32 {
 	return 0
 }
 
-//
-//PACKET_SC_SWELFAREINFO
+// PACKET_SC_SWELFAREINFO
 type SCEasyWelfaredInfo struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 
-	WelfareSwitch []int32 `protobuf:"varint,1,rep,packed,name=WelfareSwitch,proto3" json:"WelfareSwitch,omitempty"` // 下标 0转盘1盲盒2首冲3连续充值4抽手机活动  1显示 2不显示
+	WelfareSwitch []int32 `protobuf:"varint,1,rep,packed,name=WelfareSwitch,proto3" json:"WelfareSwitch,omitempty"` // 下标 0转盘1盲盒2首冲3连续充值4抽手机活动5集卡活动  1显示 2不显示
 }
 
 func (x *SCEasyWelfaredInfo) Reset() {
@@ -7779,7 +7778,7 @@ func (x *CSVIPPrivilegeInfo) GetCode() int32 {
 	return 0
 }
 
-//PACKET_SC_VIPPrivilegeInfo
+// PACKET_SC_VIPPrivilegeInfo
 type SCVIPPrivilegeInfo struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -7906,8 +7905,8 @@ func (x *PayItem) GetItemNum() int64 {
 	return 0
 }
 
-//支付掉落
-//PACKET_SC_PAYGOODSINFO
+// 支付掉落
+// PACKET_SC_PAYGOODSINFO
 type SCPayGoodsInfo struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -7964,7 +7963,7 @@ func (x *SCPayGoodsInfo) GetItem() []*PayItem {
 }
 
 // 资源更新
-//PACKET_SC_RESOURCE
+// PACKET_SC_RESOURCE
 type SCResource struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -8012,7 +8011,7 @@ func (x *SCResource) GetMsg() string {
 	return ""
 }
 
-//PACKET_CS_CLIENT_LOG
+// PACKET_CS_CLIENT_LOG
 type CSClientLog struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -8060,7 +8059,7 @@ func (x *CSClientLog) GetData() string {
 	return ""
 }
 
-//PACKET_SC_CLIENT_LOG
+// PACKET_SC_CLIENT_LOG
 type SCClientLog struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -8108,8 +8107,8 @@ func (x *SCClientLog) GetOpRetCode() OpResultCode {
 	return OpResultCode_OPRC_Sucess
 }
 
-//捕鱼解锁炮倍
-//PACKET_SC_PlayerUnPower
+// 捕鱼解锁炮倍
+// PACKET_SC_PlayerUnPower
 type SCPlayerUnPower struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -8157,8 +8156,8 @@ func (x *SCPlayerUnPower) GetUnMaxpower() int64 {
 	return 0
 }
 
-//捕鱼解锁炮台
-//PACKET_SC_PlayerUnPowerList
+// 捕鱼解锁炮台
+// PACKET_SC_PlayerUnPowerList
 type SCPlayerUnPowerList struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -8206,8 +8205,8 @@ func (x *SCPlayerUnPowerList) GetUnPowerList() int32 {
 	return 0
 }
 
-//玩家升级
-//PACKET_SC_PlayerUpLevel
+// 玩家升级
+// PACKET_SC_PlayerUpLevel
 type SCPlayerUpLevel struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -8745,8 +8744,8 @@ func (x *SCHttpPass) GetResponse() string {
 	return ""
 }
 
-//抽手机 请求抽奖数据
-//PACKET_CS_PhoneLotteryInfo
+// 抽手机 请求抽奖数据
+// PACKET_CS_PhoneLotteryInfo
 type CSPhoneLotteryInfo struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -8785,8 +8784,8 @@ func (*CSPhoneLotteryInfo) Descriptor() ([]byte, []int) {
 	return file_player_proto_rawDescGZIP(), []int{121}
 }
 
-//抽手机 返回抽奖数据
-//PACKET_SC_PhoneLotteryInfo
+// 抽手机 返回抽奖数据
+// PACKET_SC_PhoneLotteryInfo
 type SCPhoneLotteryInfo struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -8850,8 +8849,8 @@ func (x *SCPhoneLotteryInfo) GetItem() []*LotteryItem {
 	return nil
 }
 
-//请求抽奖
-//PACKET_CS_PhoneLottery
+// 请求抽奖
+// PACKET_CS_PhoneLottery
 type CSPhoneLottery struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -8899,8 +8898,8 @@ func (x *CSPhoneLottery) GetLotteryType() int32 {
 	return 0
 }
 
-//请求抽奖返回
-//PACKET_SC_PhoneLottery
+// 请求抽奖返回
+// PACKET_SC_PhoneLottery
 type SCPhoneLottery struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -9027,8 +9026,8 @@ func (x *LotteryItem) GetItemNum() int64 {
 	return 0
 }
 
-//通知抽奖剩余次数
-//PACKET_SC_PhoneLotteryCount
+// 通知抽奖剩余次数
+// PACKET_SC_PhoneLotteryCount
 type SCPhoneLotteryCount struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
diff --git a/protocol/player/player.proto b/protocol/player/player.proto
index 1da9a7e..a22636c 100644
--- a/protocol/player/player.proto
+++ b/protocol/player/player.proto
@@ -996,7 +996,7 @@ message SCVIPInfo {
 // 
 //PACKET_SC_SWELFAREINFO
 message SCEasyWelfaredInfo{
-	repeated int32    WelfareSwitch     = 1;     // 下标 0转盘1盲盒2首冲3连续充值4抽手机活动  1显示 2不显示
+	repeated int32    WelfareSwitch     = 1;     // 下标 0转盘1盲盒2首冲3连续充值4抽手机活动5集卡活动  1显示 2不显示
 }
 
 message CSVIPPrivilegeInfo {
diff --git a/protocol/qpapi/qpapi.pb.go b/protocol/qpapi/qpapi.pb.go
index 5fc437a..393f2c5 100644
--- a/protocol/qpapi/qpapi.pb.go
+++ b/protocol/qpapi/qpapi.pb.go
@@ -82,7 +82,7 @@ func (TagCode) EnumDescriptor() ([]byte, []int) {
 	return file_qpapi_proto_rawDescGZIP(), []int{0}
 }
 
-//[action] /api/Member/QPAPIRegisterOrLogin
+// [action] /api/Member/QPAPIRegisterOrLogin
 type ASLogin struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -225,8 +225,8 @@ func (x *SALogin) GetSnid() int32 {
 	return 0
 }
 
-//加币
-// [action] /api/mongo.games.com/game/QPAPIAddSubCoinById
+// 加币
+// [action] /api/game/QPAPIAddSubCoinById
 type ASAddCoinById struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -433,7 +433,7 @@ func (x *PlayerCoinData) GetBank() int64 {
 	return 0
 }
 
-//查用户金币  /api/Member/QPGetMemberGoldById
+// 查用户金币  /api/Member/QPGetMemberGoldById
 type ASMemberGold struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -760,7 +760,7 @@ func (x *PlayerHistoryInfo) GetUserName() string {
 	return ""
 }
 
-//获取用户注单记录游戏记录 /api/Member/QPGetGameHistory
+// 获取用户注单记录游戏记录 /api/Member/QPGetGameHistory
 type SAPlayerHistory struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
diff --git a/protocol/qpapi/qpapi.proto b/protocol/qpapi/qpapi.proto
index 3259c46..fc8b102 100644
--- a/protocol/qpapi/qpapi.proto
+++ b/protocol/qpapi/qpapi.proto
@@ -28,7 +28,7 @@ message SALogin{
 }
 
 //加币
-// [action] /api/mongo.games.com/game/QPAPIAddSubCoinById
+// [action] /api/game/QPAPIAddSubCoinById
 message ASAddCoinById{
   string Username = 1;      //用户名  //保证唯一性
   int64 Gold = 2;           //加币金额
diff --git a/protocol/telegramapi/telegramapi.pb.go b/protocol/telegramapi/telegramapi.pb.go
index 5ae4525..ff5a124 100644
--- a/protocol/telegramapi/telegramapi.pb.go
+++ b/protocol/telegramapi/telegramapi.pb.go
@@ -82,7 +82,7 @@ func (TagCode) EnumDescriptor() ([]byte, []int) {
 	return file_telegramapi_proto_rawDescGZIP(), []int{0}
 }
 
-//[action] /api/Member/APIMemberRegisterOrLogin
+// [action] /api/Member/APIMemberRegisterOrLogin
 type ASLogin struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -233,8 +233,8 @@ func (x *SALogin) GetSnid() int32 {
 	return 0
 }
 
-//加币
-// [action] /api/mongo.games.com/game/APIAddCoinById
+// 加币
+// [action] /api/game/APIAddCoinById
 type ASAddCoinById struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -481,7 +481,7 @@ func (x *PlayerCoinData) GetBank() int64 {
 	return 0
 }
 
-//查用户金币  /api/Member/GetMemberGoldById
+// 查用户金币  /api/Member/GetMemberGoldById
 type ASMemberGold struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -600,7 +600,7 @@ func (x *SAMemberGold) GetData() *PlayerCoinData {
 	return nil
 }
 
-//校验碰撞游戏Hash  /api/mongo.games.com/game/CrashVerifier
+// 校验碰撞游戏Hash  /api/game/CrashVerifier
 type ASCrachHash struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -887,7 +887,7 @@ func (x *PlayerHistoryInfo) GetMultiple() int64 {
 	return 0
 }
 
-//获取用户注单记录游戏记录 /api/Member/GetGameHistory
+// 获取用户注单记录游戏记录 /api/Member/GetGameHistory
 type SAPlayerHistory struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -959,7 +959,7 @@ func (x *SAPlayerHistory) GetGameHistory() []*GameHistoryInfo {
 	return nil
 }
 
-//获取用户注单记录游戏记录  /api/Member/GetGameHistory
+// 获取用户注单记录游戏记录  /api/Member/GetGameHistory
 type ASPlayerHistory struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
diff --git a/protocol/telegramapi/telegramapi.proto b/protocol/telegramapi/telegramapi.proto
index cbfedfe..87d229f 100644
--- a/protocol/telegramapi/telegramapi.proto
+++ b/protocol/telegramapi/telegramapi.proto
@@ -29,7 +29,7 @@ message SALogin{
 }
 
 //加币
-// [action] /api/mongo.games.com/game/APIAddCoinById
+// [action] /api/game/APIAddCoinById
 message ASAddCoinById{
   int32 ID = 1;//玩家id
   int64 Gold = 2;//加币金额
@@ -66,7 +66,7 @@ message SAMemberGold{
   PlayerCoinData Data = 3; //用户金币
 }
 
-//校验碰撞游戏Hash  /api/mongo.games.com/game/CrashVerifier
+//校验碰撞游戏Hash  /api/game/CrashVerifier
 message ASCrachHash{
   string Hash = 1;//哈希值
   int32 Wheel = 2;//第几轮
diff --git a/protocol/webapi/common.pb.go b/protocol/webapi/common.pb.go
index 672e9ca..c3ace0e 100644
--- a/protocol/webapi/common.pb.go
+++ b/protocol/webapi/common.pb.go
@@ -7,9 +7,9 @@
 package webapi
 
 import (
-	"mongo.games.com/game/protocol/server"
 	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	"mongo.games.com/game/protocol/server"
 	reflect "reflect"
 	sync "sync"
 )
@@ -3206,7 +3206,7 @@ func (x *ExchangeType) GetId() int32 {
 	return 0
 }
 
-// etcd /mongo.games.com/game/exchange_shop
+// etcd /game/exchange_shop
 type ExchangeShopList struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -3477,7 +3477,7 @@ func (x *ItemShop) GetFirstSwitch() bool {
 	return false
 }
 
-// etcd /mongo.games.com/game/item_shop
+// etcd /game/item_shop
 type ItemShopList struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -3900,7 +3900,7 @@ func (x *GameMatchDate) GetOnChannelName() []string {
 	return nil
 }
 
-// etcd /mongo.games.com/game/game_match
+// etcd /game/game_match
 type GameMatchDateList struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4129,7 +4129,7 @@ func (x *WelfareTurnplateRate) GetRate() []int32 {
 	return nil
 }
 
-// etcd /mongo.games.com/game/act_turnplate 转盘
+// etcd /game/act_turnplate 转盘
 type WelfareTurnplateDateList struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4319,7 +4319,7 @@ func (x *Welfare7SignDate) GetAddUpDate() []*AddUpWelfareDate {
 	return nil
 }
 
-// etcd /mongo.games.com/game/act_7sign 7日签到
+// etcd /game/act_7sign 7日签到
 type Welfare7SignDateList struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4494,7 +4494,7 @@ func (x *BlindBoxData) GetItem_Id() int32 {
 	return 0
 }
 
-// etcd /mongo.games.com/game/act_blindbox 盲盒
+// etcd /game/act_blindbox 盲盒
 type WelfareBlindBoxDataList struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4669,7 +4669,7 @@ func (x *WelfareSpree) GetDiscount() float64 {
 	return 0
 }
 
-// etcd /mongo.games.com/game/act_FirstPay 首充
+// etcd /game/act_FirstPay 首充
 type WelfareFirstPayDataList struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4741,7 +4741,7 @@ func (x *WelfareFirstPayDataList) GetCycle() int32 {
 	return 0
 }
 
-// etcd /mongo.games.com/game/act_ContinuousPay 连续充值
+// etcd /game/act_ContinuousPay 连续充值
 type WelfareContinuousPayDataList struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4988,7 +4988,7 @@ func (x *VIPcfg) GetShopId7() int32 {
 	return 0
 }
 
-// etcd /mongo.games.com/game/VIPcfg VIP配置
+// etcd /game/VIPcfg VIP配置
 type VIPcfgDataList struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5559,7 +5559,7 @@ func (x *GameConfig) GetGoodFenCha() int32 {
 	return 0
 }
 
-// etcd mongo.games.com/game/act_phoneLottery
+// etcd /game/act_phoneLottery
 type WelfarePhoneLotteryStatus struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5615,6 +5615,62 @@ func (x *WelfarePhoneLotteryStatus) GetSwitch() int32 {
 	return 0
 }
 
+// etcd /game/act_collect
+type WelfareCollectConfig struct {
+	state         protoimpl.MessageState
+	sizeCache     protoimpl.SizeCache
+	unknownFields protoimpl.UnknownFields
+
+	Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"`
+	Switch   int32  `protobuf:"varint,2,opt,name=Switch,proto3" json:"Switch,omitempty"` // 1.开启 2.关闭
+}
+
+func (x *WelfareCollectConfig) Reset() {
+	*x = WelfareCollectConfig{}
+	if protoimpl.UnsafeEnabled {
+		mi := &file_common_proto_msgTypes[54]
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		ms.StoreMessageInfo(mi)
+	}
+}
+
+func (x *WelfareCollectConfig) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WelfareCollectConfig) ProtoMessage() {}
+
+func (x *WelfareCollectConfig) ProtoReflect() protoreflect.Message {
+	mi := &file_common_proto_msgTypes[54]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use WelfareCollectConfig.ProtoReflect.Descriptor instead.
+func (*WelfareCollectConfig) Descriptor() ([]byte, []int) {
+	return file_common_proto_rawDescGZIP(), []int{54}
+}
+
+func (x *WelfareCollectConfig) GetPlatform() string {
+	if x != nil {
+		return x.Platform
+	}
+	return ""
+}
+
+func (x *WelfareCollectConfig) GetSwitch() int32 {
+	if x != nil {
+		return x.Switch
+	}
+	return 0
+}
+
 var File_common_proto protoreflect.FileDescriptor
 
 var file_common_proto_rawDesc = []byte{
@@ -6517,8 +6573,12 @@ var file_common_proto_rawDesc = []byte{
 	0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
 	0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74,
 	0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68,
-	0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x3b, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x33,
+	0x22, 0x4a, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65,
+	0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74,
+	0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74,
+	0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x42, 0x0a, 0x5a, 0x08,
+	0x2e, 0x3b, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (
@@ -6533,7 +6593,7 @@ func file_common_proto_rawDescGZIP() []byte {
 	return file_common_proto_rawDescData
 }
 
-var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 59)
+var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 60)
 var file_common_proto_goTypes = []interface{}{
 	(*MysqlDbSetting)(nil),               // 0: pb.MysqlDbSetting
 	(*MongoDbSetting)(nil),               // 1: pb.MongoDbSetting
@@ -6589,31 +6649,32 @@ var file_common_proto_goTypes = []interface{}{
 	(*PlayerPool)(nil),                   // 51: pb.PlayerPool
 	(*GameConfig)(nil),                   // 52: pb.GameConfig
 	(*WelfarePhoneLotteryStatus)(nil),    // 53: pb.WelfarePhoneLotteryStatus
-	nil,                                  // 54: pb.Platform.BindTelRewardEntry
-	nil,                                  // 55: pb.PlayerData.RankScoreEntry
-	nil,                                  // 56: pb.ItemShop.AwardEntry
-	nil,                                  // 57: pb.VIPcfg.AwardEntry
-	nil,                                  // 58: pb.VIPcfg.Privilege7Entry
-	(*server.DB_GameFree)(nil),           // 59: pbdata.DB_GameFree
+	(*WelfareCollectConfig)(nil),         // 54: pb.WelfareCollectConfig
+	nil,                                  // 55: pb.Platform.BindTelRewardEntry
+	nil,                                  // 56: pb.PlayerData.RankScoreEntry
+	nil,                                  // 57: pb.ItemShop.AwardEntry
+	nil,                                  // 58: pb.VIPcfg.AwardEntry
+	nil,                                  // 59: pb.VIPcfg.Privilege7Entry
+	(*server.DB_GameFree)(nil),           // 60: pbdata.DB_GameFree
 }
 var file_common_proto_depIdxs = []int32{
 	2,  // 0: pb.Platform.Leaderboard:type_name -> pb.RankSwitch
 	3,  // 1: pb.Platform.ClubConfig:type_name -> pb.ClubConfig
 	4,  // 2: pb.Platform.ThirdGameMerchant:type_name -> pb.ThirdGame
-	54, // 3: pb.Platform.BindTelReward:type_name -> pb.Platform.BindTelRewardEntry
+	55, // 3: pb.Platform.BindTelReward:type_name -> pb.Platform.BindTelRewardEntry
 	6,  // 4: pb.GameConfigGlobal.GameStatus:type_name -> pb.GameStatus
-	59, // 5: pb.GameFree.DbGameFree:type_name -> pbdata.DB_GameFree
+	60, // 5: pb.GameFree.DbGameFree:type_name -> pbdata.DB_GameFree
 	8,  // 6: pb.PlatformGameConfig.DbGameFrees:type_name -> pb.GameFree
 	0,  // 7: pb.PlatformDbConfig.Mysql:type_name -> pb.MysqlDbSetting
 	1,  // 8: pb.PlatformDbConfig.MongoDb:type_name -> pb.MongoDbSetting
 	1,  // 9: pb.PlatformDbConfig.MongoDbLog:type_name -> pb.MongoDbSetting
-	59, // 10: pb.GameConfigGroup.DbGameFree:type_name -> pbdata.DB_GameFree
-	55, // 11: pb.PlayerData.RankScore:type_name -> pb.PlayerData.RankScoreEntry
+	60, // 10: pb.GameConfigGroup.DbGameFree:type_name -> pbdata.DB_GameFree
+	56, // 11: pb.PlayerData.RankScore:type_name -> pb.PlayerData.RankScoreEntry
 	20, // 12: pb.OnlineReport.GameCount:type_name -> pb.OnlineGameCnt
 	22, // 13: pb.CommonNoticeList.List:type_name -> pb.CommonNotice
 	25, // 14: pb.ExchangeShop.ExType:type_name -> pb.ExchangeType
 	24, // 15: pb.ExchangeShopList.List:type_name -> pb.ExchangeShop
-	56, // 16: pb.ItemShop.Award:type_name -> pb.ItemShop.AwardEntry
+	57, // 16: pb.ItemShop.Award:type_name -> pb.ItemShop.AwardEntry
 	27, // 17: pb.ItemShopList.List:type_name -> pb.ItemShop
 	29, // 18: pb.MatchInfoAward.ItemId:type_name -> pb.ItemInfo
 	30, // 19: pb.GameMatchDate.Award:type_name -> pb.MatchInfoAward
@@ -6630,8 +6691,8 @@ var file_common_proto_depIdxs = []int32{
 	33, // 30: pb.WelfareSpree.Item:type_name -> pb.WelfareDate
 	42, // 31: pb.WelfareFirstPayDataList.List:type_name -> pb.WelfareSpree
 	42, // 32: pb.WelfareContinuousPayDataList.List:type_name -> pb.WelfareSpree
-	57, // 33: pb.VIPcfg.Award:type_name -> pb.VIPcfg.AwardEntry
-	58, // 34: pb.VIPcfg.Privilege7:type_name -> pb.VIPcfg.Privilege7Entry
+	58, // 33: pb.VIPcfg.Award:type_name -> pb.VIPcfg.AwardEntry
+	59, // 34: pb.VIPcfg.Privilege7:type_name -> pb.VIPcfg.Privilege7Entry
 	45, // 35: pb.VIPcfgDataList.List:type_name -> pb.VIPcfg
 	33, // 36: pb.ChessRankConfig.Item:type_name -> pb.WelfareDate
 	49, // 37: pb.ChessRankcfgData.Datas:type_name -> pb.ChessRankConfig
@@ -7297,6 +7358,18 @@ func file_common_proto_init() {
 				return nil
 			}
 		}
+		file_common_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*WelfareCollectConfig); i {
+			case 0:
+				return &v.state
+			case 1:
+				return &v.sizeCache
+			case 2:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 	}
 	type x struct{}
 	out := protoimpl.TypeBuilder{
@@ -7304,7 +7377,7 @@ func file_common_proto_init() {
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 			RawDescriptor: file_common_proto_rawDesc,
 			NumEnums:      0,
-			NumMessages:   59,
+			NumMessages:   60,
 			NumExtensions: 0,
 			NumServices:   0,
 		},
diff --git a/protocol/webapi/common.proto b/protocol/webapi/common.proto
index edeaacf..f1f79d1 100644
--- a/protocol/webapi/common.proto
+++ b/protocol/webapi/common.proto
@@ -362,7 +362,7 @@ message ExchangeType{
   int32 Id = 4;           //行数
 }
 
-// etcd /mongo.games.com/game/exchange_shop
+// etcd /game/exchange_shop
 message ExchangeShopList{
   repeated ExchangeShop List = 1;
   string Platform = 2;
@@ -393,7 +393,7 @@ message ItemShop {
   bool FirstSwitch = 22;           //首冲翻倍开关
 }
 
-// etcd /mongo.games.com/game/item_shop
+// etcd /game/item_shop
 message ItemShopList{
   repeated ItemShop List = 1;
   string Platform = 2;
@@ -441,7 +441,7 @@ message GameMatchDate {
   repeated string OnChannelName = 23; // 开启的渠道名称
 }
 
-// etcd /mongo.games.com/game/game_match
+// etcd /game/game_match
 message GameMatchDateList{
   repeated GameMatchDate List = 1;
   string Platform = 2;
@@ -464,7 +464,7 @@ message WelfareTurnplateRate {
   repeated int32 Rate = 1;               // 转盘概率
 }
 
-// etcd /mongo.games.com/game/act_turnplate 转盘
+// etcd /game/act_turnplate 转盘
 message WelfareTurnplateDateList{
   repeated WelfareTurnplateDate List = 1; // 转盘奖励
   repeated WelfareTurnplateRate RateList = 2; // 转盘概率
@@ -484,7 +484,7 @@ message Welfare7SignDate {
 }
 
 
-// etcd /mongo.games.com/game/act_7sign 7日签到
+// etcd /game/act_7sign 7日签到
 message Welfare7SignDateList{
   repeated Welfare7SignDate List = 1; // 七日签到
   string Platform = 2;
@@ -503,7 +503,7 @@ message BlindBoxData {
   int32 Item_Id = 9;              // 道具id
 }
 
-// etcd /mongo.games.com/game/act_blindbox 盲盒
+// etcd /game/act_blindbox 盲盒
 message WelfareBlindBoxDataList{
   repeated BlindBoxData List = 1;     // 盲盒
   string Platform = 2;
@@ -522,7 +522,7 @@ message WelfareSpree  {
   double Discount = 8;            // 折扣
 }
 
-// etcd /mongo.games.com/game/act_FirstPay 首充
+// etcd /game/act_FirstPay 首充
 message WelfareFirstPayDataList{
   repeated WelfareSpree List = 1;
   string   Platform = 2;
@@ -530,7 +530,7 @@ message WelfareFirstPayDataList{
   int32    Cycle = 4;                   // 循环 1.开启 2.关闭
 }
 
-// etcd /mongo.games.com/game/act_ContinuousPay 连续充值
+// etcd /game/act_ContinuousPay 连续充值
 message WelfareContinuousPayDataList{
   repeated WelfareSpree List = 1;     // 连续充值
   string   Platform = 2;
@@ -558,7 +558,7 @@ message VIPcfg  {
   int32 ShopId7 = 16;
 }
 
-// etcd /mongo.games.com/game/VIPcfg VIP配置
+// etcd /game/VIPcfg VIP配置
 message VIPcfgDataList{
   repeated VIPcfg List = 1;     // VIP配置
   string   Platform = 2;
@@ -618,8 +618,14 @@ message GameConfig {
   int32 GoodFenCha = 7; // 好牌分差值
 }
 
-// etcd mongo.games.com/game/act_phoneLottery
+// etcd /game/act_phoneLottery
 message WelfarePhoneLotteryStatus{
   string Platform = 1;
   int32 Switch = 2;                   // 1.开启 2.关闭
+}
+
+// etcd /game/act_collect
+message WelfareCollectConfig{
+  string Platform = 1;
+  int32 Switch = 2;  // 1.开启 2.关闭
 }
\ No newline at end of file
diff --git a/protocol/webapi/webapi.pb.go b/protocol/webapi/webapi.pb.go
index c3fa74b..738fd3d 100644
--- a/protocol/webapi/webapi.pb.go
+++ b/protocol/webapi/webapi.pb.go
@@ -1000,7 +1000,7 @@ func (x *SAUpdateGameConfigGroup) GetMsg() string {
 
 // /////////////////////////////////////////////////////////////////////////////////////
 // 加币
-// [action] /api/mongo.games.com/game/AddCoinById
+// [action] /api/game/AddCoinById
 type ASAddCoinById struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -1185,7 +1185,7 @@ func (x *SAAddCoinById) GetMsg() string {
 }
 
 // 重置水池
-// [action] /api/mongo.games.com/game/ResetGamePool
+// [action] /api/game/ResetGamePool
 type ASResetGamePool struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -1329,7 +1329,7 @@ func (x *SAResetGamePool) GetMsg() string {
 }
 
 // 更新水池
-// [action] /api/mongo.games.com/game/UpdateGamePool
+// [action] /api/game/UpdateGamePool
 type ASUpdateGamePool struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -1492,7 +1492,7 @@ func (x *SAUpdateGamePool) GetMsg() string {
 // ResetTime
 // //////////////////////////////////////////////////
 // 查询水池gameid
-// [action] /api/mongo.games.com/game/QueryGamePoolByGameId
+// [action] /api/game/QueryGamePoolByGameId
 type ASQueryGamePoolByGameId struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -1628,7 +1628,7 @@ func (x *SAQueryGamePoolByGameId) GetCoinPoolSetting() []*CoinPoolSetting {
 }
 
 // 查询水池
-// [action] /api/mongo.games.com/game/QueryAllGamePool
+// [action] /api/game/QueryAllGamePool
 type ASQueryAllGamePool struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -2258,7 +2258,7 @@ func (x *SADestroyRoom) GetMsg() string {
 }
 
 // 单控
-// [action] /api/mongo.games.com/game/SinglePlayerAdjust
+// [action] /api/game/SinglePlayerAdjust
 // PACKET_WG_SINGLEADJUST
 type ASSinglePlayerAdjust struct {
 	state         protoimpl.MessageState
@@ -3861,7 +3861,7 @@ func (x *SABlackBySnId) GetMsg() string {
 }
 
 // 邮件
-// [action] /api/mongo.games.com/game/CreateShortMessage
+// [action] /api/game/CreateShortMessage
 type ASCreateShortMessage struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4036,7 +4036,7 @@ func (x *SACreateShortMessage) GetMsg() string {
 	return ""
 }
 
-// [action] /api/mongo.games.com/game/QueryShortMessageList
+// [action] /api/game/QueryShortMessageList
 type ASQueryShortMessageList struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -4203,7 +4203,7 @@ func (x *SAQueryShortMessageList) GetMessageInfo() []*MessageInfo {
 	return nil
 }
 
-// [action] /api/mongo.games.com/game/DeleteShortMessage
+// [action] /api/game/DeleteShortMessage
 type ASDeleteShortMessage struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5290,7 +5290,7 @@ func (x *SAOnlineReportTotal) GetOnlineReport() *OnlineReport {
 
 // /////////////////////////////////////////////////////////////////////////////////////
 // 加币
-// [action] /api/mongo.games.com/game/AddCoinByIdAndPT
+// [action] /api/game/AddCoinByIdAndPT
 type ASAddCoinByIdAndPT struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5522,7 +5522,7 @@ func (x *JybInfoAward) GetDiamond() int64 {
 }
 
 // 生成兑换码
-// [action] /api/mongo.games.com/game/CreateJYB
+// [action] /api/game/CreateJYB
 type ASCreateJYB struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -5707,7 +5707,7 @@ func (x *SACreateJYB) GetMsg() string {
 }
 
 // 操作兑换码 删除 修改
-// [action] /api/mongo.games.com/game/UpdateJYB
+// [action] /api/game/UpdateJYB
 type ASUpdateJYB struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -7618,7 +7618,7 @@ func (x *SACallbackPayment) GetMsg() string {
 	return ""
 }
 
-// 资源更新通知 [/api/mongo.games.com/game/resource]
+// 资源更新通知 [/api/game/resource]
 type ASResource struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
diff --git a/protocol/webapi/webapi.proto b/protocol/webapi/webapi.proto
index 39a1476..fef2255 100644
--- a/protocol/webapi/webapi.proto
+++ b/protocol/webapi/webapi.proto
@@ -163,7 +163,7 @@ message SAUpdateGameConfigGroup {
 }
 ///////////////////////////////////////////////////////////////////////////////////////
 //加币
-// [action] /api/mongo.games.com/game/AddCoinById
+// [action] /api/game/AddCoinById
 message ASAddCoinById{
   int32 ID = 1;//玩家id
   int64 Gold = 2;//加币金额
@@ -183,7 +183,7 @@ message SAAddCoinById {
   string Msg = 2;  //错误信息(选填)
 }
 //重置水池
-// [action] /api/mongo.games.com/game/ResetGamePool
+// [action] /api/game/ResetGamePool
 message ASResetGamePool{
   int32 GameFreeId = 1;
   string Platform = 2;
@@ -197,7 +197,7 @@ message SAResetGamePool{
   string Msg = 2;  //错误信息(选填)
 }
 //更新水池
-// [action] /api/mongo.games.com/game/UpdateGamePool
+// [action] /api/game/UpdateGamePool
 message ASUpdateGamePool{
   int32 GameFreeId = 1;
   string Platform = 2;
@@ -237,7 +237,7 @@ message SAUpdateGamePool{
 //ResetTime
 ////////////////////////////////////////////////////
 //查询水池gameid
-// [action] /api/mongo.games.com/game/QueryGamePoolByGameId
+// [action] /api/game/QueryGamePoolByGameId
 message ASQueryGamePoolByGameId{
   int32 GameId = 1;
   int32 GameMode = 2;
@@ -250,7 +250,7 @@ message SAQueryGamePoolByGameId{
   repeated pb.CoinPoolSetting CoinPoolSetting = 3;
 }
 //查询水池
-// [action] /api/mongo.games.com/game/QueryAllGamePool
+// [action] /api/game/QueryAllGamePool
 message ASQueryAllGamePool{
   int32 PageNo = 1;
   int32 PageSize = 2;
@@ -309,7 +309,7 @@ message SADestroyRoom{
   string Msg = 2;  //错误信息(选填)
 }
 //单控
-// [action] /api/mongo.games.com/game/SinglePlayerAdjust
+// [action] /api/game/SinglePlayerAdjust
 //PACKET_WG_SINGLEADJUST
 message ASSinglePlayerAdjust{
   int32 Opration = 1;//1.add 2.edit 3.del 4.查询最新的
@@ -455,7 +455,7 @@ message SABlackBySnId{
   string Msg = 2;  //错误信息(选填)
 }
 //邮件
-// [action] /api/mongo.games.com/game/CreateShortMessage
+// [action] /api/game/CreateShortMessage
 message ASCreateShortMessage{
   string NoticeTitle = 1;
   string NoticeContent = 2;
@@ -472,7 +472,7 @@ message SACreateShortMessage{
   TagCode Tag = 1; //错误码
   string Msg = 2;  //错误信息(选填)
 }
-// [action] /api/mongo.games.com/game/QueryShortMessageList
+// [action] /api/game/QueryShortMessageList
 message ASQueryShortMessageList{
   int64 StartTime = 1;
   int64 EndTime = 2;
@@ -488,7 +488,7 @@ message SAQueryShortMessageList{
   int32 Count = 3;
   repeated pb.MessageInfo MessageInfo = 4;
 }
-// [action] /api/mongo.games.com/game/DeleteShortMessage
+// [action] /api/game/DeleteShortMessage
 message ASDeleteShortMessage{
   string Id = 1;
   string Platform = 2;
@@ -589,7 +589,7 @@ message SAOnlineReportTotal{
 }
 ///////////////////////////////////////////////////////////////////////////////////////
 //加币
-// [action] /api/mongo.games.com/game/AddCoinByIdAndPT
+// [action] /api/game/AddCoinByIdAndPT
 message ASAddCoinByIdAndPT{
   int32 ID = 1;//玩家id
   string Platform = 2;//平台号
@@ -615,7 +615,7 @@ message JybInfoAward {
 }
 
 //生成兑换码
-// [action] /api/mongo.games.com/game/CreateJYB
+// [action] /api/game/CreateJYB
 message ASCreateJYB {
   string           Platform = 1;   // 平台
   string           Name = 2;       // 礼包名称
@@ -636,7 +636,7 @@ message SACreateJYB {
 }
 
 //操作兑换码 删除 修改
-// [action] /api/mongo.games.com/game/UpdateJYB
+// [action] /api/game/UpdateJYB
 message ASUpdateJYB {
   string Platform = 1;    // 平台
   string JYBID = 2;    // 礼包ID
@@ -824,7 +824,7 @@ message SACallbackPayment{
   string Msg = 2;  //错误信息(选填)
 }
 
-//资源更新通知 [/api/mongo.games.com/game/resource]
+//资源更新通知 [/api/game/resource]
 message  ASResource{
   string Msg = 1; //信息
 }
