diff --git a/dbproxy/svc/h_crashhash.go b/dbproxy/svc/h_crashhash.go index b85e1c7..6bb27c4 100644 --- a/dbproxy/svc/h_crashhash.go +++ b/dbproxy/svc/h_crashhash.go @@ -12,7 +12,7 @@ import ( var ( CrashHashDBName = "user" CrashHashCollName = "user_crashhash" - ErrHashDBNotOpen = model.NewDBError(CrashHashDBName, CrashHashCollName, model.NOT_OPEN) + ErrHashDBNotOpen = model.NewDBError(CrashHashDBName, CrashHashCollName, model.NotOpen) ) func CrashHashCollection() *mongo.Collection { diff --git a/dbproxy/svc/h_crashhashatom.go b/dbproxy/svc/h_crashhashatom.go index 9d69490..84f6947 100644 --- a/dbproxy/svc/h_crashhashatom.go +++ b/dbproxy/svc/h_crashhashatom.go @@ -12,7 +12,7 @@ import ( var ( CrashHashAtomDBName = "user" CrashHashAtomCollName = "user_crashhashatom" - ErrHashAtomDBNotOpen = model.NewDBError(CrashHashAtomDBName, CrashHashAtomCollName, model.NOT_OPEN) + ErrHashAtomDBNotOpen = model.NewDBError(CrashHashAtomDBName, CrashHashAtomCollName, model.NotOpen) ) func CrashHashAtomCollection() *mongo.Collection { diff --git a/dbproxy/svc/l_jyb.go b/dbproxy/svc/l_jyb.go index 4e1d001..0f34f40 100644 --- a/dbproxy/svc/l_jyb.go +++ b/dbproxy/svc/l_jyb.go @@ -15,7 +15,7 @@ import ( var ( JybDBName = "log" JybCollName = "log_jyb" - ErrJybDBNotOpen = model.NewDBError(JybDBName, JybCollName, model.NOT_OPEN) + ErrJybDBNotOpen = model.NewDBError(JybDBName, JybCollName, model.NotOpen) ) func JybCollection(plt string) *mongo.Collection { diff --git a/dbproxy/svc/l_jybuser.go b/dbproxy/svc/l_jybuser.go index a8dc343..a0bd788 100644 --- a/dbproxy/svc/l_jybuser.go +++ b/dbproxy/svc/l_jybuser.go @@ -15,7 +15,7 @@ import ( var ( JybUserDBName = "log" JybUserCollName = "log_jybuser" - ErrJybUserDBNotOpen = model.NewDBError(JybUserDBName, JybUserCollName, model.NOT_OPEN) + ErrJybUserDBNotOpen = model.NewDBError(JybUserDBName, JybUserCollName, model.NotOpen) ) func JybuserCollection(plt string) *mongo.Collection { diff --git a/dbproxy/svc/u_account.go b/dbproxy/svc/u_account.go index 5ceb143..1b90af1 100644 --- a/dbproxy/svc/u_account.go +++ b/dbproxy/svc/u_account.go @@ -22,7 +22,7 @@ var ( AccountDBName = "user" AccountCollName = "user_account" AccountDelBackupCollName = "user_account_del_backup" - ErrAccDBNotOpen = model.NewDBError(AccountDBName, AccountCollName, model.NOT_OPEN) + ErrAccDBNotOpen = model.NewDBError(AccountDBName, AccountCollName, model.NotOpen) ) func AccountCollection(plt string) *mongo.Collection { diff --git a/dbproxy/svc/u_bag.go b/dbproxy/svc/u_bag.go index cc07df2..6442ec9 100644 --- a/dbproxy/svc/u_bag.go +++ b/dbproxy/svc/u_bag.go @@ -17,7 +17,7 @@ import ( var ( BagDBName = "user" BagCollName = "user_bag" - ErrBagDBNotOpen = model.NewDBError(BagDBName, BagCollName, model.NOT_OPEN) + ErrBagDBNotOpen = model.NewDBError(BagDBName, BagCollName, model.NotOpen) ) func BagCollection(plt string) *mongo.Collection { diff --git a/dbproxy/svc/u_horseracelamp.go b/dbproxy/svc/u_horseracelamp.go index 50f9f46..041277c 100644 --- a/dbproxy/svc/u_horseracelamp.go +++ b/dbproxy/svc/u_horseracelamp.go @@ -9,7 +9,7 @@ import ( "net/rpc" ) -var ErrHorseRaceLampDBNotOpen = model.NewDBError(model.HorseRaceLampDBName, model.HorseRaceLampCollName, model.NOT_OPEN) +var ErrHorseRaceLampDBNotOpen = model.NewDBError(model.HorseRaceLampDBName, model.HorseRaceLampCollName, model.NotOpen) func HorseRaceLampCollection(plt string) *mongo.Collection { s := mongo.MgoSessionMgrSington.GetPltMgoSession(plt, model.HorseRaceLampDBName) @@ -41,6 +41,7 @@ func (svc *HorseRaceLampSvc) GetAllHorseRaceLamp(args string, ret *[]model.Horse } return nil } + func (svc *HorseRaceLampSvc) GetHorseRaceLamp(args *model.GetHorseRaceLampArgs, ret *model.HorseRaceLamp) (err error) { c := HorseRaceLampCollection(args.Platform) if c == nil { @@ -49,6 +50,7 @@ func (svc *HorseRaceLampSvc) GetHorseRaceLamp(args *model.GetHorseRaceLampArgs, err = c.Find(bson.M{"_id": args.Id}).One(ret) return } + func (svc *HorseRaceLampSvc) RemoveHorseRaceLamp(args *model.RemoveHorseRaceLampArg, ret *bool) error { logger.Logger.Info("HorseRaceLampSvc RemoveHorseRaceLamp") c := HorseRaceLampCollection(args.Platform) @@ -61,6 +63,7 @@ func (svc *HorseRaceLampSvc) RemoveHorseRaceLamp(args *model.RemoveHorseRaceLamp } return nil } + func (svc *HorseRaceLampSvc) InsertHorseRaceLamp(args *model.InsertHorseRaceLampArgs, ret *bool) (err error) { c := HorseRaceLampCollection(args.Platform) if c == nil { @@ -83,6 +86,7 @@ func (svc *HorseRaceLampSvc) InsertHorseRaceLamp(args *model.InsertHorseRaceLamp *ret = true return } + func (svc *HorseRaceLampSvc) EditHorseRaceLamp(args *model.EditHorseRaceLampArg, ret *bool) error { logger.Logger.Info("HorseRaceLampSvc EditHorseRaceLamp") c := HorseRaceLampCollection(args.Platform) @@ -104,6 +108,7 @@ func (svc *HorseRaceLampSvc) EditHorseRaceLamp(args *model.EditHorseRaceLampArg, } return nil } + func (svc *HorseRaceLampSvc) GetHorseRaceLampInRangeTsLimitByRange(args *model.QueryHorseRaceLampArg, ret *model.QueryHorseRaceLampRet) (err error) { logger.Logger.Info("HorseRaceLampSvc EditHorseRaceLamp") c := HorseRaceLampCollection(args.Platform) @@ -123,6 +128,7 @@ func (svc *HorseRaceLampSvc) GetHorseRaceLampInRangeTsLimitByRange(args *model.Q } return } + func init() { rpc.Register(horseRaceLampSvc) } diff --git a/dbproxy/svc/u_playerbucketid.go b/dbproxy/svc/u_playerbucketid.go index 5979f83..4549afe 100644 --- a/dbproxy/svc/u_playerbucketid.go +++ b/dbproxy/svc/u_playerbucketid.go @@ -26,7 +26,7 @@ var ( PlayerBucketIdsDBName = "user" PlayerBucketIdsCollName = "user_bucketids" PlayerBucketIdsAutoId = bson.ObjectIdHex("60f69b4a09dbe3323c632f25") // 记录id使用到多少了 - ErrPlayerBucketIdsDBNotOpen = model.NewDBError(PlayerBucketIdsDBName, PlayerBucketIdsCollName, model.NOT_OPEN) + ErrPlayerBucketIdsDBNotOpen = model.NewDBError(PlayerBucketIdsDBName, PlayerBucketIdsCollName, model.NotOpen) playerBucketId = &model.PlayerBucketId{} playerBucketIdsCursor = int32(0) playerBucketIdLock = sync.Mutex{} diff --git a/model/dberror.go b/model/dberror.go index 1b9c555..f721c00 100644 --- a/model/dberror.go +++ b/model/dberror.go @@ -6,7 +6,7 @@ import ( ) var ( - NOT_OPEN = "not open" + NotOpen = "not open" ErrRPClientNoConn = errors.New("RPClient no connect") ) diff --git a/model/horseracelamp.go b/model/horseracelamp.go index 33552d6..3158084 100644 --- a/model/horseracelamp.go +++ b/model/horseracelamp.go @@ -21,22 +21,23 @@ type RemoveHorseRaceLampRet struct { Data *interface{} Tag int } + type HorseRaceLamp struct { Id bson.ObjectId `bson:"_id"` Channel string //渠道 Title string //标题 Content string //公告内容 - Footer string - StartTime int64 //开始播放的时间 - Interval int32 //播放间隔 - Count int32 //播放次数 - CreateTime int64 //创建公告的时间 - Priority int32 //播放优先级 - MsgType int32 //公告类型 - Platform string //公告播放的平台 - State int32 //状态 0.启用;1.关闭 - Target []int32 - StandSec int32 + Footer string // + StartTime int64 //开始播放的时间 + Interval int32 //播放间隔 + Count int32 //播放次数 + CreateTime int64 //创建公告的时间 + Priority int32 //播放优先级 + MsgType int32 //公告类型 + Platform string //公告播放的平台 + State int32 //状态 0.启用;1.关闭 + Target []int32 // + StandSec int32 // } func NewHorseRaceLamp(channel, platform, title, content, footer string, startTime int64, interval int32, count int32, priority, state int32, diff --git a/worldsrv/gamestate.go b/worldsrv/gamestate.go deleted file mode 100644 index 540ff50..0000000 --- a/worldsrv/gamestate.go +++ /dev/null @@ -1,102 +0,0 @@ -package main - -import ( - "mongo.games.com/game/common" - "mongo.games.com/game/proto" - "mongo.games.com/game/srvdata" - "mongo.games.com/goserver/core/netlib" - "mongo.games.com/goserver/srvlib/action" - srvproto "mongo.games.com/goserver/srvlib/protocol" -) - -var gameStateMgr = &GameStateManager{ - gameList: make(map[int32]map[int32]*Player), - gameIds: make(map[int32][]int32), -} - -type GameStateManager struct { - gameList map[int32]map[int32]*Player //gameid-snid-player 推送消息的用户列表 - gameIds map[int32][]int32 -} - -var ids = []int32{ - int32(common.GameId_RollCoin), - int32(common.GameId_RollColor), - int32(common.GameId_RedVsBlack), - int32(common.GameId_DragonVsTiger), - int32(common.GameId_Baccarat), - int32(common.GameId_Roulette), - int32(common.GameId_RollPoint), - int32(common.GameId_RollAnimals), - //int32(common.GameId_BlackJack), - int32(common.GameId_HundredDZNZ), - int32(common.GameId_HundredYXX), - int32(common.GameId_Crash), -} - -func (gsm *GameStateManager) Init() { - var idsMap = make(map[int32]bool) - for _, v := range ids { - idsMap[v] = true - } - dbGameFree := srvdata.PBDB_GameFreeMgr.Datas.Arr - for _, gfs := range dbGameFree { - if _, ok := idsMap[gfs.GameId]; ok { - gsm.gameIds[gfs.GameId] = append(gsm.gameIds[gfs.GameId], gfs.Id) - } - } -} -func (gsm *GameStateManager) PlayerRegiste(player *Player, gameid int32, b bool) { - playerList := gsm.gameList[gameid] - if playerList == nil { - playerList = make(map[int32]*Player) - gsm.gameList[gameid] = playerList - } - playerList[player.SnId] = player -} -func (gsm *GameStateManager) PlayerClear(player *Player) { - for _, value := range gsm.gameList { - if value == nil { - continue - } - delete(value, player.SnId) - } -} -func (gsm *GameStateManager) BrodcastGameState(gameId int32, platform string, packid int, pack interface{}) { - mgs := make(map[*netlib.Session][]*srvproto.MCSessionUnion) - playerList := gsm.gameList[gameId] - for _, p := range playerList { - if p != nil && p.gateSess != nil && p.IsOnLine() && p.Platform == platform { - mgs[p.gateSess] = append(mgs[p.gateSess], &srvproto.MCSessionUnion{ - Mccs: &srvproto.MCClientSession{ - SId: proto.Int64(p.sid), - }, - }) - } - } - for gateSess, v := range mgs { - if gateSess != nil && len(v) != 0 { - action.MulticastMessageToServer(gateSess, packid, pack, v...) - } - } -} -func init() { - //gameStateMgr.gameIds[int32(common.GameId_RollCoin)] = []int32{110030001, 110030002, 110030003, 110030004} - //gameStateMgr.gameIds[int32(common.GameId_RollColor)] = []int32{150010001, 150010002, 150010003, 150010004} - //gameStateMgr.gameIds[int32(common.GameId_RedVsBlack)] = []int32{140010001, 140010002, 140010003, 140010004} - //gameStateMgr.gameIds[int32(common.GameId_DragonVsTiger)] = []int32{120010001, 120010002, 120010003, 120010004} - //gameStateMgr.gameIds[int32(common.GameId_Baccarat)] = []int32{350010001, 350010002, 350010003, 350010004} - //gameStateMgr.gameIds[int32(common.GameId_Roulette)] = []int32{540000001, 540000002, 540000003, 540000004} - //gameStateMgr.gameIds[int32(common.GameId_RollPoint)] = []int32{530000001, 530000002, 530000003, 530000004} - //gameStateMgr.gameIds[int32(common.GameId_RollAnimals)] = []int32{560000001, 560000002, 560000003, 560000004} - //gameStateMgr.gameIds[int32(common.GameId_BlackJack)] = []int32{450000001, 450000002, 450000003, 450000004, 450000005} - //gameStateMgr.gameIds[int32(common.GameId_HundredDZNZ)] = []int32{660000001, 660000002, 660000003, 660000004} - //gameStateMgr.gameIds[int32(common.GameId_HundredYXX)] = []int32{670000001, 670000002, 670000003, 670000004} - // - //// 冰河世纪, 百战成神, 财神, 复仇者联盟, 复活岛 - //gameStateMgr.gameIds[int32(common.GameId_CaiShen)] = []int32{790000001, 790000002, 790000003, 790000004} - //gameStateMgr.gameIds[int32(common.GameId_Avengers)] = []int32{800000001, 800000002, 800000003, 800000004} - //gameStateMgr.gameIds[int32(common.GameId_EasterIsland)] = []int32{810000001, 810000002, 810000003, 810000004} - //gameStateMgr.gameIds[int32(common.GameId_IceAge)] = []int32{820000001, 820000002, 820000003} - //gameStateMgr.gameIds[int32(common.GameId_TamQuoc)] = []int32{830000001, 830000002, 830000003} -} diff --git a/worldsrv/horseracelamp.go b/worldsrv/horseracelamp.go index 1c431a4..506ed3a 100644 --- a/worldsrv/horseracelamp.go +++ b/worldsrv/horseracelamp.go @@ -6,7 +6,6 @@ import ( "mongo.games.com/game/model" "mongo.games.com/game/proto" "mongo.games.com/game/protocol/message" - "mongo.games.com/game/srvdata" "mongo.games.com/goserver/core/logger" "mongo.games.com/goserver/core/module" "strings" @@ -28,10 +27,6 @@ const ( HorseRaceLampType_CustomMsg = 100 ) -const ( - MAX_GAMENOTICE_PER_PLATFORM = 100 -) - var HorseRaceLampMgrSington = &HorseRaceLampMgr{ HorseRaceLampMsgList: make(map[string]*HorseRaceLamp), HorseRaceLampGameList: make(map[string][]*HorseRaceLamp), @@ -40,8 +35,8 @@ var HorseRaceLampMgrSington = &HorseRaceLampMgr{ } type HorseRaceLampMgr struct { - HorseRaceLampMsgList map[string]*HorseRaceLamp - HorseRaceLampGameList map[string][]*HorseRaceLamp + HorseRaceLampMsgList map[string]*HorseRaceLamp // _id:跑马灯数据; 所有平台数据 + HorseRaceLampGameList map[string][]*HorseRaceLamp // 平台:跑马灯 HorseRaceLampCastList map[string]*HorseRaceLampCastInfo // 平台:跑马灯 NextGameHorseRaceLamp map[string]int64 } @@ -55,7 +50,7 @@ type HorseRaceLamp struct { StartTime int64 Interval int32 limitInterval int32 - Count int32 + Count int32 // bo LastTime int64 Priority int32 CreateTime int64 @@ -71,7 +66,7 @@ type HorseRaceLampCastInfo struct { CurIndex int CurTime int64 DealQueue []*HorseRaceLamp - DealList []*HorseRaceLamp + DealList []*HorseRaceLamp // 弹幕跑马灯列表 } func (this *HorseRaceLampMgr) InitHorseRaceLamp() { @@ -185,18 +180,6 @@ func (this *HorseRaceLampMgr) DelHorseRaceLampMsg(key string) { delete(this.HorseRaceLampMsgList, key) } -//func (this *HorseRaceLampMgr) WordCheck(content string) string { -// has := srvdata.HasSensitiveWord([]rune(content)) -// if has { -// content = string(srvdata.ReplaceSensitiveWord([]rune(content))[:]) -// } -// return content -//} - -func (this *HorseRaceLampMgr) IsSensitiveWord(content string) bool { - return srvdata.HasSensitiveWord([]rune(content)) -} - func (this *HorseRaceLampMgr) PushGameHorseRaceLamp(ch, platform, content string, msgType int32, isRob bool, priority int32) bool { msg := &HorseRaceLamp{ Channel: ch, @@ -247,6 +230,7 @@ func (this *HorseRaceLampMgr) PushGameHorseRaceLamp(ch, platform, content string } if !isRob { + // 替换一个机器人的消息,没有机器人则追加 isFindRob := false if len(pool) > 0 { for k, v := range pool { @@ -263,6 +247,7 @@ func (this *HorseRaceLampMgr) PushGameHorseRaceLamp(ch, platform, content string this.HorseRaceLampGameList[platform] = append(pool, msg) } } else { + // 是机器人直接追加 this.HorseRaceLampGameList[platform] = append(pool, msg) } } else { @@ -270,8 +255,9 @@ func (this *HorseRaceLampMgr) PushGameHorseRaceLamp(ch, platform, content string } return true } + func (this *HorseRaceLampMgr) DealHorseRaceLamp(uTime int64, value *HorseRaceLamp) { - if value.Count > 0 { + if value.Count > 0 { // 播放次数 this.BroadcastHorseRaceLampMsg(value) value.Count = value.Count - 1 value.LastTime = uTime diff --git a/worldsrv/hundredscenemgr.go b/worldsrv/hundredscenemgr.go index 4c70db9..c430a42 100644 --- a/worldsrv/hundredscenemgr.go +++ b/worldsrv/hundredscenemgr.go @@ -316,31 +316,6 @@ func (this *HundredSceneMgr) GetPlatformSceneByGameFreeId(platform string, gameF return scenes } -func (this *HundredSceneMgr) GetPlatformScene(platform string, gameId int32) []*Scene { - gameFreeIds := gameStateMgr.gameIds[gameId] - gameScenes := this.GetPlatformSceneByGameFreeId(platform, gameFreeIds) - if len(gameScenes) != len(gameFreeIds) { - var createIds []int32 - for _, gfi := range gameFreeIds { - bFind := false - for _, s := range gameScenes { - if s.dbGameFree.GetId() == gfi { - bFind = true - break - } - } - if !bFind { - createIds = append(createIds, gfi) - } - } - if len(createIds) > 0 { - this.tryCreateRoom(platform, createIds...) - gameScenes = this.GetPlatformSceneByGameFreeId(platform, gameFreeIds) - } - } - return gameScenes -} - func (this *HundredSceneMgr) ModuleName() string { return "HundredSceneMgr" } diff --git a/worldsrv/main.go b/worldsrv/main.go index 8863182..6170ab1 100644 --- a/worldsrv/main.go +++ b/worldsrv/main.go @@ -42,11 +42,7 @@ func main() { if err != nil { return err } - etcd.Start() - gameStateMgr.Init() - HorseRaceLampMgrSington.InitHorseRaceLamp() - model.GetAllCoinPoolSettingData() MsgMgrSington.InitMsg() return nil diff --git a/worldsrv/player.go b/worldsrv/player.go index 3950071..fbbd880 100644 --- a/worldsrv/player.go +++ b/worldsrv/player.go @@ -316,8 +316,6 @@ func (this *Player) OnLogined() { this.BindGroupTag([]string{this.Platform}) - gameStateMgr.PlayerClear(this) - this.RandRobotExData() if !this.IsRob { @@ -409,8 +407,6 @@ func (this *Player) OnRehold() { //登录事件 this.ReportLoginEvent() - gameStateMgr.PlayerClear(this) - FriendMgrSington.ApplyList(this.Platform, this.SnId) FriendUnreadMgrSington.CheckSendFriendUnreadData(this.Platform, this.SnId) @@ -1323,8 +1319,6 @@ func (this *Player) DropLine() { this.gateSess = nil //统计在线时长日志 //this.StatisticsOllen(this.PlayerData.LastLogoutTime) - - gameStateMgr.PlayerClear(this) } // 退出 @@ -1351,7 +1345,6 @@ func (this *Player) Logout() { this.sid = 0 this.gateSess = nil this.DgGameLogout() - gameStateMgr.PlayerClear(this) this.OnlineLogLogout() } diff --git a/worldsrv/trascate_webapi.go b/worldsrv/trascate_webapi.go index b1faf9c..471d0ac 100644 --- a/worldsrv/trascate_webapi.go +++ b/worldsrv/trascate_webapi.go @@ -2539,6 +2539,7 @@ func init() { WebAPIHandlerMgrSingleton.RegisteWebAPIHandler("/api/game/show_lottery", WebAPIHandlerWrapper( func(tNode *transact.TransNode, params []byte) (int, proto.Message) { + logger.Logger.Tracef("/api/game/show_lottery %v", params) pack := &webapiproto.SAShowLottery{} msg := &webapiproto.ASShowLottery{} @@ -2547,6 +2548,7 @@ func init() { if err != nil { pack.Tag = webapiproto.TagCode_FAILED pack.Msg = "参数错误" + logger.Logger.Errorf("/api/game/show_lottery Unmarshal err: %v", err) return common.ResponseTag_ParamError, pack }