This commit is contained in:
sk 2024-11-11 11:44:20 +08:00
parent 71f6b0246b
commit 8aaf1b40f3
32 changed files with 580 additions and 747 deletions

View File

@ -149,7 +149,7 @@ func (this *CSFishTargetPacketFactory) CreatePacket() interface{} {
if player == nil { if player == nil {
logger.Logger.Warn("CSFishViewHandler robot == nil") logger.Logger.Warn("CSFishViewHandler robot == nil")
return nil return nil
//player = base.PlayerMgrSington.GetPlayer(sid) //player = base.PlayerMgrSington.GetOnlinePlayer(sid)
} }
if player == nil { if player == nil {
logger.Logger.Warn("CSFishViewHandler p == nil") logger.Logger.Warn("CSFishViewHandler p == nil")
@ -260,7 +260,7 @@ func (this *CSFishFirePranaPacketFactory) CreatePacket() interface{} {
/*func (this *CSFishFirePranaHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { /*func (this *CSFishFirePranaHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSFishFirePranaHandler Process recv ", data) logger.Logger.Trace("CSFishFirePranaHandler Process recv ", data)
if msg, ok := data.(*fishing_proto.CSFirePrana); ok { if msg, ok := data.(*fishing_proto.CSFirePrana); ok {
player := base.PlayerMgrSington.GetPlayer(sid) player := base.PlayerMgrSington.GetOnlinePlayer(sid)
if player == nil { if player == nil {
logger.Logger.Warn("CSFishFirePranaHandler p == nil") logger.Logger.Warn("CSFishFirePranaHandler p == nil")
return nil return nil

136
util/balancequeue/queue.go Normal file
View File

@ -0,0 +1,136 @@
package balancequeue
import (
"fmt"
"strings"
)
// 平衡队列
type Element interface {
BalanceQueueHandler()
}
type elementWrapper struct {
F func()
}
func (e *elementWrapper) BalanceQueueHandler() {
e.F()
}
func ElementWrapper(f func()) Element {
return &elementWrapper{F: f}
}
type group struct {
Array []Element
queuePos int
}
type groupArray struct {
queue []*group
}
type BalanceQueue struct {
index int // 循环索引
groups []*group // 固定的分组长度不变每次Update触发一个分组
tables []*groupArray
pool map[Element]*group
}
// New 创建一个平衡队列
// groupNumber 分组数量
func New(groupNumber int) *BalanceQueue {
ret := &BalanceQueue{
groups: make([]*group, groupNumber),
tables: make([]*groupArray, 10), // 本身会自动扩容,初始值不是很重要
pool: make(map[Element]*group),
}
for i := 0; i < len(ret.tables); i++ {
ret.tables[i] = &groupArray{}
}
// 初始化平衡数组所有平衡队列容量为0
for i := 0; i < len(ret.groups); i++ {
ret.groups[i] = &group{queuePos: i}
ret.tables[0].queue = append(ret.tables[0].queue, ret.groups[i])
}
return ret
}
func (q *BalanceQueue) String() string {
buf := strings.Builder{}
buf.WriteString("BalanceQueue:\n")
buf.WriteString(fmt.Sprintf("分组数量: %v\n", len(q.groups)))
for k, v := range q.tables {
buf.WriteString(fmt.Sprintf("元素数量%v: 组数量%v ==>", k, len(v.queue)))
for _, vv := range v.queue {
buf.WriteString(fmt.Sprintf("%v ", len(vv.Array)))
}
buf.WriteString("\n")
}
return buf.String()
}
func (q *BalanceQueue) Update() {
if q.index == len(q.groups) {
q.index = 0
}
for _, v := range q.groups[q.index].Array {
v.BalanceQueueHandler()
}
q.index++
}
func (q *BalanceQueue) Push(e Element) {
if e == nil {
return
}
if _, ok := q.pool[e]; ok {
return
}
for k, v := range q.tables {
size := len(v.queue)
if size == 0 {
continue
}
arr := v.queue[size-1]
if k+1 >= len(q.tables) {
q.tables = append(q.tables, &groupArray{})
}
q.tables[k+1].queue = append(q.tables[k+1].queue, arr)
q.tables[k].queue = v.queue[:size-1]
arr.queuePos = len(q.tables[k+1].queue) - 1
arr.Array = append(arr.Array, e)
q.pool[e] = arr
return
}
return
}
func (q *BalanceQueue) Pop(e Element) {
group, ok := q.pool[e]
if !ok {
return
}
delete(q.pool, e)
count := len(group.Array)
for i := 0; i < count; i++ {
if group.Array[i] == e {
group.Array[i] = group.Array[count-1]
group.Array = group.Array[:count-1]
bqPos := group.queuePos
queCount := len(q.tables[count].queue)
q.tables[count].queue[bqPos] = q.tables[count].queue[queCount-1]
q.tables[count].queue[bqPos].queuePos = bqPos
q.tables[count].queue = q.tables[count].queue[:queCount-1]
q.tables[count-1].queue = append(q.tables[count-1].queue, group)
group.queuePos = len(q.tables[count-1].queue) - 1
return
}
}
}

View File

@ -0,0 +1,40 @@
package balancequeue
import (
"fmt"
"math/rand"
"testing"
"time"
)
type A struct {
Name string
}
func (a *A) BalanceQueueHandler() {
}
func TestOne(t *testing.T) {
q := New(5)
var es []Element
go func() {
for {
q.Update()
fmt.Println(q)
time.Sleep(time.Second)
e := &A{Name: fmt.Sprint(time.Now().Unix())}
es = append(es, e)
q.Push(e)
if rand.Intn(10) > 5 && len(es) >= 2 {
for _, v := range es[:2] {
q.Pop(v)
}
es = es[2:]
}
}
}()
time.Sleep(time.Minute)
}

View File

@ -24,7 +24,7 @@ import (
func CSBagInfo(s *netlib.Session, packetid int, data interface{}, sid int64) error { func CSBagInfo(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSBagInfoHandler Process recv ", data) logger.Logger.Trace("CSBagInfoHandler Process recv ", data)
if msg, ok := data.(*bag.CSBagInfo); ok { if msg, ok := data.(*bag.CSBagInfo); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSBagInfoHandler p == nil") logger.Logger.Warn("CSBagInfoHandler p == nil")
return nil return nil
@ -62,7 +62,7 @@ func CSUpBagInfo(s *netlib.Session, packetid int, data interface{}, sid int64) e
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSUpBagInfoHandler p == nil") logger.Logger.Warn("CSUpBagInfoHandler p == nil")
return nil return nil
@ -463,7 +463,7 @@ func CSExchangeList(s *netlib.Session, packetid int, data interface{}, sid int64
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -508,7 +508,7 @@ func CSPropExchange(s *netlib.Session, packetid int, data interface{}, sid int64
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -605,7 +605,7 @@ func CSDollChange(s *netlib.Session, packetid int, data interface{}, sid int64)
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -654,7 +654,7 @@ func CSDollChange(s *netlib.Session, packetid int, data interface{}, sid int64)
// 兑换娃娃记录 // 兑换娃娃记录
func CSDollChangeLog(s *netlib.Session, packetid int, data interface{}, sid int64) error { func CSDollChangeLog(s *netlib.Session, packetid int, data interface{}, sid int64) error {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }

View File

@ -18,7 +18,7 @@ import (
func CSChatMsgHandler(s *netlib.Session, packetid int, data interface{}, sid int64) error { func CSChatMsgHandler(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSChatMsgHandler Process recv ", data) logger.Logger.Trace("CSChatMsgHandler Process recv ", data)
if msg, ok := data.(*chat.CSChatMsg); ok { if msg, ok := data.(*chat.CSChatMsg); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSChatMsgHandler p == nil") logger.Logger.Warn("CSChatMsgHandler p == nil")
return nil return nil
@ -107,7 +107,7 @@ func CSChatMsgHandler(s *netlib.Session, packetid int, data interface{}, sid int
func CSGetChatLogHandler(s *netlib.Session, packetid int, data interface{}, sid int64) error { func CSGetChatLogHandler(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSGetChatLogHandler Process recv ", data) logger.Logger.Trace("CSGetChatLogHandler Process recv ", data)
if msg, ok := data.(*chat.CSGetChatLog); ok { if msg, ok := data.(*chat.CSGetChatLog); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSGetChatLogHandler p == nil") logger.Logger.Warn("CSGetChatLogHandler p == nil")
return nil return nil
@ -265,7 +265,7 @@ func CSGetChatLogHandler(s *netlib.Session, packetid int, data interface{}, sid
func CSReadChatMsgHandler(s *netlib.Session, packetid int, data interface{}, sid int64) error { func CSReadChatMsgHandler(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSReadChatMsgHandler Process recv ", data) logger.Logger.Trace("CSReadChatMsgHandler Process recv ", data)
if msg, ok := data.(*chat.CSReadChatMsg); ok { if msg, ok := data.(*chat.CSReadChatMsg); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSReadChatMsgHandler p == nil") logger.Logger.Warn("CSReadChatMsgHandler p == nil")
return nil return nil
@ -288,7 +288,7 @@ func CSReadChatMsgHandler(s *netlib.Session, packetid int, data interface{}, sid
func CSShieldMsgHandler(s *netlib.Session, packetid int, data interface{}, sid int64) error { func CSShieldMsgHandler(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSShieldMsgHandler Process recv ", data) logger.Logger.Trace("CSShieldMsgHandler Process recv ", data)
if msg, ok := data.(*chat.CSShieldMsg); ok { if msg, ok := data.(*chat.CSShieldMsg); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSShieldMsgHandler p == nil") logger.Logger.Warn("CSShieldMsgHandler p == nil")
return nil return nil

View File

@ -22,7 +22,7 @@ func (this *CSCoinSceneGetPlayerNumPacketFactory) CreatePacket() interface{} {
func (this *CSCoinSceneGetPlayerNumHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSCoinSceneGetPlayerNumHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSCoinSceneGetPlayerNumHandler Process recv ", data) logger.Logger.Trace("CSCoinSceneGetPlayerNumHandler Process recv ", data)
if msg, ok := data.(*gamehall.CSCoinSceneGetPlayerNum); ok { if msg, ok := data.(*gamehall.CSCoinSceneGetPlayerNum); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p != nil { if p != nil {
nums := CoinSceneMgrSingleton.GetPlayerNums(p, msg.GetGameId(), msg.GetGameModel()) nums := CoinSceneMgrSingleton.GetPlayerNums(p, msg.GetGameId(), msg.GetGameModel())
pack := &gamehall.SCCoinSceneGetPlayerNum{ pack := &gamehall.SCCoinSceneGetPlayerNum{
@ -48,7 +48,7 @@ func (this *CSCoinSceneGetPlayerNumHandler) Process(s *netlib.Session, packetid
//func (this *CSCoinSceneOpHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { //func (this *CSCoinSceneOpHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
// logger.Logger.Trace("CSCoinSceneOpHandler Process recv ", data) // logger.Logger.Trace("CSCoinSceneOpHandler Process recv ", data)
// if msg, ok := data.(*gamehall.CSCoinSceneOp); ok { // if msg, ok := data.(*gamehall.CSCoinSceneOp); ok {
// p := PlayerMgrSington.GetPlayer(sid) // p := PlayerMgrSington.GetOnlinePlayer(sid)
// if p != nil { // if p != nil {
// var ret gamehall.OpResultCode // var ret gamehall.OpResultCode
// pack := &gamehall.SCCoinSceneOp{ // pack := &gamehall.SCCoinSceneOp{
@ -271,7 +271,7 @@ func (this *CSCoinSceneGetPlayerNumHandler) Process(s *netlib.Session, packetid
//func (this *CSCoinSceneListRoomHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { //func (this *CSCoinSceneListRoomHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
// logger.Logger.Trace("CSCoinSceneListRoomHandler Process recv ", data) // logger.Logger.Trace("CSCoinSceneListRoomHandler Process recv ", data)
// if msg, ok := data.(*gamehall.CSCoinSceneListRoom); ok { // if msg, ok := data.(*gamehall.CSCoinSceneListRoom); ok {
// p := PlayerMgrSington.GetPlayer(sid) // p := PlayerMgrSington.GetOnlinePlayer(sid)
// if p != nil { // if p != nil {
// if !CoinSceneMgrSingleton.ListRooms(p, msg.GetId()) { // 场次id // if !CoinSceneMgrSingleton.ListRooms(p, msg.GetId()) { // 场次id
// pack := &gamehall.SCCoinSceneListRoom{ // pack := &gamehall.SCCoinSceneListRoom{

View File

@ -32,7 +32,7 @@ func (this *CSFriendListPacketFactory) CreatePacket() interface{} {
func (this *CSFriendListHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSFriendListHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSFriendListHandler Process recv ", data) logger.Logger.Trace("CSFriendListHandler Process recv ", data)
if msg, ok := data.(*friend.CSFriendList); ok { if msg, ok := data.(*friend.CSFriendList); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSFriendListHandler p == nil") logger.Logger.Warn("CSFriendListHandler p == nil")
return nil return nil
@ -150,7 +150,7 @@ func (this *CSFriendOpPacketFactory) CreatePacket() interface{} {
func (this *CSFriendOpHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSFriendOpHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSFriendOpHandler Process recv ", data) logger.Logger.Trace("CSFriendOpHandler Process recv ", data)
if msg, ok := data.(*friend.CSFriendOp); ok { if msg, ok := data.(*friend.CSFriendOp); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSFriendOpHandler p == nil") logger.Logger.Warn("CSFriendOpHandler p == nil")
return nil return nil
@ -225,7 +225,7 @@ func (this *CSQueryPlayerGameLogPacketFactory) CreatePacket() interface{} {
func (this *CSQueryPlayerGameLogHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSQueryPlayerGameLogHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSQueryPlayerGameLogHandler Process recv ", data) logger.Logger.Trace("CSQueryPlayerGameLogHandler Process recv ", data)
if msg, ok := data.(*friend.CSQueryPlayerGameLog); ok { if msg, ok := data.(*friend.CSQueryPlayerGameLog); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSQueryPlayerGameLogHandler p == nil") logger.Logger.Warn("CSQueryPlayerGameLogHandler p == nil")
return nil return nil
@ -278,7 +278,7 @@ func (this *CSInviteFriendPacketFactory) CreatePacket() interface{} {
func (this *CSInviteFriendHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSInviteFriendHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSInviteFriendHandler Process recv ", data) logger.Logger.Trace("CSInviteFriendHandler Process recv ", data)
if msg, ok := data.(*friend.CSInviteFriend); ok { if msg, ok := data.(*friend.CSInviteFriend); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSInviteFriendHandler p == nil") logger.Logger.Warn("CSInviteFriendHandler p == nil")
return nil return nil
@ -396,7 +396,7 @@ func (this *CSInviteFriendOpPacketFactory) CreatePacket() interface{} {
func (this *CSInviteFriendOpHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSInviteFriendOpHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSInviteFriendOpHandler Process recv ", data) logger.Logger.Trace("CSInviteFriendOpHandler Process recv ", data)
if msg, ok := data.(*friend.CSInviteFriendOp); ok { if msg, ok := data.(*friend.CSInviteFriendOp); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSInviteFriendOpHandler p == nil") logger.Logger.Warn("CSInviteFriendOpHandler p == nil")
return nil return nil
@ -596,7 +596,7 @@ func (this *CSFuzzyQueryPlayerPacketFactory) CreatePacket() interface{} {
func (this *CSFuzzyQueryPlayerHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSFuzzyQueryPlayerHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSFuzzyQueryPlayerHandler Process recv ", data) logger.Logger.Trace("CSFuzzyQueryPlayerHandler Process recv ", data)
if msg, ok := data.(*friend.CSFuzzyQueryPlayer); ok { if msg, ok := data.(*friend.CSFuzzyQueryPlayer); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSFuzzyQueryPlayerHandler p == nil") logger.Logger.Warn("CSFuzzyQueryPlayerHandler p == nil")
return nil return nil

View File

@ -37,7 +37,7 @@ func (this *CSEnterRoomHandler) Process(s *netlib.Session, packetid int, data in
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -212,7 +212,7 @@ func (this *CSReturnRoomPacketFactory) CreatePacket() interface{} {
func (this *CSReturnRoomHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSReturnRoomHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSReturnRoomHandler Process recv ", data) logger.Logger.Trace("CSReturnRoomHandler Process recv ", data)
if msg, ok := data.(*gamehall.CSReturnRoom); ok { if msg, ok := data.(*gamehall.CSReturnRoom); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -297,7 +297,7 @@ func (this *CSQueryRoomInfoHandler) Process(s *netlib.Session, packetid int, dat
func (this *CSQueryRoomInfoHandler) ProcessLocalGame(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSQueryRoomInfoHandler) ProcessLocalGame(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSQueryRoomInfoHandler Process recv ProcessLocalGame", data) logger.Logger.Trace("CSQueryRoomInfoHandler Process recv ProcessLocalGame", data)
if msg, ok := data.(*gamehall.CSQueryRoomInfo); ok { if msg, ok := data.(*gamehall.CSQueryRoomInfo); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSQueryRoomInfoHandler p == nil") logger.Logger.Warn("CSQueryRoomInfoHandler p == nil")
return nil return nil
@ -370,7 +370,7 @@ func (this *CSGetGameConfigPacketFactory) CreatePacket() interface{} {
func (this *CSGetGameConfigHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSGetGameConfigHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSGetGameConfigHandler Process recv ", data) logger.Logger.Trace("CSGetGameConfigHandler Process recv ", data)
if msg, ok := data.(*gamehall.CSGetGameConfig); ok { if msg, ok := data.(*gamehall.CSGetGameConfig); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSGetGameConfigHandler p == nil") logger.Logger.Warn("CSGetGameConfigHandler p == nil")
return nil return nil
@ -433,7 +433,7 @@ func (this *CSEnterGameHandler) ProcessLocal(s *netlib.Session, packetid int, da
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -546,7 +546,7 @@ func (this *CSEnterGameHandler) ProcessNormal(s *netlib.Session, packetid int, d
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -685,7 +685,7 @@ func (this *CSQuitGamePacketFactory) CreatePacket() interface{} {
func (this *CSQuitGameHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSQuitGameHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSQuitGameHandler Process recv ", data) logger.Logger.Trace("CSQuitGameHandler Process recv ", data)
if msg, ok := data.(*gamehall.CSQuitGame); ok { if msg, ok := data.(*gamehall.CSQuitGame); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p != nil { if p != nil {
var ret gamehall.OpResultCode_Game var ret gamehall.OpResultCode_Game
pack := &gamehall.SCQuitGame{ pack := &gamehall.SCQuitGame{
@ -746,7 +746,7 @@ func (this *CSCreateRoomHandler) ProcessLocalGame(s *netlib.Session, packetid in
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -939,7 +939,7 @@ func (this *CSAudienceSitPacketFactory) CreatePacket() interface{} {
func (this *CSAudienceSitHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSAudienceSitHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSAudienceSitHandler Process recv ", data) logger.Logger.Trace("CSAudienceSitHandler Process recv ", data)
if msg, ok := data.(*gamehall.CSAudienceSit); ok { if msg, ok := data.(*gamehall.CSAudienceSit); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSAudienceSitHandler p == nil") logger.Logger.Warn("CSAudienceSitHandler p == nil")
return nil return nil
@ -998,7 +998,7 @@ func (this *CSRecordAndNoticeHandler) Process(s *netlib.Session, packetid int, d
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSRecordAndNoticeHandler p == nil") logger.Logger.Warn("CSRecordAndNoticeHandler p == nil")
return nil return nil
@ -1085,7 +1085,7 @@ func CSAudienceEnterRoomHandler(s *netlib.Session, packetId int, data interface{
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -1171,7 +1171,7 @@ func CSRoomConfigHandler(s *netlib.Session, packetId int, data interface{}, sid
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -1189,7 +1189,7 @@ func CSCreatePrivateRoomHandler(s *netlib.Session, packetId int, data interface{
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -1375,7 +1375,7 @@ func CSGetPrivateRoomListHandler(s *netlib.Session, packetId int, data interface
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -1458,7 +1458,7 @@ func CSTouchTypeHandler(s *netlib.Session, packetId int, data interface{}, sid i
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -1475,7 +1475,7 @@ func CSRoomRecruitHandler(s *netlib.Session, packetId int, data interface{}, sid
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -1505,7 +1505,7 @@ func CSInviteJoinRoomHandler(s *netlib.Session, packetId int, data interface{},
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }

View File

@ -24,7 +24,7 @@ func (this *CSHundredSceneGetPlayerNumPacketFactory) CreatePacket() interface{}
func (this *CSHundredSceneGetPlayerNumHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSHundredSceneGetPlayerNumHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSHundredSceneGetPlayerNumHandler Process recv ", data) logger.Logger.Trace("CSHundredSceneGetPlayerNumHandler Process recv ", data)
if msg, ok := data.(*gamehall.CSHundredSceneGetPlayerNum); ok { if msg, ok := data.(*gamehall.CSHundredSceneGetPlayerNum); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p != nil { if p != nil {
nums := HundredSceneMgrSingleton.GetPlayerNums(p, msg.GetGameId(), msg.GetGameModel()) nums := HundredSceneMgrSingleton.GetPlayerNums(p, msg.GetGameId(), msg.GetGameModel())
pack := &gamehall.SCHundredSceneGetPlayerNum{ pack := &gamehall.SCHundredSceneGetPlayerNum{
@ -52,7 +52,7 @@ func (this *CSHundredSceneOpPacketFactory) CreatePacket() interface{} {
func (this *CSHundredSceneOpHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSHundredSceneOpHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSHundredSceneOpHandler Process recv ", data) logger.Logger.Trace("CSHundredSceneOpHandler Process recv ", data)
if msg, ok := data.(*gamehall.CSHundredSceneOp); ok { if msg, ok := data.(*gamehall.CSHundredSceneOp); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p != nil { if p != nil {
var ret gamehall.OpResultCode_Hundred var ret gamehall.OpResultCode_Hundred
pack := &gamehall.SCHundredSceneOp{ pack := &gamehall.SCHundredSceneOp{

View File

@ -379,7 +379,7 @@ func (this *CSPlatFormPacketFactory) CreatePacket() interface{} {
func (this *CSPlatFormHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPlatFormHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSPlatFormHandler Process recv ", data) logger.Logger.Trace("CSPlatFormHandler Process recv ", data)
if _, ok := data.(*login_proto.CSPlatFormConfig); ok { if _, ok := data.(*login_proto.CSPlatFormConfig); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSPlatFormHandler p == nil") logger.Logger.Warn("CSPlatFormHandler p == nil")
return nil return nil
@ -453,7 +453,7 @@ func (this *CSPlatFormHandler) Process(s *netlib.Session, packetid int, data int
//func (this *CSBulletionInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { //func (this *CSBulletionInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
// logger.Logger.Trace("CSBulletionInfoHandler Process recv ", data) // logger.Logger.Trace("CSBulletionInfoHandler Process recv ", data)
// if msg, ok := data.(*login_proto.CSBulletionInfo); ok { // if msg, ok := data.(*login_proto.CSBulletionInfo); ok {
// p := PlayerMgrSington.GetPlayer(sid) // p := PlayerMgrSington.GetOnlinePlayer(sid)
// if p == nil { // if p == nil {
// logger.Logger.Trace("CSBulletionInfoHandler p == nil ") // logger.Logger.Trace("CSBulletionInfoHandler p == nil ")
// return nil // return nil
@ -500,7 +500,7 @@ func (this *CSPlatFormHandler) Process(s *netlib.Session, packetid int, data int
//func (this *CSCustomerInfoListHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { //func (this *CSCustomerInfoListHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
// logger.Logger.Trace("CSCustomerInfoListHandler Process recv ", data) // logger.Logger.Trace("CSCustomerInfoListHandler Process recv ", data)
// if _, ok := data.(*login_proto.CSCustomerInfoList); ok { // if _, ok := data.(*login_proto.CSCustomerInfoList); ok {
// p := PlayerMgrSington.GetPlayer(sid) // p := PlayerMgrSington.GetOnlinePlayer(sid)
// if p == nil { // if p == nil {
// logger.Logger.Trace("CSBulletionInfoHandler p == nil ") // logger.Logger.Trace("CSBulletionInfoHandler p == nil ")
// return nil // return nil
@ -608,7 +608,7 @@ func (this *CSGetThrGameCfgPacketFactory) CreatePacket() interface{} {
func (this *CSGetThrGameCfgHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSGetThrGameCfgHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSGetThrGameCfgHandler Process recv ", data) logger.Logger.Trace("CSGetThrGameCfgHandler Process recv ", data)
if msg, ok := data.(*login_proto.CSGetThrGameCfg); ok { if msg, ok := data.(*login_proto.CSGetThrGameCfg); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSGetThrGameCfgHandler p == nil") logger.Logger.Warn("CSGetThrGameCfgHandler p == nil")
return nil return nil

View File

@ -3,6 +3,7 @@ package main
import ( import (
"mongo.games.com/game/common" "mongo.games.com/game/common"
login_proto "mongo.games.com/game/protocol/login" login_proto "mongo.games.com/game/protocol/login"
"mongo.games.com/game/worldsrv/internal"
"mongo.games.com/goserver/core/logger" "mongo.games.com/goserver/core/logger"
"mongo.games.com/goserver/core/netlib" "mongo.games.com/goserver/core/netlib"
) )
@ -15,13 +16,15 @@ func SessionLogout(sid int64, drop bool) bool {
} }
ls.state = LoginStateLogout ls.state = LoginStateLogout
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p != nil { if p != nil {
p.ThirdGameLogout() p.ThirdGameLogout()
if drop { if drop {
p.DropLine() p.DropLine()
internal.FirePlayerDropLine(p)
} else { } else {
p.Logout() p.Logout()
internal.FirePlayerLogouted(p)
} }
} else { } else {
logger.Logger.Trace("SessionLogout p == nil") logger.Logger.Trace("SessionLogout p == nil")

View File

@ -22,7 +22,7 @@ func CSLotteryInfoHandler(s *netlib.Session, packetid int, data interface{}, sid
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }

View File

@ -22,7 +22,7 @@ func (this *CSReadMessagePacketFactory) CreatePacket() interface{} {
func (this *CSReadMessageHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSReadMessageHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSReadMessageHandler Process recv ", data) logger.Logger.Trace("CSReadMessageHandler Process recv ", data)
if csMessageRead, ok := data.(*message.CSMessageRead); ok { if csMessageRead, ok := data.(*message.CSMessageRead); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSReadMessageHandler p == nil") logger.Logger.Warn("CSReadMessageHandler p == nil")
return nil return nil
@ -47,7 +47,7 @@ func (this *CSDelMessagePacketFactory) CreatePacket() interface{} {
func (this *CSDelMessageHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSDelMessageHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSDelMessageHandler Process recv ", data) logger.Logger.Trace("CSDelMessageHandler Process recv ", data)
if csMessageDel, ok := data.(*message.CSMessageDel); ok { if csMessageDel, ok := data.(*message.CSMessageDel); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSDelMessageHandler p == nil") logger.Logger.Warn("CSDelMessageHandler p == nil")
return nil return nil
@ -72,7 +72,7 @@ func (this *CSGetMessageAttachPacketFactory) CreatePacket() interface{} {
func (this *CSGetMessageAttachHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSGetMessageAttachHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSGetMessageAttachHandler Process recv ", data) logger.Logger.Trace("CSGetMessageAttachHandler Process recv ", data)
if csGetMessageAttach, ok := data.(*message.CSGetMessageAttach); ok { if csGetMessageAttach, ok := data.(*message.CSGetMessageAttach); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSGetMessageAttachHandler p == nil") logger.Logger.Warn("CSGetMessageAttachHandler p == nil")
return nil return nil
@ -98,7 +98,7 @@ func (this *SCMessageListPacketFactory) CreatePacket() interface{} {
func (this *SCMessageListHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *SCMessageListHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Tracef("(this *SCMessageListHandler) Process [%v].", s.GetSessionConfig().Id) logger.Logger.Tracef("(this *SCMessageListHandler) Process [%v].", s.GetSessionConfig().Id)
if msg, ok := data.(*message.CSMessageList); ok { if msg, ok := data.(*message.CSMessageList); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
p.SendMessage(msg.GetShowId()) p.SendMessage(msg.GetShowId())
} }
return nil return nil

View File

@ -23,7 +23,7 @@ package main
//func (this *CSMNGameEnterHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { //func (this *CSMNGameEnterHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
// logger.Logger.Trace("CSMNGameEnterHandler Process recv ", data) // logger.Logger.Trace("CSMNGameEnterHandler Process recv ", data)
// if msg, ok := data.(*mngame.CSMNGameEnter); ok { // if msg, ok := data.(*mngame.CSMNGameEnter); ok {
// p := PlayerMgrSington.GetPlayer(sid) // p := PlayerMgrSington.GetOnlinePlayer(sid)
// if p != nil { // if p != nil {
// code := MiniGameMgrSington.PlayerEnter(p, msg.GetId()) // code := MiniGameMgrSington.PlayerEnter(p, msg.GetId())
// pack := &mngame.SCMNGameEnter{ // pack := &mngame.SCMNGameEnter{
@ -52,7 +52,7 @@ package main
//func (this *CSMNGameLeaveHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { //func (this *CSMNGameLeaveHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
// logger.Logger.Trace("CSMNGameLeaveHandler Process recv ", data) // logger.Logger.Trace("CSMNGameLeaveHandler Process recv ", data)
// if msg, ok := data.(*mngame.CSMNGameLeave); ok { // if msg, ok := data.(*mngame.CSMNGameLeave); ok {
// p := PlayerMgrSington.GetPlayer(sid) // p := PlayerMgrSington.GetOnlinePlayer(sid)
// if p != nil { // if p != nil {
// code := MiniGameMgrSington.PlayerLeave(p, msg.GetId()) // code := MiniGameMgrSington.PlayerLeave(p, msg.GetId())
// pack := &mngame.SCMNGameLeave{ // pack := &mngame.SCMNGameLeave{
@ -81,7 +81,7 @@ package main
//func (this *CSMNGameDispatcherHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { //func (this *CSMNGameDispatcherHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
// logger.Logger.Trace("CSMNGameDispatcherHandler Process recv ", data) // logger.Logger.Trace("CSMNGameDispatcherHandler Process recv ", data)
// if msg, ok := data.(*mngame.CSMNGameDispatcher); ok { // if msg, ok := data.(*mngame.CSMNGameDispatcher); ok {
// p := PlayerMgrSington.GetPlayer(sid) // p := PlayerMgrSington.GetOnlinePlayer(sid)
// if p != nil { // if p != nil {
// MiniGameMgrSington.PlayerMsgDispatcher(p, msg) // MiniGameMgrSington.PlayerMsgDispatcher(p, msg)
// } // }

View File

@ -27,7 +27,7 @@ func (this *CSRoleInfoPacketFactory) CreatePacket() interface{} {
func (this *CSRoleInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSRoleInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSRoleInfoHandler Process recv ", data) logger.Logger.Trace("CSRoleInfoHandler Process recv ", data)
if _, ok := data.(*pets.CSRoleInfo); ok { if _, ok := data.(*pets.CSRoleInfo); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSRoleInfoHandler p == nil") logger.Logger.Warn("CSRoleInfoHandler p == nil")
return nil return nil
@ -61,7 +61,7 @@ func (this *CSPetInfoPacketFactory) CreatePacket() interface{} {
func (this *CSPetInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPetInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSPetInfoHandler Process recv ", data) logger.Logger.Trace("CSPetInfoHandler Process recv ", data)
if _, ok := data.(*pets.CSPetInfo); ok { if _, ok := data.(*pets.CSPetInfo); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSPetInfoHandler p == nil") logger.Logger.Warn("CSPetInfoHandler p == nil")
return nil return nil
@ -95,7 +95,7 @@ func (this *CSRisingStarPacketFactory) CreatePacket() interface{} {
func (this *CSRisingStarHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSRisingStarHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSRisingStarHandler Process recv ", data) logger.Logger.Trace("CSRisingStarHandler Process recv ", data)
if msg, ok := data.(*pets.CSRisingStar); ok { if msg, ok := data.(*pets.CSRisingStar); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSRisingStarHandler p == nil") logger.Logger.Warn("CSRisingStarHandler p == nil")
return nil return nil
@ -237,7 +237,7 @@ func (this *CSRolePetUseOpPacketFactory) CreatePacket() interface{} {
func (this *CSRolePetUseOpHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSRolePetUseOpHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSRolePetUseOpHandler Process recv ", data) logger.Logger.Trace("CSRolePetUseOpHandler Process recv ", data)
if msg, ok := data.(*pets.CSRolePetUseOp); ok { if msg, ok := data.(*pets.CSRolePetUseOp); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSRolePetUseOpHandler p == nil") logger.Logger.Warn("CSRolePetUseOpHandler p == nil")
return nil return nil
@ -294,7 +294,7 @@ func (this *CSRolePetUnlockPacketFactory) CreatePacket() interface{} {
func (this *CSRolePetUnlockHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSRolePetUnlockHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSRolePetUnlockHandler Process recv ", data) logger.Logger.Trace("CSRolePetUnlockHandler Process recv ", data)
if msg, ok := data.(*pets.CSRolePetUnlock); ok { if msg, ok := data.(*pets.CSRolePetUnlock); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSRolePetUnlockHandler p == nil") logger.Logger.Warn("CSRolePetUnlockHandler p == nil")
return nil return nil
@ -409,7 +409,7 @@ func (this *CSPetSkillLevelUpPacketFactory) CreatePacket() interface{} {
func (this *CSPetSkillLevelUpHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPetSkillLevelUpHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
if msg, ok := data.(*pets.CSPetSkillLevelUp); ok { if msg, ok := data.(*pets.CSPetSkillLevelUp); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSPetSkillLevelUp p == nil") logger.Logger.Warn("CSPetSkillLevelUp p == nil")
return nil return nil
@ -487,7 +487,7 @@ func CSSkinInfo(s *netlib.Session, packetid int, data interface{}, sid int64) er
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSSkinInfo p == nil") logger.Logger.Warn("CSSkinInfo p == nil")
return nil return nil
@ -506,7 +506,7 @@ func CSSkinUse(s *netlib.Session, packetid int, data interface{}, sid int64) err
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSSkinUse p == nil") logger.Logger.Warn("CSSkinUse p == nil")
return nil return nil
@ -550,7 +550,7 @@ func CSSkinUpgrade(s *netlib.Session, packetid int, data interface{}, sid int64)
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSSkinUpgrade p == nil") logger.Logger.Warn("CSSkinUpgrade p == nil")
return nil return nil
@ -696,7 +696,7 @@ func CSSKinUnLock(s *netlib.Session, packetid int, data interface{}, sid int64)
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Errorf("CSSKinUnLock p == nil") logger.Logger.Errorf("CSSKinUnLock p == nil")
return nil return nil

View File

@ -29,7 +29,7 @@ func (this *CSPhoneLotteryInfoPacketFactory) CreatePacket() interface{} {
// 获取抽奖信息 // 获取抽奖信息
func (this *CSPhoneLotteryInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPhoneLotteryInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
if _, ok := data.(*player_proto.CSPhoneLotteryInfo); ok { if _, ok := data.(*player_proto.CSPhoneLotteryInfo); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
logger.Logger.Trace("客户端请求抽奖信息snid = ", p.SnId) logger.Logger.Trace("客户端请求抽奖信息snid = ", p.SnId)
if p == nil { if p == nil {
logger.Logger.Warn("CSPhoneLotteryInfo p == nil") logger.Logger.Warn("CSPhoneLotteryInfo p == nil")
@ -78,7 +78,7 @@ func (this *CSPhoneLotteryPacketFactory) CreatePacket() interface{} {
} }
func (this *CSPhoneLotteryHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPhoneLotteryHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
if msg, ok := data.(*player_proto.CSPhoneLottery); ok { if msg, ok := data.(*player_proto.CSPhoneLottery); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSPhoneLottery p == nil") logger.Logger.Warn("CSPhoneLottery p == nil")
return nil return nil
@ -229,7 +229,7 @@ func (this *CSDiamondLotteryInfoPacketFactory) CreatePacket() interface{} {
// 获取钻石抽奖信息 // 获取钻石抽奖信息
func (this *CSDiamondLotteryInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSDiamondLotteryInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
if _, ok := data.(*player_proto.CSDiamondLotteryInfo); ok { if _, ok := data.(*player_proto.CSDiamondLotteryInfo); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
logger.Logger.Trace("客户端请求钻石抽奖信息snid = ", p.SnId) logger.Logger.Trace("客户端请求钻石抽奖信息snid = ", p.SnId)
if p == nil { if p == nil {
logger.Logger.Warn("CSDiamondLotteryInfo p == nil") logger.Logger.Warn("CSDiamondLotteryInfo p == nil")
@ -280,7 +280,7 @@ func (this *CSDiamondLotteryPacketFactory) CreatePacket() interface{} {
// 玩家钻石抽奖 // 玩家钻石抽奖
func (this *CSDiamondLotteryHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSDiamondLotteryHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
if msg, ok := data.(*player_proto.CSDiamondLottery); ok { if msg, ok := data.(*player_proto.CSDiamondLottery); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSDiamondLottery p == nil") logger.Logger.Warn("CSDiamondLottery p == nil")
return nil return nil
@ -440,7 +440,7 @@ func (this *CSDiamondLotteryLuckyAwardPacketFactory) CreatePacket() interface{}
// 玩家钻石抽奖保底奖励 // 玩家钻石抽奖保底奖励
func (this *CSDiamondLotteryLuckyAwardHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSDiamondLotteryLuckyAwardHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
if _, ok := data.(*player_proto.CSDiamondLotteryLuckyAward); ok { if _, ok := data.(*player_proto.CSDiamondLotteryLuckyAward); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSDiamondLotteryLuckyAward p == nil") logger.Logger.Warn("CSDiamondLotteryLuckyAward p == nil")
return nil return nil

View File

@ -47,7 +47,7 @@ func (this *CSInviteCodePlayerPacketFactory) CreatePacket() interface{} {
func (this *CSInviteCodePlayerHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSInviteCodePlayerHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSInviteCodePlayerHandler Process recv ", data) logger.Logger.Trace("CSInviteCodePlayerHandler Process recv ", data)
if msg, ok := data.(*player_proto.CSPlayerInviteCode); ok { if msg, ok := data.(*player_proto.CSPlayerInviteCode); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSInviteCodePlayerHandler p == nil") logger.Logger.Warn("CSInviteCodePlayerHandler p == nil")
return nil return nil
@ -151,7 +151,7 @@ func (this *CSPlayerChangeNickHandler) Process(s *netlib.Session, packetid int,
//logger.Logger.Trace("CSPlayerChangeNickHandler Process recv ", data) //logger.Logger.Trace("CSPlayerChangeNickHandler Process recv ", data)
//if msg, ok := data.(*player_proto.CSChangeNick); ok { //if msg, ok := data.(*player_proto.CSChangeNick); ok {
// //logger.Logger.Trace("修改昵称获得IP",s.RemoteAddr()) // //logger.Logger.Trace("修改昵称获得IP",s.RemoteAddr())
// p := PlayerMgrSington.GetPlayer(sid) // p := PlayerMgrSington.GetOnlinePlayer(sid)
// if p == nil { // if p == nil {
// logger.Logger.Warn("CSPlayerChangeNickHandler p == nil") // logger.Logger.Warn("CSPlayerChangeNickHandler p == nil")
// return nil // return nil
@ -272,7 +272,7 @@ func (this *CSPlayerChangeIconPacketFactory) CreatePacket() interface{} {
func (this *CSPlayerChangeIconHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPlayerChangeIconHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSPlayerChangeIconHandler Process recv ", data) logger.Logger.Trace("CSPlayerChangeIconHandler Process recv ", data)
if msg, ok := data.(*player_proto.CSPlayerChangeIcon); ok { if msg, ok := data.(*player_proto.CSPlayerChangeIcon); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSPlayerChangeIconHandler p == nil") logger.Logger.Warn("CSPlayerChangeIconHandler p == nil")
return nil return nil
@ -311,7 +311,7 @@ func (this *CSPlayerChangeHeadOutLinePacketFactory) CreatePacket() interface{} {
func (this *CSPlayerChangeHeadOutLineHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPlayerChangeHeadOutLineHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSPlayerChangeHeadOutLineHandler Process recv ", data) logger.Logger.Trace("CSPlayerChangeHeadOutLineHandler Process recv ", data)
if msg, ok := data.(*player_proto.CSPlayerChangeHeadOutLine); ok { if msg, ok := data.(*player_proto.CSPlayerChangeHeadOutLine); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSPlayerChangeHeadOutLineHandler p == nil") logger.Logger.Warn("CSPlayerChangeHeadOutLineHandler p == nil")
return nil return nil
@ -365,7 +365,7 @@ func (this *CSPlayerChangeSexPacketFactory) CreatePacket() interface{} {
func (this *CSPlayerChangeSexHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPlayerChangeSexHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSPlayerChangeSexHandler Process recv ", data) logger.Logger.Trace("CSPlayerChangeSexHandler Process recv ", data)
if msg, ok := data.(*player_proto.CSPlayerChangeSex); ok { if msg, ok := data.(*player_proto.CSPlayerChangeSex); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSPlayerChangeSexHandler p == nil") logger.Logger.Warn("CSPlayerChangeSexHandler p == nil")
return nil return nil
@ -405,7 +405,7 @@ func (this *CSPlayerChangeSexHandler) Process(s *netlib.Session, packetid int, d
//func (this *CSUpgradeAccountHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { //func (this *CSUpgradeAccountHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
// logger.Logger.Trace("CSUpgradeAccountHandler Process recv ", data) // logger.Logger.Trace("CSUpgradeAccountHandler Process recv ", data)
// if msg, ok := data.(*player_proto.CSUpgradeAccount); ok { // if msg, ok := data.(*player_proto.CSUpgradeAccount); ok {
// p := PlayerMgrSington.GetPlayer(sid) // p := PlayerMgrSington.GetOnlinePlayer(sid)
// //
// sendPack := func(code player_proto.OpResultCode) { // sendPack := func(code player_proto.OpResultCode) {
// pack := &player_proto.SCUpgradeAccount{ // pack := &player_proto.SCUpgradeAccount{
@ -582,7 +582,7 @@ func (this *CSBindAlipayPacketFactory) CreatePacket() interface{} {
func (this *CSBindAlipayHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSBindAlipayHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSBindAlipayHandler Process recv ", data) logger.Logger.Trace("CSBindAlipayHandler Process recv ", data)
if msg, ok := data.(*player_proto.CSBindAlipay); ok { if msg, ok := data.(*player_proto.CSBindAlipay); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSBindAlipayHandler p == nil") logger.Logger.Warn("CSBindAlipayHandler p == nil")
return nil return nil
@ -712,7 +712,7 @@ func (this *CSBindBankPacketFactory) CreatePacket() interface{} {
func (this *CSBindBankHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSBindBankHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSBindBankHandler Process recv ", data) logger.Logger.Trace("CSBindBankHandler Process recv ", data)
if msg, ok := data.(*player_proto.CSBindBank); ok { if msg, ok := data.(*player_proto.CSBindBank); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSBindBankHandler p == nil") logger.Logger.Warn("CSBindBankHandler p == nil")
return nil return nil
@ -855,7 +855,7 @@ func (this *CSChangePasswordPacketFactory) CreatePacket() interface{} {
func (this *CSChangePasswordHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSChangePasswordHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSChangePasswordHandler Process recv ", data) logger.Logger.Trace("CSChangePasswordHandler Process recv ", data)
if msg, ok := data.(*player_proto.CSChangePassword); ok { if msg, ok := data.(*player_proto.CSChangePassword); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSChangePasswordHandler p == nil") logger.Logger.Warn("CSChangePasswordHandler p == nil")
return nil return nil
@ -985,7 +985,7 @@ func (this *CSPlayerSafeBoxPacketFactory) CreatePacket() interface{} {
func (this *CSPlayerSafeBoxHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPlayerSafeBoxHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSPlayerSafeBoxHandler Process recv ", data) logger.Logger.Trace("CSPlayerSafeBoxHandler Process recv ", data)
if msg, ok := data.(*player_proto.CSPlayerOpCoin); ok { if msg, ok := data.(*player_proto.CSPlayerOpCoin); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSPlayerSafeBoxHandler p == nil") logger.Logger.Warn("CSPlayerSafeBoxHandler p == nil")
return nil return nil
@ -1128,7 +1128,7 @@ func (this *CSPlayerSafeBoxCoinLogPacketFactory) CreatePacket() interface{} {
func (this *CSPlayerSafeBoxCoinLogHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPlayerSafeBoxCoinLogHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("GetSafeBoxCoinLog Process recv ", data) logger.Logger.Trace("GetSafeBoxCoinLog Process recv ", data)
if _, ok := data.(*player_proto.CSGetSafeBoxCoinLog); ok { if _, ok := data.(*player_proto.CSGetSafeBoxCoinLog); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("GetSafeBoxCoinLog p == nil") logger.Logger.Warn("GetSafeBoxCoinLog p == nil")
return nil return nil
@ -1185,7 +1185,7 @@ func (this *CSPlayerSafeBoxCoinLogHandler) Process(s *netlib.Session, packetid i
//func (this *CSPlayerGameCoinLogHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { //func (this *CSPlayerGameCoinLogHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
// logger.Logger.Trace("CSPlayerGameCoinLogHandler Process recv ", data) // logger.Logger.Trace("CSPlayerGameCoinLogHandler Process recv ", data)
// if _, ok := data.(*player_proto.CSGetGameCoinLog); ok { // if _, ok := data.(*player_proto.CSGetGameCoinLog); ok {
// p := PlayerMgrSington.GetPlayer(sid) // p := PlayerMgrSington.GetOnlinePlayer(sid)
// if p == nil { // if p == nil {
// logger.Logger.Warn("CSPlayerGameCoinLogHandler p == nil") // logger.Logger.Warn("CSPlayerGameCoinLogHandler p == nil")
// return nil // return nil
@ -1408,7 +1408,7 @@ func (this *CSPlayerRegisterHandler) Process(s *netlib.Session, packetid int, da
Plt: acc.Platform, Plt: acc.Platform,
AccId: acc.AccountId.Hex(), AccId: acc.AccountId.Hex(),
NickName: "", NickName: "",
HeadUrl: niceIdMgr.GetRobHeadUrlIdx(), HeadUrl: GetRobHeadUrlIdx(),
}) })
if pi == nil || tf == false { if pi == nil || tf == false {
return player_proto.OpResultCode_OPRC_Error return player_proto.OpResultCode_OPRC_Error
@ -1480,7 +1480,7 @@ func (this *CSCustomerNewMsgAckPacketFactory) CreatePacket() interface{} {
func (this *CSCustomerNewMsgAckHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSCustomerNewMsgAckHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSCustomerNewMsgAckHandler Process recv ", data) logger.Logger.Trace("CSCustomerNewMsgAckHandler Process recv ", data)
//if msg, ok := data.(*player_proto.CSCustomerNewMsgAck); ok { //if msg, ok := data.(*player_proto.CSCustomerNewMsgAck); ok {
// p := PlayerMgrSington.GetPlayer(sid) // p := PlayerMgrSington.GetOnlinePlayer(sid)
// if p == nil { // if p == nil {
// logger.Logger.Warn("CSCustomerNewMsgAckHandler p == nil") // logger.Logger.Warn("CSCustomerNewMsgAckHandler p == nil")
// return nil // return nil
@ -1505,7 +1505,7 @@ func (this *CSIosInstallStablePacketFactory) CreatePacket() interface{} {
func (this *CSIosInstallStableHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSIosInstallStableHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSIosInstallStableHandler Process recv ", data) logger.Logger.Trace("CSIosInstallStableHandler Process recv ", data)
//if _, ok := data.(*player_proto.CSIosInstallStable); ok { //if _, ok := data.(*player_proto.CSIosInstallStable); ok {
// p := PlayerMgrSington.GetPlayer(sid) // p := PlayerMgrSington.GetOnlinePlayer(sid)
// if p == nil { // if p == nil {
// logger.Logger.Warn("CSIosInstallStableHandler p == nil") // logger.Logger.Warn("CSIosInstallStableHandler p == nil")
// return nil // return nil
@ -1540,7 +1540,7 @@ func (this *CSFishJackpotPacketFactory) CreatePacket() interface{} {
func (this *CSFishJackpotHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSFishJackpotHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSFishJackpotHandler Process recv ", data) logger.Logger.Trace("CSFishJackpotHandler Process recv ", data)
if _, ok := data.(*player_proto.CSJackpotList); ok { if _, ok := data.(*player_proto.CSJackpotList); ok {
player := PlayerMgrSington.GetPlayer(sid) player := PlayerMgrSington.GetOnlinePlayer(sid)
if player == nil { if player == nil {
logger.Logger.Warn("CSFishJackpotHandler p == nil") logger.Logger.Warn("CSFishJackpotHandler p == nil")
return nil return nil
@ -1579,7 +1579,7 @@ func (this *CSFishJackpotCoinPacketFactory) CreatePacket() interface{} {
func (this *CSFishJackpotCoinHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSFishJackpotCoinHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSFishJackpotCoinHandler Process recv ", data) logger.Logger.Trace("CSFishJackpotCoinHandler Process recv ", data)
if _, ok := data.(*player_proto.CSFishJackpotCoin); ok { if _, ok := data.(*player_proto.CSFishJackpotCoin); ok {
player := PlayerMgrSington.GetPlayer(sid) player := PlayerMgrSington.GetOnlinePlayer(sid)
if player == nil { if player == nil {
logger.Logger.Warn("CSFishJackpotCoinHandler p == nil") logger.Logger.Warn("CSFishJackpotCoinHandler p == nil")
return nil return nil
@ -1615,7 +1615,7 @@ func (this *CSGetSpreadIsOpenPacketFactory) CreatePacket() interface{} {
func (this *CSGetSpreadIsOpenHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSGetSpreadIsOpenHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSGetSpreadIsOpenHandler Process recv ", data) logger.Logger.Trace("CSGetSpreadIsOpenHandler Process recv ", data)
if _, ok := data.(*player_proto.CSGetSpreadLWIsOpen); ok { if _, ok := data.(*player_proto.CSGetSpreadLWIsOpen); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSGetSpreadIsOpenHandler p == nil") logger.Logger.Warn("CSGetSpreadIsOpenHandler p == nil")
return nil return nil
@ -1654,7 +1654,7 @@ func (this *CSPlayerSettingPacketFactory) CreatePacket() interface{} {
func (this *CSPlayerSettingHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPlayerSettingHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSPlayerSettingHandler Process recv ", data) logger.Logger.Trace("CSPlayerSettingHandler Process recv ", data)
if msg, ok := data.(*player_proto.CSPlayerSetting); ok { if msg, ok := data.(*player_proto.CSPlayerSetting); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSPlayerSettingHandler p == nil") logger.Logger.Warn("CSPlayerSettingHandler p == nil")
return nil return nil
@ -1712,7 +1712,7 @@ func (this *CSPlayerVIPBuyPacketFactory) CreatePacket() interface{} {
func (this *CSPlayerVIPBuyHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPlayerVIPBuyHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSVIPBuy Process recv ", data) logger.Logger.Trace("CSVIPBuy Process recv ", data)
//if msg, ok := data.(*player_proto.CSVIPBuy); ok { //if msg, ok := data.(*player_proto.CSVIPBuy); ok {
// p := PlayerMgrSington.GetPlayer(sid) // p := PlayerMgrSington.GetOnlinePlayer(sid)
// if p == nil { // if p == nil {
// logger.Logger.Warn("CSPlayerVIPBuyHandler p == nil") // logger.Logger.Warn("CSPlayerVIPBuyHandler p == nil")
// return nil // return nil
@ -1737,7 +1737,7 @@ func (this *CSPlayerVIPInfoPacketFactory) CreatePacket() interface{} {
func (this *CSPlayerVIPInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPlayerVIPInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSVIPInfo Process recv ", data) logger.Logger.Trace("CSVIPInfo Process recv ", data)
if _, ok := data.(*player_proto.CSVIPInfo); ok { if _, ok := data.(*player_proto.CSVIPInfo); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSPlayerVIPInfoHandler p == nil") logger.Logger.Warn("CSPlayerVIPInfoHandler p == nil")
return nil return nil
@ -1761,7 +1761,7 @@ func (this *CSPlayerVIPDrawPacketFactory) CreatePacket() interface{} {
func (this *CSPlayerVIPDrawHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPlayerVIPDrawHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSVIPDraw Process recv ", data) logger.Logger.Trace("CSVIPDraw Process recv ", data)
if msg, ok := data.(*player_proto.CSVIPDraw); ok { if msg, ok := data.(*player_proto.CSVIPDraw); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSPlayerVIPDrawHandler p == nil") logger.Logger.Warn("CSPlayerVIPDrawHandler p == nil")
return nil return nil
@ -1786,7 +1786,7 @@ func (this *CSVIPPrivilegeInfoPacketFactory) CreatePacket() interface{} {
func (this *CSVIPPrivilegeInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSVIPPrivilegeInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSVIPPrivilegeInfoHandler Process recv ", data) logger.Logger.Trace("CSVIPPrivilegeInfoHandler Process recv ", data)
if msg, ok := data.(*player_proto.CSVIPPrivilegeInfo); ok { if msg, ok := data.(*player_proto.CSVIPPrivilegeInfo); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSVIPPrivilegeInfoHandler p == nil") logger.Logger.Warn("CSVIPPrivilegeInfoHandler p == nil")
return nil return nil
@ -1880,7 +1880,7 @@ func CSExchangeChannel(s *netlib.Session, packetid int, data interface{}, sid in
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSExchangeChannel p == nil") logger.Logger.Warn("CSExchangeChannel p == nil")
return nil return nil
@ -2141,87 +2141,59 @@ func CSPlayerData(s *netlib.Session, packetid int, data interface{}, sid int64)
return return
} }
var promoterID string PlayerMgrSington.AddPlayer(sid, pd.PlayerData, s)
var promoterCfg *PromoterConfig player := PlayerMgrSington.GetOnlinePlayer(sid)
f := func() { if player == nil {
PlayerMgrSington.AddPlayer(sid, pd.PlayerData, s)
player := PlayerMgrSington.GetPlayer(sid)
if player == nil {
return
}
if !player.IsRob {
if _, ok := BlackListMgrSington.CheckLogin(pd.PlayerData); !ok {
//黑名单用户也需要调用一下onlogin,否则会导致数据无法刷新
player.OnLogined()
player.Kickout(common.KickReason_Freeze)
return
}
}
if promoterID != "" {
key, err := GetPromoterKey(0, promoterID, "")
if err == nil {
promoterCfg = PromoterMgrSington.GetConfig(key)
if promoterCfg != nil && promoterCfg.IsInviteRoot > 0 {
player.BeUnderAgentCode = promoterID
}
}
}
var temp []byte
var ee error
di := cspl.GetDeviceInfo()
if di != "" {
var e common.Encryptor
e.Init(common.GetAppId(), player.PackageID, int32(cspl.GetTimeStamp()))
temp, ee = base64.StdEncoding.DecodeString(di)
if ee == nil {
e.Encrypt(temp, len(temp))
}
}
if isnew { //新用户赠送金币
//首次创建账号事件
//isBind := 0
//if pd.Tel != "" {
// isBind = 1
//}
//LogChannelSingleton.WriteMQData(model.GeneratePlayerEvent(model.WEBEVENT_LOGIN, pd.Platform, pd.PackageID, pd.SnId, pd.Channel, pd.BeUnderAgentCode, pd.PromoterTree, 1, 1, isBind, common.GetAppId()))
//newbieCoin := player.GetRegisterPrize()
//if newbieCoin > 0 {
// player.AddCoin(int64(newbieCoin), common.GainWay_NewPlayer, "system", "")
// //增加泥码
// player.AddDirtyCoin(0, int64(newbieCoin))
// player.ReportSystemGiveEvent(newbieCoin, common.GainWay_NewPlayer, true)
// player.AddPayCoinLog(int64(newbieCoin), model.PayCoinLogType_Coin, "NewPlayer")
// LogChannelSingleton.WriteMQData(model.GenerateSystemFreeGive(pd.SnId, pd.Name, pd.Platform, model.SystemFreeGive_GiveType_NewPlayer, model.SystemFreeGive_CoinType_Coin, int64(newbieCoin)))
//}
//if player.InviterId > 0 {
// //actRandCoinMgr.OnPlayerInvite(player.Platform, player.InviterId)
//}
}
//测试代码
playerFunc(player, cspl)
player.OnLogined()
player.SendPlayerInfo()
return return
} }
if pd.InviterId != 0 { if !player.IsRob {
// 获取推广人 if _, ok := BlackListMgrSington.CheckLogin(pd.PlayerData); !ok {
PlayerCacheMgrSingleton.UnCacheInvalidPlayerId(pd.InviterId) //黑名单用户也需要调用一下onlogin,否则会导致数据无法刷新
PlayerCacheMgrSingleton.Get(pd.Platform, pd.InviterId, func(inviter *PlayerCacheItem, async, isnew bool) { player.OnLogined()
if inviter != nil { player.Kickout(common.KickReason_Freeze)
promoterID = inviter.BeUnderAgentCode return
} }
f()
}, false)
} else {
f()
} }
var temp []byte
var ee error
di := cspl.GetDeviceInfo()
if di != "" {
var e common.Encryptor
e.Init(common.GetAppId(), player.PackageID, int32(cspl.GetTimeStamp()))
temp, ee = base64.StdEncoding.DecodeString(di)
if ee == nil {
e.Encrypt(temp, len(temp))
}
}
if isnew { //新用户赠送金币
//首次创建账号事件
//isBind := 0
//if pd.Tel != "" {
// isBind = 1
//}
//LogChannelSingleton.WriteMQData(model.GeneratePlayerEvent(model.WEBEVENT_LOGIN, pd.Platform, pd.PackageID, pd.SnId, pd.Channel, pd.BeUnderAgentCode, pd.PromoterTree, 1, 1, isBind, common.GetAppId()))
//newbieCoin := player.GetRegisterPrize()
//if newbieCoin > 0 {
// player.AddCoin(int64(newbieCoin), common.GainWay_NewPlayer, "system", "")
// //增加泥码
// player.AddDirtyCoin(0, int64(newbieCoin))
// player.ReportSystemGiveEvent(newbieCoin, common.GainWay_NewPlayer, true)
// player.AddPayCoinLog(int64(newbieCoin), model.PayCoinLogType_Coin, "NewPlayer")
// LogChannelSingleton.WriteMQData(model.GenerateSystemFreeGive(pd.SnId, pd.Name, pd.Platform, model.SystemFreeGive_GiveType_NewPlayer, model.SystemFreeGive_CoinType_Coin, int64(newbieCoin)))
//}
//if player.InviterId > 0 {
// //actRandCoinMgr.OnPlayerInvite(player.Platform, player.InviterId)
//}
}
//测试代码
playerFunc(player, cspl)
player.OnLogined()
player.SendPlayerInfo()
}, true) }, true)
return nil return nil
@ -2230,7 +2202,7 @@ func CSPlayerData(s *netlib.Session, packetid int, data interface{}, sid int64)
func CSQueryPlayer(s *netlib.Session, packetid int, data interface{}, sid int64) error { func CSQueryPlayer(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSQueryPlayerHandler Process recv ", data) logger.Logger.Trace("CSQueryPlayerHandler Process recv ", data)
if msg, ok := data.(*player_proto.CSQueryPlayer); ok { if msg, ok := data.(*player_proto.CSQueryPlayer); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSQueryPlayerHandler p == nil") logger.Logger.Warn("CSQueryPlayerHandler p == nil")
return nil return nil
@ -2333,7 +2305,7 @@ func CSSavePlayerInfo(s *netlib.Session, packetid int, data interface{}, sid int
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -2391,7 +2363,7 @@ func CSHeadUrl(s *netlib.Session, packetId int, data interface{}, sid int64) err
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSHeadUrl p == nil") logger.Logger.Warn("CSHeadUrl p == nil")
return nil return nil
@ -2420,7 +2392,7 @@ func CSBindTelInfo(s *netlib.Session, packetId int, data interface{}, sid int64)
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Error("CSBindTelInfo p == nil", sid) logger.Logger.Error("CSBindTelInfo p == nil", sid)
return nil return nil
@ -2451,7 +2423,7 @@ func CSPlayerSMSCode(s *netlib.Session, packetId int, data interface{}, sid int6
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
sendPack := func(code player_proto.OpResultCode) { sendPack := func(code player_proto.OpResultCode) {
pack := &player_proto.SCPlayerSMSCode{ pack := &player_proto.SCPlayerSMSCode{
@ -2576,7 +2548,7 @@ func CSBindTel(s *netlib.Session, packetId int, data interface{}, sid int64) err
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Error("CSBindTel p == nil", sid) logger.Logger.Error("CSBindTel p == nil", sid)
return nil return nil
@ -2822,7 +2794,7 @@ func CSBillList(s *netlib.Session, packetId int, data interface{}, sid int64) er
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -2887,7 +2859,7 @@ func CSADV(s *netlib.Session, packetId int, data interface{}, sid int64) error {
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -2908,7 +2880,7 @@ func CSADV(s *netlib.Session, packetId int, data interface{}, sid int64) error {
// 获取运营商配置 // 获取运营商配置
func CSSMSConfig(s *netlib.Session, packetId int, data interface{}, sid int64) error { func CSSMSConfig(s *netlib.Session, packetId int, data interface{}, sid int64) error {
logger.Logger.Tracef("CSSMSConfig Process %v", data) logger.Logger.Tracef("CSSMSConfig Process %v", data)
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -2947,7 +2919,7 @@ func CSSMSConfig(s *netlib.Session, packetId int, data interface{}, sid int64) e
// 获取获奖记录 // 获取获奖记录
func CSAwardLog(s *netlib.Session, packetId int, data interface{}, sid int64) error { func CSAwardLog(s *netlib.Session, packetId int, data interface{}, sid int64) error {
logger.Logger.Tracef("CSAwardLog Process %v", data) logger.Logger.Tracef("CSAwardLog Process %v", data)
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -3044,7 +3016,7 @@ func CSAwardLog(s *netlib.Session, packetId int, data interface{}, sid int64) er
return nil return nil
} }
func CSPopUpWindowsConfig(s *netlib.Session, packetId int, data interface{}, sid int64) error { func CSPopUpWindowsConfig(s *netlib.Session, packetId int, data interface{}, sid int64) error {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -3085,7 +3057,7 @@ func CSPopUpWindowsConfig(s *netlib.Session, packetId int, data interface{}, sid
func CSUpdateAttribute(s *netlib.Session, packetId int, data interface{}, sid int64) error { func CSUpdateAttribute(s *netlib.Session, packetId int, data interface{}, sid int64) error {
logger.Logger.Tracef("CSUpdateAttribute %v", data) logger.Logger.Tracef("CSUpdateAttribute %v", data)
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -3285,7 +3257,7 @@ func CSUpdateAttribute(s *netlib.Session, packetId int, data interface{}, sid in
// 获取获奖记录 // 获取获奖记录
func CSClawdollItemLog(s *netlib.Session, packetId int, data interface{}, sid int64) error { func CSClawdollItemLog(s *netlib.Session, packetId int, data interface{}, sid int64) error {
logger.Logger.Tracef("CSClawdollItemLog Process %v", data) logger.Logger.Tracef("CSClawdollItemLog Process %v", data)
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -3328,7 +3300,7 @@ func CSClawdollItemLog(s *netlib.Session, packetId int, data interface{}, sid in
func CSCLAWDOLLConfig(s *netlib.Session, packetId int, data interface{}, sid int64) error { func CSCLAWDOLLConfig(s *netlib.Session, packetId int, data interface{}, sid int64) error {
logger.Logger.Tracef("CSDollConfigHandler") logger.Logger.Tracef("CSDollConfigHandler")
if _, ok := data.(*player_proto.CSCLAWDOLLConfig); ok { if _, ok := data.(*player_proto.CSCLAWDOLLConfig); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSDollConfigHandler p == nil") logger.Logger.Warn("CSDollConfigHandler p == nil")
return nil return nil
@ -3357,7 +3329,7 @@ func CSCLAWDOLLConfig(s *netlib.Session, packetId int, data interface{}, sid int
// 客户端请求弹窗配置 // 客户端请求弹窗配置
func CSPopUpWindowConfig(s *netlib.Session, packetId int, data interface{}, sid int64) error { func CSPopUpWindowConfig(s *netlib.Session, packetId int, data interface{}, sid int64) error {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }

View File

@ -27,7 +27,7 @@ func init() {
// CSRMSeasonInfo 赛季信息 // CSRMSeasonInfo 赛季信息
func CSRMSeasonInfo(s *netlib.Session, packetId int, data interface{}, sid int64) error { func CSRMSeasonInfo(s *netlib.Session, packetId int, data interface{}, sid int64) error {
logger.Logger.Trace("CSRMSeasonInfo") logger.Logger.Trace("CSRMSeasonInfo")
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSRMSeasonInfo p == nil.") logger.Logger.Warnf("CSRMSeasonInfo p == nil.")
return nil return nil
@ -80,7 +80,7 @@ func CSRMRankConfig(s *netlib.Session, packetId int, data interface{}, sid int64
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSRMRankConfig p == nil.") logger.Logger.Warnf("CSRMRankConfig p == nil.")
return nil return nil
@ -116,7 +116,7 @@ func CSRMAwardConfig(s *netlib.Session, packetId int, data interface{}, sid int6
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSRMAwardConfig p == nil.") logger.Logger.Warnf("CSRMAwardConfig p == nil.")
return nil return nil
@ -174,7 +174,7 @@ func CSRMAward(s *netlib.Session, packetId int, data interface{}, sid int64) err
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSRMAward p == nil.") logger.Logger.Warnf("CSRMAward p == nil.")
return nil return nil

View File

@ -245,7 +245,7 @@ func init() {
if scene.starting { if scene.starting {
if scene.currRound == 1 { if scene.currRound == 1 {
scene.startTime = time.Now() scene.startTime = time.Now()
//p := PlayerMgrSington.GetPlayer(s.Sid) //p := PlayerMgrSington.GetOnlinePlayer(s.Sid)
} }
} }
if scene.starting { if scene.starting {
@ -613,7 +613,7 @@ func (this *CSPMCmdPacketFactory) CreatePacket() interface{} {
func (this *CSPMCmdHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPMCmdHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSPMCmdHandler Process recv ", data) logger.Logger.Trace("CSPMCmdHandler Process recv ", data)
if msg, ok := data.(*playerproto.CSPMCmd); ok { if msg, ok := data.(*playerproto.CSPMCmd); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Trace("CSPMCmdHandler p == nil") logger.Logger.Trace("CSPMCmdHandler p == nil")
return nil return nil
@ -652,33 +652,6 @@ func (this *CSPMCmdHandler) Process(s *netlib.Session, packetid int, data interf
return nil return nil
} }
type CSRobotChgDataPacketFactory struct {
}
type CSRobotChgDataHandler struct {
}
func (this *CSRobotChgDataPacketFactory) CreatePacket() interface{} {
pack := &playerproto.CSRobotChgData{}
return pack
}
func (this *CSRobotChgDataHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSRobotChgDataHandler Process recv ", data)
if _, ok := data.(*playerproto.CSRobotChgData); ok {
p := PlayerMgrSington.GetPlayer(sid)
if p == nil {
logger.Logger.Trace("CSRobotChgDataHandler p == nil")
return nil
}
if !p.IsRob {
logger.Logger.Trace("CSRobotChgDataHandler !p.IsRob")
return nil
}
}
return nil
}
type CSAccountInvalidPacketFactory struct { type CSAccountInvalidPacketFactory struct {
} }
type CSAccountInvalidHandler struct { type CSAccountInvalidHandler struct {
@ -692,7 +665,7 @@ func (this *CSAccountInvalidPacketFactory) CreatePacket() interface{} {
func (this *CSAccountInvalidHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSAccountInvalidHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSAccountInvalidHandler Process recv ", data) logger.Logger.Trace("CSAccountInvalidHandler Process recv ", data)
if _, ok := data.(*loginproto.CSAccountInvalid); ok { if _, ok := data.(*loginproto.CSAccountInvalid); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p != nil && p.IsRobot() { if p != nil && p.IsRobot() {
snid := p.SnId snid := p.SnId
acc := p.AccountId acc := p.AccountId
@ -718,12 +691,11 @@ func (this *CSAccountInvalidHandler) Process(s *netlib.Session, packetid int, da
} }
func init() { func init() {
// 机器人命令
common.RegisterHandler(int(playerproto.PlayerPacketID_PACKET_CS_PMCMD), &CSPMCmdHandler{}) common.RegisterHandler(int(playerproto.PlayerPacketID_PACKET_CS_PMCMD), &CSPMCmdHandler{})
netlib.RegisterFactory(int(playerproto.PlayerPacketID_PACKET_CS_PMCMD), &CSPMCmdPacketFactory{}) netlib.RegisterFactory(int(playerproto.PlayerPacketID_PACKET_CS_PMCMD), &CSPMCmdPacketFactory{})
common.RegisterHandler(int(playerproto.PlayerPacketID_PACKET_CS_ROBOTCHGDATA), &CSRobotChgDataHandler{}) // 删除机器人账号
netlib.RegisterFactory(int(playerproto.PlayerPacketID_PACKET_CS_ROBOTCHGDATA), &CSRobotChgDataPacketFactory{})
common.RegisterHandler(int(loginproto.LoginPacketID_PACKET_CS_ACCOUNTINVALID), &CSAccountInvalidHandler{}) common.RegisterHandler(int(loginproto.LoginPacketID_PACKET_CS_ACCOUNTINVALID), &CSAccountInvalidHandler{})
netlib.RegisterFactory(int(loginproto.LoginPacketID_PACKET_CS_ACCOUNTINVALID), &CSAccountInvalidPacketFactory{}) netlib.RegisterFactory(int(loginproto.LoginPacketID_PACKET_CS_ACCOUNTINVALID), &CSAccountInvalidPacketFactory{})
} }

View File

@ -29,7 +29,7 @@ func (this *CSShopInfoPacketFactory) CreatePacket() interface{} {
func (this *CSShopInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSShopInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSShopInfoHandler Process recv ", data) logger.Logger.Trace("CSShopInfoHandler Process recv ", data)
if msg, ok := data.(*shop.CSShopInfo); ok { if msg, ok := data.(*shop.CSShopInfo); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSShopInfoHandler p == nil") logger.Logger.Warn("CSShopInfoHandler p == nil")
return nil return nil
@ -62,7 +62,7 @@ func (this *CSAdLookedPacketFactory) CreatePacket() interface{} {
func (this *CSAdLookedHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSAdLookedHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSAdLookedHandler Process recv ", data) logger.Logger.Trace("CSAdLookedHandler Process recv ", data)
if msg, ok := data.(*shop.CSAdLooked); ok { if msg, ok := data.(*shop.CSAdLooked); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSAdLookedHandler p == nil") logger.Logger.Warn("CSAdLookedHandler p == nil")
return nil return nil
@ -134,7 +134,7 @@ func (this *CSVCPayShopPacketFactory) CreatePacket() interface{} {
func (this *CSVCPayShopHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSVCPayShopHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSVCPayShopHandler Process recv ", data) logger.Logger.Trace("CSVCPayShopHandler Process recv ", data)
if msg, ok := data.(*shop.CSVCPayShop); ok { if msg, ok := data.(*shop.CSVCPayShop); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSVCPayShopHandler p == nil") logger.Logger.Warn("CSVCPayShopHandler p == nil")
return nil return nil
@ -246,7 +246,7 @@ func (this *CSShopExchangeRecordPacketFactory) CreatePacket() interface{} {
func (this *CSShopExchangeRecordHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSShopExchangeRecordHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSShopExchangeRecordHandler Process recv ", data) logger.Logger.Trace("CSShopExchangeRecordHandler Process recv ", data)
if msg, ok := data.(*shop.CSShopExchangeRecord); ok { if msg, ok := data.(*shop.CSShopExchangeRecord); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSShopExchangeRecordHandler p == nil") logger.Logger.Warn("CSShopExchangeRecordHandler p == nil")
return nil return nil
@ -279,7 +279,7 @@ func (this *CSShopExchangeHandler) Process(s *netlib.Session, packetid int, data
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSShopExchangeHandler p == nil") logger.Logger.Warn("CSShopExchangeHandler p == nil")
return nil return nil
@ -362,7 +362,7 @@ func (this *CSShopExchangeListPacketFactory) CreatePacket() interface{} {
func (this *CSShopExchangeListHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSShopExchangeListHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSShopExchangeListHandler Process recv ", data) logger.Logger.Trace("CSShopExchangeListHandler Process recv ", data)
if _, ok := data.(*shop.CSShopExchangeList); ok { if _, ok := data.(*shop.CSShopExchangeList); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSShopExchangeListHandler p == nil") logger.Logger.Warn("CSShopExchangeListHandler p == nil")
return nil return nil
@ -388,7 +388,7 @@ func (this *CSPayInfoPacketFactory) CreatePacket() interface{} {
func (this *CSPayInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPayInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSPayInfoHandler Process recv ", data) logger.Logger.Trace("CSPayInfoHandler Process recv ", data)
if msg, ok := data.(*shop.CSPayInfo); ok { if msg, ok := data.(*shop.CSPayInfo); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSPayInfoHandler p == nil") logger.Logger.Warn("CSPayInfoHandler p == nil")
return nil return nil
@ -520,7 +520,7 @@ func (this *CSGetPayInfoListPacketFactory) CreatePacket() interface{} {
func (this *CSGetPayInfoListHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSGetPayInfoListHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSGetPayInfoListHandler Process recv ", data) logger.Logger.Trace("CSGetPayInfoListHandler Process recv ", data)
if msg, ok := data.(*shop.CSGetPayInfoList); ok { if msg, ok := data.(*shop.CSGetPayInfoList); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSGetPayInfoListHandler p == nil") logger.Logger.Warn("CSGetPayInfoListHandler p == nil")
return nil return nil
@ -637,7 +637,7 @@ func (this *CSPlayerAddrPacketFactory) CreatePacket() interface{} {
func (this *CSPlayerAddrHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPlayerAddrHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSPlayerAddr Process recv ", data) logger.Logger.Trace("CSPlayerAddr Process recv ", data)
if msg, ok := data.(*shop.CSPlayerAddr); ok { if msg, ok := data.(*shop.CSPlayerAddr); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSPlayerAddr p == nil") logger.Logger.Warn("CSPlayerAddr p == nil")
return nil return nil
@ -671,7 +671,7 @@ func (this *CSUpdateVipShopPacketFactory) CreatePacket() interface{} {
} }
func (this *CSUpdateVipShopHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSUpdateVipShopHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warn("CSPayInfoHandler p == nil") logger.Logger.Warn("CSPayInfoHandler p == nil")
return nil return nil

View File

@ -152,7 +152,7 @@ func CSTaskList(s *netlib.Session, packetId int, data interface{}, sid int64) er
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -199,7 +199,7 @@ func CSTaskReward(s *netlib.Session, packetId int, data interface{}, sid int64)
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -278,7 +278,7 @@ func CSTaskDebugInc(s *netlib.Session, packetId int, data interface{}, sid int64
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }

View File

@ -15,7 +15,7 @@ func CSTMInfo(s *netlib.Session, packetid int, data interface{}, sid int64) erro
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSTMInfo p == nil.") logger.Logger.Warnf("CSTMInfo p == nil.")
return nil return nil
@ -33,7 +33,7 @@ func CSSignRace(s *netlib.Session, packetid int, data interface{}, sid int64) er
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSSignRace p == nil.") logger.Logger.Warnf("CSSignRace p == nil.")
return nil return nil
@ -100,7 +100,7 @@ func CSMatchList(s *netlib.Session, packetId int, data interface{}, sid int64) e
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSMatchList p == nil.") logger.Logger.Warnf("CSMatchList p == nil.")
return nil return nil
@ -171,7 +171,7 @@ func CSRoomList(s *netlib.Session, packetId int, data interface{}, sid int64) er
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSRoomList p == nil.") logger.Logger.Warnf("CSRoomList p == nil.")
return nil return nil

View File

@ -36,7 +36,7 @@ func (this *CSGetReliefFundPacketFactory) CreatePacket() interface{} {
func (this *CSGetReliefFundHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSGetReliefFundHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSGetReliefFund Process recv ", data) logger.Logger.Trace("CSGetReliefFund Process recv ", data)
if msg, ok := data.(*welfare.CSGetReliefFund); ok { if msg, ok := data.(*welfare.CSGetReliefFund); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSGetReliefFundHandler p == nil") logger.Logger.Warnf("CSGetReliefFundHandler p == nil")
return nil return nil
@ -61,7 +61,7 @@ func (this *CSGetTurnplatePacketFactory) CreatePacket() interface{} {
func (this *CSGetTurnplateHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSGetTurnplateHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSGetTurnplate Process recv ", data) logger.Logger.Trace("CSGetTurnplate Process recv ", data)
if msg, ok := data.(*welfare.CSGetTurnplate); ok { if msg, ok := data.(*welfare.CSGetTurnplate); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSGetTurnplateHandler p == nil") logger.Logger.Warnf("CSGetTurnplateHandler p == nil")
return nil return nil
@ -91,7 +91,7 @@ func (this *CSGetAddupSignPacketFactory) CreatePacket() interface{} {
func (this *CSGetAddupSignHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSGetAddupSignHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSGetAddupSign Process recv ", data) logger.Logger.Trace("CSGetAddupSign Process recv ", data)
if msg, ok := data.(*welfare.CSGetAddupSign); ok { if msg, ok := data.(*welfare.CSGetAddupSign); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSGetAddupSignHandler p == nil") logger.Logger.Warnf("CSGetAddupSignHandler p == nil")
return nil return nil
@ -118,7 +118,7 @@ func (this *CSWelfaredInfoPacketFactory) CreatePacket() interface{} {
func (this *CSWelfaredInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSWelfaredInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSWelfaredInfo Process recv ", data) logger.Logger.Trace("CSWelfaredInfo Process recv ", data)
if _, ok := data.(*welfare.CSWelfaredInfo); ok { if _, ok := data.(*welfare.CSWelfaredInfo); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSWelfaredInfoHandler p == nil") logger.Logger.Warnf("CSWelfaredInfoHandler p == nil")
return nil return nil
@ -143,7 +143,7 @@ func (this *CSBlindBoxInfoPacketFactory) CreatePacket() interface{} {
func (this *CSBlindBoxInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSBlindBoxInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSBlindBoxInfo Process recv ", data) logger.Logger.Trace("CSBlindBoxInfo Process recv ", data)
if msg, ok := data.(*welfare.CSBlindBoxInfo); ok { if msg, ok := data.(*welfare.CSBlindBoxInfo); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSBlindBoxInfoHandler p == nil") logger.Logger.Warnf("CSBlindBoxInfoHandler p == nil")
return nil return nil
@ -168,7 +168,7 @@ func (this *CSBuyBlindBoxPacketFactory) CreatePacket() interface{} {
func (this *CSBuyBlindBoxHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSBuyBlindBoxHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSGetBlindBox Process recv ", data) logger.Logger.Trace("CSGetBlindBox Process recv ", data)
if _, ok := data.(*welfare.CSGetBlindBox); ok { if _, ok := data.(*welfare.CSGetBlindBox); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSBuyBlindBoxHandler p == nil") logger.Logger.Warnf("CSBuyBlindBoxHandler p == nil")
return nil return nil
@ -193,7 +193,7 @@ func (this *CSFirstPayInfoPacketFactory) CreatePacket() interface{} {
func (this *CSFirstPayInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSFirstPayInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSWelfareFirstPayData Process recv ", data) logger.Logger.Trace("CSWelfareFirstPayData Process recv ", data)
if _, ok := data.(*welfare.CSWelfareFirstPayData); ok { if _, ok := data.(*welfare.CSWelfareFirstPayData); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSFirstPayInfoHandler p == nil") logger.Logger.Warnf("CSFirstPayInfoHandler p == nil")
return nil return nil
@ -218,7 +218,7 @@ func (this *CSBuyFirstPayPacketFactory) CreatePacket() interface{} {
func (this *CSBuyFirstPayHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSBuyFirstPayHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSWelfareFirstPay Process recv ", data) logger.Logger.Trace("CSWelfareFirstPay Process recv ", data)
if _, ok := data.(*welfare.CSWelfareFirstPay); ok { if _, ok := data.(*welfare.CSWelfareFirstPay); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSBuyFirstPayHandler p == nil") logger.Logger.Warnf("CSBuyFirstPayHandler p == nil")
return nil return nil
@ -243,7 +243,7 @@ func (this *CSContinuousPayInfoPacketFactory) CreatePacket() interface{} {
func (this *CSContinuousPayInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSContinuousPayInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSWelfareContinuousPayData Process recv ", data) logger.Logger.Trace("CSWelfareContinuousPayData Process recv ", data)
if _, ok := data.(*welfare.CSWelfareContinuousPayData); ok { if _, ok := data.(*welfare.CSWelfareContinuousPayData); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSContinuousPayInfoHandler p == nil") logger.Logger.Warnf("CSContinuousPayInfoHandler p == nil")
return nil return nil
@ -268,7 +268,7 @@ func (this *CSBuyContinuousPayPacketFactory) CreatePacket() interface{} {
func (this *CSBuyContinuousPayHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSBuyContinuousPayHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSWelfareContinuousPay Process recv ", data) logger.Logger.Trace("CSWelfareContinuousPay Process recv ", data)
if _, ok := data.(*welfare.CSWelfareContinuousPay); ok { if _, ok := data.(*welfare.CSWelfareContinuousPay); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSBuyContinuousPayHandler p == nil") logger.Logger.Warnf("CSBuyContinuousPayHandler p == nil")
return nil return nil
@ -285,7 +285,7 @@ func CSWelfRelief(s *netlib.Session, packetid int, data interface{}, sid int64)
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -305,7 +305,7 @@ func CSWelfRelief(s *netlib.Session, packetid int, data interface{}, sid int64)
func CSInviteInfo(s *netlib.Session, packetid int, data interface{}, sid int64) error { func CSInviteInfo(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Tracef("CSInviteInfo Process recv %v", data) logger.Logger.Tracef("CSInviteInfo Process recv %v", data)
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -383,7 +383,7 @@ func CSBindInvite(s *netlib.Session, packetid int, data interface{}, sid int64)
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -591,7 +591,7 @@ func CSPermitInfo(s *netlib.Session, packetid int, data interface{}, sid int64)
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -710,7 +710,7 @@ func CSPermitAward(s *netlib.Session, packetid int, data interface{}, sid int64)
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -935,7 +935,7 @@ func CSPermitExchangeList(s *netlib.Session, packetid int, data interface{}, sid
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -1004,7 +1004,7 @@ func CSPermitExchange(s *netlib.Session, packetid int, data interface{}, sid int
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -1146,7 +1146,7 @@ func CSPermitShop(s *netlib.Session, packetid int, data interface{}, sid int64)
if !ok { if !ok {
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }
@ -1202,7 +1202,7 @@ func (this *CSPigBankGetInfoPacketFactory) CreatePacket() interface{} {
func (this *CSPigBankGetInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPigBankGetInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSPigbankGetInfo Process recv ", data) logger.Logger.Trace("CSPigbankGetInfo Process recv ", data)
if _, ok := data.(*welfare.CSPigbankGetInfo); ok { if _, ok := data.(*welfare.CSPigbankGetInfo); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSPigBankGetInfoHandler p == nil") logger.Logger.Warnf("CSPigBankGetInfoHandler p == nil")
return nil return nil
@ -1227,7 +1227,7 @@ func (this *CSPigBankTakeCoinPacketFactory) CreatePacket() interface{} {
func (this *CSPigBankTakeCoinHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSPigBankTakeCoinHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSPigbankTakeCoin Process recv ", data) logger.Logger.Trace("CSPigbankTakeCoin Process recv ", data)
if _, ok := data.(*welfare.CSPigbankTakeCoin); ok { if _, ok := data.(*welfare.CSPigbankTakeCoin); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSPigBankTakeCoinHandler p == nil") logger.Logger.Warnf("CSPigBankTakeCoinHandler p == nil")
return nil return nil
@ -1252,7 +1252,7 @@ func (this *CSSignDayAddup2AwardPacketFactory) CreatePacket() interface{} {
func (this *CSSignDayAddup2AwardHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSSignDayAddup2AwardHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSSignDayAddup2Award Process recv ", data) logger.Logger.Trace("CSSignDayAddup2Award Process recv ", data)
if msg, ok := data.(*welfare.CSSignDayAddup2Award); ok { if msg, ok := data.(*welfare.CSSignDayAddup2Award); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSPigBankTakeCoinHandler p == nil") logger.Logger.Warnf("CSPigBankTakeCoinHandler p == nil")
return nil return nil
@ -1276,7 +1276,7 @@ func (this *CSDiamondBankGetInfoPacketFactory) CreatePacket() interface{} {
func (this *CSDiamondBankGetInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSDiamondBankGetInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSDiamondBankGetInfo Process recv ", data) logger.Logger.Trace("CSDiamondBankGetInfo Process recv ", data)
if _, ok := data.(*welfare.CSDiamondBankGetInfo); ok { if _, ok := data.(*welfare.CSDiamondBankGetInfo); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSPigBankTakeCoinHandler p == nil") logger.Logger.Warnf("CSPigBankTakeCoinHandler p == nil")
return nil return nil
@ -1301,7 +1301,7 @@ func (this *CSDiamondBankTakeDiamondPacketFactory) CreatePacket() interface{} {
func (this *CSDiamondBankTakeDiamondHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { func (this *CSDiamondBankTakeDiamondHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
logger.Logger.Trace("CSDiamondBankGetInfo Process recv ", data) logger.Logger.Trace("CSDiamondBankGetInfo Process recv ", data)
if _, ok := data.(*welfare.CSDiamondBankTakeDiamond); ok { if _, ok := data.(*welfare.CSDiamondBankTakeDiamond); ok {
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
logger.Logger.Warnf("CSPigBankTakeCoinHandler p == nil") logger.Logger.Warnf("CSPigBankTakeCoinHandler p == nil")
return nil return nil
@ -1318,7 +1318,7 @@ func CSClientUpgrades(s *netlib.Session, packetid int, data interface{}, sid int
return nil return nil
} }
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p == nil { if p == nil {
return nil return nil
} }

View File

@ -1,151 +1,52 @@
package main package main
import ( import (
"fmt"
"strings"
"time" "time"
"mongo.games.com/goserver/core/logger"
"mongo.games.com/goserver/core/module" "mongo.games.com/goserver/core/module"
"mongo.games.com/game/util/balancequeue"
) )
type SaveTaskHandler interface {
Time2Save()
}
var SaverSliceNumber = 600
var DbSaveInst = &DbSaver{ var DbSaveInst = &DbSaver{
Tick: int32(SaverSliceNumber), GroupNumber: 5,
index: 0,
init: false,
list: make([]*SaverArray, SaverSliceNumber),
queue: make([]*BalanceQueue, 10),
pool: make(map[SaveTaskHandler]*SaverArray),
} }
type DbSaver struct { type DbSaver struct {
Tick int32 // 最大索引 GroupNumber int
index int32 // 循环索引 *balancequeue.BalanceQueue
list []*SaverArray m map[int32]balancequeue.Element
queue []*BalanceQueue
init bool
pool map[SaveTaskHandler]*SaverArray
}
func (this *DbSaver) String() string {
buf := strings.Builder{}
buf.WriteString("DbSaver:\n")
buf.WriteString(fmt.Sprintf("Tick: %v\n", this.Tick))
buf.WriteString(fmt.Sprintf("List: %v\n", len(this.list)))
buf.WriteString(fmt.Sprintf("Queue: %v\n", len(this.queue)))
for k, v := range this.queue {
buf.WriteString(fmt.Sprintf("q%v: %v\n", k, len(v.queue)))
}
return buf.String()
}
// pushBalanceSaverArray 向队列中添加SaveTaskHandler
func (this *DbSaver) pushBalanceSaverArray(sth SaveTaskHandler) {
if sth == nil {
return
}
if _, exist := this.pool[sth]; exist {
return
}
for pos, bq := range this.queue {
size := len(bq.queue)
if size > 0 {
arr := bq.queue[size-1]
if pos+1 >= len(this.queue) {
this.queue = append(this.queue, &BalanceQueue{})
}
this.queue[pos+1].queue = append(this.queue[pos+1].queue, arr)
this.queue[pos].queue = bq.queue[:size-1]
arr.bqPos = len(this.queue[pos+1].queue) - 1
arr.Array = append(arr.Array, sth)
this.pool[sth] = arr
return
}
}
return
} }
// RegisterDbSaverTask 向队列中添加SaveTaskHandler // RegisterDbSaverTask 向队列中添加SaveTaskHandler
func (this *DbSaver) RegisterDbSaverTask(i interface{}) { func (this *DbSaver) RegisterDbSaverTask(i *Player) {
if st, ok := i.(SaveTaskHandler); ok { if i == nil {
this.pushBalanceSaverArray(st) return
} }
e := balancequeue.ElementWrapper(i.Time2Save)
this.m[i.GetSnId()] = e
this.Push(e)
} }
// UnregisterDbSaveTask 从队列中移除SaveTaskHandler // UnregisterDbSaveTask 从队列中移除SaveTaskHandler
func (this *DbSaver) UnregisterDbSaveTask(i interface{}) { func (this *DbSaver) UnregisterDbSaveTask(i *Player) {
if sth, ok := i.(SaveTaskHandler); ok { if i == nil {
if arr, exist := this.pool[sth]; exist { return
delete(this.pool, sth)
count := len(arr.Array)
for i := 0; i < count; i++ {
if arr.Array[i] == sth {
arr.Array[i] = arr.Array[count-1]
arr.Array = arr.Array[:count-1]
bqPos := arr.bqPos
queCount := len(this.queue[count].queue)
this.queue[count].queue[bqPos] = this.queue[count].queue[queCount-1]
this.queue[count].queue[bqPos].bqPos = bqPos
this.queue[count].queue = this.queue[count].queue[:queCount-1]
this.queue[count-1].queue = append(this.queue[count-1].queue, arr)
arr.bqPos = len(this.queue[count-1].queue) - 1
return
}
}
} else {
logger.Logger.Info("Player not in dbsaver")
}
} }
e, ok := this.m[i.GetSnId()]
if !ok {
return
}
this.Pop(e)
} }
// SaverArray 保存SaveTaskHandler的数组
type SaverArray struct {
Array []SaveTaskHandler
bqPos int
}
// BalanceQueue 保存SaveTaskHandler的队列
type BalanceQueue struct {
queue []*SaverArray
}
// //////////////////////////////////////////////////////////////////
// / Module Implement [beg]
// //////////////////////////////////////////////////////////////////
func (this *DbSaver) ModuleName() string { func (this *DbSaver) ModuleName() string {
return "dbsaver" return "dbsaver"
} }
func (this *DbSaver) Init() { func (this *DbSaver) Init() {
if this.init == false { this.BalanceQueue = balancequeue.New(this.GroupNumber)
for i := 0; i < len(this.queue); i++ { this.m = make(map[int32]balancequeue.Element)
this.queue[i] = &BalanceQueue{}
}
//初始化平衡数组所有平衡队列容量为0
for i := 0; i < int(this.Tick); i++ {
this.list[i] = &SaverArray{bqPos: i}
this.queue[0].queue = append(this.queue[0].queue, this.list[i])
}
this.init = true
}
}
func (this *DbSaver) Update() {
if this.index == this.Tick {
this.index = 0
}
sa := this.list[this.index]
for _, sth := range sa.Array {
sth.Time2Save()
}
this.index = this.index + 1
} }
func (this *DbSaver) Shutdown() { func (this *DbSaver) Shutdown() {

18
worldsrv/headurl.go Normal file
View File

@ -0,0 +1,18 @@
package main
import (
"fmt"
)
var robotHeadUrlIdx int
func GetRobHeadUrlIdx() string {
robotHeadUrlIdx++
if robotHeadUrlIdx > 1448 {
robotHeadUrlIdx = 1
}
return fmt.Sprintf("https://avatar-icon.oss-cn-guangzhou.aliyuncs.com/user_head/head_%v.jpg", robotHeadUrlIdx)
}
func GetRobHeadUrl(idx int32) string {
return fmt.Sprintf("https://avatar-icon.oss-cn-guangzhou.aliyuncs.com/user_head/head_%v.jpg", idx)
}

View File

@ -233,7 +233,7 @@ func (this *LoginStateMgr) LogoutAllBySession(session *netlib.Session) {
for sid, s := range this.statesBySid { for sid, s := range this.statesBySid {
if s.gateSess == session { if s.gateSess == session {
this.Logout(s) this.Logout(s)
p := PlayerMgrSington.GetPlayer(sid) p := PlayerMgrSington.GetOnlinePlayer(sid)
if p != nil { if p != nil {
p.DropLine() p.DropLine()
} }

View File

@ -1,113 +0,0 @@
package main
import (
"fmt"
"math/rand"
"mongo.games.com/game/proto"
player_proto "mongo.games.com/game/protocol/player"
server_proto "mongo.games.com/game/protocol/server"
"mongo.games.com/goserver/core"
"mongo.games.com/goserver/core/logger"
)
var niceIdMgr = &NiceIdManager{
SnIds: []int32{},
UsedIds: make(map[int32]int32),
}
type NiceIdManager struct {
SnIds []int32
UsedIds map[int32]int32
RobHeadUrlIdx int32
}
func (this *NiceIdManager) init() {
//this.SnIds = model.GetInvalidSnid()
//this.SnIds = make([]int32, 0, len(srvdata.PBDB_PlayerInfoMgr.Datas.Arr))
//for _, value := range srvdata.PBDB_PlayerInfoMgr.Datas.Arr {
// this.SnIds = append(this.SnIds, value.GetId())
//}
snidLen := len(this.SnIds)
logger.Logger.Info("NiceIdManager snid lens:", snidLen)
for i := 0; i < snidLen; i++ {
index := rand.Intn(snidLen)
this.SnIds[i], this.SnIds[index] = this.SnIds[index], this.SnIds[i]
}
for _, value := range niceIdMgr.SnIds {
this.UsedIds[value] = 0
}
}
func (this *NiceIdManager) PopNiceId(user int32) int32 {
if len(this.SnIds) <= 0 {
return 0
}
selId := this.SnIds[len(this.SnIds)-1]
this.SnIds = this.SnIds[:len(this.SnIds)-1]
this.UsedIds[selId] = user
logger.Logger.Infof("NiceIdManager pop niceid %v to %v", selId, user)
return selId
}
func (this *NiceIdManager) PushNiceId(snid int32) {
if _, ok := this.UsedIds[snid]; ok {
this.SnIds = append(this.SnIds, snid)
snidLen := len(this.SnIds)
index := rand.Intn(snidLen)
this.SnIds[snidLen-1], this.SnIds[index] = this.SnIds[index], this.SnIds[snidLen-1]
this.UsedIds[snid] = 0
logger.Logger.Infof("NiceIdManager push niceid %v to cache", snid)
}
}
func (this *NiceIdManager) NiceIdCheck(playerid int32) {
logger.Logger.Infof("%v be used in NiceIdManager.", playerid)
if userid, ok := this.UsedIds[playerid]; ok {
delete(this.UsedIds, playerid)
if userid != 0 {
user := PlayerMgrSington.GetPlayerBySnId(userid)
if user != nil {
user.NiceId = this.PopNiceId(userid)
if user.scene != nil {
pack := &server_proto.WGNiceIdRebind{
User: proto.Int32(userid),
NewId: proto.Int32(user.NiceId),
}
user.SendToGame(int(server_proto.SSPacketID_PACKET_GW_NICEIDREBIND), pack)
packNr := &player_proto.SCNiceIdRebind{
SnidId: proto.Int32(userid),
NiceId: proto.Int32(user.NiceId),
}
user.scene.Broadcast(int(player_proto.PlayerPacketID_PACKET_SC_NICEIDREBIND), packNr, 0)
}
}
} else {
niceIndex := -1
for key, value := range this.SnIds {
if value == playerid {
niceIndex = key
break
}
}
if niceIndex != -1 {
curCount := len(this.SnIds)
this.SnIds[niceIndex], this.SnIds[curCount-1] = this.SnIds[curCount-1], this.SnIds[niceIndex]
this.SnIds = this.SnIds[:curCount-1]
}
}
}
}
func (this *NiceIdManager) GetRobHeadUrlIdx() string {
this.RobHeadUrlIdx++
if this.RobHeadUrlIdx > 1448 {
this.RobHeadUrlIdx = 1
}
return fmt.Sprintf("https://avatar-icon.oss-cn-guangzhou.aliyuncs.com/user_head/head_%v.jpg", this.RobHeadUrlIdx)
}
func (this *NiceIdManager) GetRobHeadUrl(idx int32) string {
return fmt.Sprintf("https://avatar-icon.oss-cn-guangzhou.aliyuncs.com/user_head/head_%v.jpg", idx)
}
func init() {
core.RegisteHook(core.HOOK_BEFORE_START, func() error {
niceIdMgr.init()
return nil
})
}

View File

@ -221,7 +221,7 @@ func (p *Platform) ChangeDisabled(disable bool) bool {
} }
p.Disable = disable p.Disable = disable
if disable { //关闭平台,踢掉平台上所有的人 if disable { //关闭平台,踢掉平台上所有的人
PlayerMgrSington.KickoutByPlatform(p.IdStr) PlayerMgrSington.KickByPlatform(p.IdStr)
} }
return true return true
} }

View File

@ -370,7 +370,6 @@ func (this *Player) OnLogined() {
this.OnlineLogLogin() this.OnlineLogLogin()
this.SendToRepSrv(this.PlayerData)
//红点检测 //红点检测
this.CheckShowRed() this.CheckShowRed()
@ -1267,7 +1266,7 @@ func (this *Player) DropLine() {
proto.SetDefaults(pack) proto.SetDefaults(pack)
this.SendToGame(int(serverproto.SSPacketID_PACKET_WG_PLAYERDROPLINE), pack) this.SendToGame(int(serverproto.SSPacketID_PACKET_WG_PLAYERDROPLINE), pack)
} }
PlayerMgrSington.DroplinePlayer(this) PlayerMgrSington.DropPlayer(this)
this.sid = 0 this.sid = 0
this.gateSess = nil this.gateSess = nil
//统计在线时长日志 //统计在线时长日志
@ -1291,7 +1290,7 @@ func (this *Player) Logout() {
this.LastLogoutTime = time.Now().Local() this.LastLogoutTime = time.Now().Local()
FriendMgrSington.UpdateLogoutTime(this.Platform, this.SnId) FriendMgrSington.UpdateLogoutTime(this.Platform, this.SnId)
//clubManager.DropLinePlayer(this.SnId) //clubManager.DropLinePlayer(this.SnId)
PlayerMgrSington.DroplinePlayer(this) PlayerMgrSington.DropPlayer(this)
if !this.IsRobot() { if !this.IsRobot() {
PlayerOnlineSington.Check = true PlayerOnlineSington.Check = true
} }
@ -1345,6 +1344,7 @@ func (this *Player) SetOffline() {
} }
// OnLogouted 玩家登出 // OnLogouted 玩家登出
// 只能玩家管理器调用
func (this *Player) OnLogouted() { func (this *Player) OnLogouted() {
logger.Logger.Tracef("(this *Player) OnLogouted() %v", this.SnId) logger.Logger.Tracef("(this *Player) OnLogouted() %v", this.SnId)
@ -1354,11 +1354,6 @@ func (this *Player) OnLogouted() {
if !this.IsRob { if !this.IsRob {
FriendUnreadMgrSington.SaveFriendUnreadData(this.Platform, this.SnId) FriendUnreadMgrSington.SaveFriendUnreadData(this.Platform, this.SnId)
} }
//平台数据
//PlayerSingleAdjustMgr.DelPlayerData(this.Platform, this.SnId)
//离线玩家清空俱乐部信息
//delete(clubManager.theInClubId, this.SnId)
//登录日志 //登录日志
logState := LoginStateMgrSington.GetLoginStateBySid(this.sid) logState := LoginStateMgrSington.GetLoginStateBySid(this.sid)
@ -1376,11 +1371,6 @@ func (this *Player) OnLogouted() {
//退出通知 //退出通知
//ActMonitorMgrSington.SendActMonitorEvent(ActState_Login, this.SnId, this.Name, this.Platform, 0, 0, "", 1) //ActMonitorMgrSington.SendActMonitorEvent(ActState_Login, this.SnId, this.Name, this.Platform, 0, 0, "", 1)
// 更新数据库
logger.Logger.Tracef("###%v unmount from DBSaver[DelPlayer]", this.Name)
DbSaveInst.UnregisterDbSaveTask(this)
this.Save(true)
} }
func (this *Player) MarshalData() (d []byte, e error) { func (this *Player) MarshalData() (d []byte, e error) {
@ -1509,42 +1499,17 @@ func (this *Player) MarshalCParam() []*serverproto.PlayerCParam {
return params return params
} }
func (this *Player) SendToRepSrv(pd *model.PlayerData) {
//replaySess := srvlib.ServerSessionMgrSington.GetSession(common.GetSelfAreaId(), ReplayServerType, ReplayServerId)
//if replaySess != nil {
// var buf bytes.Buffer
// enc := gob.NewEncoder(&buf)
// err := enc.Encode(pd)
// if err != nil {
// logger.Logger.Info("(this *Player) SendToRepSrv json.Marshal error", err)
// } else {
// pack := &server_proto.WRPlayerData{
// PlayerData: buf.Bytes(),
// }
// proto.SetDefaults(pack)
// replaySess.Send(int(server_proto.SSPacketID_PACKET_WR_PlayerData), pack)
// }
//}
}
func (this *Player) CanDelete() bool {
if this.isDelete {
return true
}
return !this.IsOnLine() &&
!this.dirty &&
time.Now().Sub(this.lastSaved) > time.Minute*5 &&
this.scene == nil
}
func (this *Player) Time2Save() { func (this *Player) Time2Save() {
logger.Logger.Tracef("player save %v", this.SnId) if this == nil {
return
}
logger.Logger.Tracef("Time2Save Player %v", this.SnId)
if common.Config.IsDevMode { if common.Config.IsDevMode {
this.Save(true) this.Save(true)
} else {
this.Save(false)
} }
if this != nil && this.CanDelete() {
if this.isDelete || (!this.IsOnLine() && !this.dirty && time.Now().Sub(this.lastSaved) > time.Minute*5 && this.scene == nil) {
PlayerMgrSington.DelPlayer(this.SnId) PlayerMgrSington.DelPlayer(this.SnId)
} }
} }

View File

@ -6,19 +6,26 @@ import (
"mongo.games.com/goserver/core" "mongo.games.com/goserver/core"
"mongo.games.com/goserver/core/basic" "mongo.games.com/goserver/core/basic"
"mongo.games.com/goserver/core/logger"
"mongo.games.com/goserver/core/module" "mongo.games.com/goserver/core/module"
"mongo.games.com/goserver/core/task" "mongo.games.com/goserver/core/task"
"mongo.games.com/game/model" "mongo.games.com/game/model"
"mongo.games.com/game/util/balancequeue"
"mongo.games.com/game/worldsrv/internal" "mongo.games.com/game/worldsrv/internal"
) )
const ( /*
// InvalidPlayerCacheSec 数据不存在60秒内不再查询 查询不在线的玩家数据缓存一段时间
InvalidPlayerCacheSec int64 = 60 */
InvalidPlayerCacheMax int = 100000 const (
ListNumber int32 = 300 // InvalidPlayerCacheSec 数据不存在60秒内不再查询数据库
InvalidPlayerCacheSec int64 = 60
// InvalidPlayerCacheMax 缓存的无效玩家最大数量
InvalidPlayerCacheMax int = 100000
// ListNumber 平衡队列分组数量
ListNumber = 300
) )
func init() { func init() {
@ -30,41 +37,31 @@ var PlayerCacheMgrSingleton = &PlayerCacheMgr{
playerCbs: make(map[int32][]func(*PlayerCacheItem, bool, bool)), playerCbs: make(map[int32][]func(*PlayerCacheItem, bool, bool)),
playerInvalidIds: make(map[int32]int64), playerInvalidIds: make(map[int32]int64),
playerWaitClr: make([]*PlayerCacheItem, 0, 128), playerWaitClr: make([]*PlayerCacheItem, 0, 128),
DbSaver: &DbSaver{
Tick: ListNumber,
index: 0,
init: false,
list: make([]*SaverArray, ListNumber),
queue: make([]*BalanceQueue, 10),
pool: make(map[SaveTaskHandler]*SaverArray),
},
} }
type PlayerCacheItem struct { type PlayerCacheItem struct {
*model.PlayerData *model.PlayerData
} }
func (p *PlayerCacheItem) CanDel() bool { func (p *PlayerCacheItem) BalanceQueueHandler() {
//return !p.isOnline && time.Now().Unix()-p.lastTs > int64(ListNumber)
return true
}
func (p *PlayerCacheItem) Time2Save() {
// 并没有对缓存数据做什么操作,只是释放缓存 // 并没有对缓存数据做什么操作,只是释放缓存
if p.CanDel() { PlayerCacheMgrSingleton.playerWaitClr = append(PlayerCacheMgrSingleton.playerWaitClr, p)
PlayerCacheMgrSingleton.playerWaitClr = append(PlayerCacheMgrSingleton.playerWaitClr, p)
}
} }
type PlayerCacheMgr struct { type PlayerCacheMgr struct {
*DbSaver *balancequeue.BalanceQueue
playerMap map[int32]*PlayerCacheItem // snid; 玩家信息缓存 playerMap map[int32]*PlayerCacheItem // snid; 玩家信息缓存
playerCbs map[int32][]func(*PlayerCacheItem, bool, bool) // snid; 等待执行的回掉方法 playerCbs map[int32][]func(*PlayerCacheItem, bool, bool) // snid; 等待执行的回掉方法
playerInvalidIds map[int32]int64 // snid; 防止频繁访问数据库 playerInvalidIds map[int32]int64 // snid; 防止频繁访问数据库
playerWaitClr []*PlayerCacheItem // 根据DbSaver缓冲失效策略释放玩家数据 playerWaitClr []*PlayerCacheItem // 根据DbSaver缓冲失效策略释放玩家数据
} }
func (c *PlayerCacheMgr) Get(plt string, snid int32, cb func(*PlayerCacheItem, bool, bool), createIfNotExist bool) { // Get 获取玩家数据
// plt 平台
// snid 玩家id
// cb 回掉方法; playerInfo 玩家数据; isFindDB 是否查了数据库; isNew 是否新创建的玩家
// createIfNotExist 玩家不存在是否创建
func (c *PlayerCacheMgr) Get(plt string, snid int32, cb func(playerInfo *PlayerCacheItem, isFindDB bool, isNew bool), createIfNotExist bool) {
// 1.玩家缓冲数据存在 // 1.玩家缓冲数据存在
if p, exist := c.playerMap[snid]; exist { if p, exist := c.playerMap[snid]; exist {
cb(p, false, false) cb(p, false, false)
@ -91,11 +88,12 @@ func (c *PlayerCacheMgr) Get(plt string, snid int32, cb func(*PlayerCacheItem, b
} }
c.playerCbs[snid] = []func(*PlayerCacheItem, bool, bool){cb} c.playerCbs[snid] = []func(*PlayerCacheItem, bool, bool){cb}
var isnew bool var isNew bool
var replays []*internal.PlayerLoadReplay var replays []*internal.PlayerLoadReplay
task.New(core.CoreObject(), task.CallableWrapper(func(o *basic.Object) interface{} { task.New(core.CoreObject(), task.CallableWrapper(func(o *basic.Object) interface{} {
pi, flag := model.GetPlayerDataBySnId(plt, snid, true, createIfNotExist) pi, flag := model.GetPlayerDataBySnId(plt, snid, true, createIfNotExist)
isnew = flag isNew = flag
// 查询其它玩家数据
for _, v := range internal.GetPlayerLoads() { for _, v := range internal.GetPlayerLoads() {
replays = append(replays, v.Load(plt, snid, pi)) replays = append(replays, v.Load(plt, snid, pi))
} }
@ -119,22 +117,26 @@ func (c *PlayerCacheMgr) Get(plt string, snid int32, cb func(*PlayerCacheItem, b
} }
} }
if su {
if len(replays) != len(internal.GetPlayerLoads()) {
su = false
}
}
if !su { if !su {
c.cacheInvalidPlayerId(snid) c.cacheInvalidPlayerId(snid)
delete(c.playerCbs, snid) for _, v := range c.playerCbs[snid] {
for _, cb := range c.playerCbs[snid] { v(nil, true, false)
cb(nil, true, false)
} }
delete(c.playerCbs, snid)
return return
} }
if len(replays) == len(internal.GetPlayerLoads()) { for k, v := range internal.GetPlayerLoads() {
for k, v := range internal.GetPlayerLoads() { if v == nil || replays[k] == nil {
if v == nil || replays[k] == nil { continue
continue
}
v.Callback(pi, replays[k])
} }
v.Callback(pi, replays[k])
} }
// 查询成功缓存数据执行cb方法 // 查询成功缓存数据执行cb方法
@ -142,38 +144,35 @@ func (c *PlayerCacheMgr) Get(plt string, snid int32, cb func(*PlayerCacheItem, b
if !ok { if !ok {
item = &PlayerCacheItem{PlayerData: pi} item = &PlayerCacheItem{PlayerData: pi}
c.playerMap[snid] = item c.playerMap[snid] = item
c.RegisterDbSaverTask(item) c.Push(item)
} }
if cbs, exist := c.playerCbs[snid]; exist { for _, v := range c.playerCbs[snid] {
delete(c.playerCbs, snid) v(item, true, isNew)
for _, cb := range cbs {
cb(item, true, isnew)
}
} }
delete(c.playerCbs, snid)
})).StartByExecutor(fmt.Sprintf("Player%v", snid)) })).StartByExecutor(fmt.Sprintf("Player%v", snid))
} }
func (c *PlayerCacheMgr) GetMore(plt string, snid []int32, cb func([]*PlayerCacheItem, bool)) { //func (c *PlayerCacheMgr) GetMore(plt string, snid []int32, cb func([]*PlayerCacheItem, bool)) {
isAsyn := false // isDB := false
count := len(snid) // count := len(snid)
result := make([]*PlayerCacheItem, 0, count) // result := make([]*PlayerCacheItem, 0, count)
innerCb := func(item *PlayerCacheItem, asyn, isnew bool) { // innerCb := func(item *PlayerCacheItem, isFindDB, isNew bool) {
if item != nil { // if item != nil {
result = append(result, item) // result = append(result, item)
} // }
if asyn { // if isFindDB {
isAsyn = true // isDB = true
} // }
count-- // count--
if count == 0 { // if count == 0 {
cb(result, isAsyn) // cb(result, isDB)
} // }
} // }
for _, id := range snid { // for _, id := range snid {
c.Get(plt, id, innerCb, false) // c.Get(plt, id, innerCb, false)
} // }
} //}
func (c *PlayerCacheMgr) cacheInvalidPlayerId(snid int32) { func (c *PlayerCacheMgr) cacheInvalidPlayerId(snid int32) {
if len(c.playerInvalidIds) >= InvalidPlayerCacheMax { if len(c.playerInvalidIds) >= InvalidPlayerCacheMax {
@ -194,38 +193,72 @@ func (c *PlayerCacheMgr) UnCacheInvalidPlayerId(snid int32) {
delete(c.playerInvalidIds, snid) delete(c.playerInvalidIds, snid)
} }
// 保存没有登录缓存的玩家数据
func (c *PlayerCacheMgr) saveCache(p *PlayerCacheItem, isSync bool) {
if p == nil {
return
}
saveFunc := func(v internal.PlayerLoader) {
if v == nil {
return
}
v.Save(p.Platform, p.SnId, true, true)
logger.Logger.Infof("PlayerCacheMgr SaveCache snid:%v", p.SnId)
}
releaseFunc := func(v internal.PlayerLoader) {
if v == nil {
return
}
if PlayerMgrSington.GetPlayerBySnId(p.SnId) == nil {
v.Release(p.Platform, p.SnId)
logger.Logger.Infof("PlayerCacheMgr SaveCache Release snid:%v", p.SnId)
}
}
if PlayerMgrSington.GetPlayerBySnId(p.SnId) == nil {
if isSync {
for _, v := range internal.GetPlayerLoads() {
saveFunc(v)
releaseFunc(v)
}
} else {
for i := 0; i < len(internal.GetPlayerLoads()); i++ {
v := internal.GetPlayerLoads()[i]
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
saveFunc(v)
return nil
}), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) {
releaseFunc(v)
})).StartByExecutor(fmt.Sprintf("Player%v", p.SnId))
}
}
}
}
func (c *PlayerCacheMgr) ModuleName() string { func (c *PlayerCacheMgr) ModuleName() string {
return "PlayerCacheMgr" return "PlayerCacheMgr"
} }
func (c *PlayerCacheMgr) Init() { func (c *PlayerCacheMgr) Init() {
c.DbSaver.Init() c.BalanceQueue = balancequeue.New(ListNumber)
} }
func (c *PlayerCacheMgr) Update() { func (c *PlayerCacheMgr) Update() {
// 执行Time2Save之后清除缓存 c.BalanceQueue.Update()
c.DbSaver.Update()
for _, p := range c.playerWaitClr { for _, p := range c.playerWaitClr {
delete(c.playerMap, p.SnId) delete(c.playerMap, p.SnId)
c.UnregisterDbSaveTask(p) c.Pop(p)
// 释放玩家数据 // 更新玩家数据
if PlayerMgrSington.GetPlayerBySnId(p.SnId) == nil { c.saveCache(p, false)
for _, v := range internal.GetPlayerLoads() {
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
v.Save(p.Platform, p.SnId, true, true)
return nil
}), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) {
if PlayerMgrSington.GetPlayerBySnId(p.SnId) == nil {
v.Release(p.Platform, p.SnId)
}
})).StartByExecutor(fmt.Sprintf("Player%v", p.SnId))
}
}
} }
c.playerWaitClr = c.playerWaitClr[0:0] c.playerWaitClr = c.playerWaitClr[0:0]
} }
func (c *PlayerCacheMgr) Shutdown() { func (c *PlayerCacheMgr) Shutdown() {
for _, v := range c.playerMap {
c.saveCache(v, true)
}
module.UnregisteModule(c) module.UnregisteModule(c)
} }

View File

@ -25,7 +25,6 @@ var PlayerMgrSington = &PlayerMgr{
sidMap: make(map[int64]*Player), sidMap: make(map[int64]*Player),
snidMap: make(map[int32]*Player), snidMap: make(map[int32]*Player),
accountMap: make(map[string]*Player), accountMap: make(map[string]*Player),
tokenMap: make(map[string]*Player),
players: make([]*Player, 0, 1024), players: make([]*Player, 0, 1024),
playerOfPlatform: make(map[string]map[int32]*Player), playerOfPlatform: make(map[string]map[int32]*Player),
loading: make(map[string]*PlayerPendingData), loading: make(map[string]*PlayerPendingData),
@ -38,12 +37,16 @@ type PlayerPendingData struct {
type PlayerMgr struct { type PlayerMgr struct {
common.BaseClockSinker common.BaseClockSinker
sidMap map[int64]*Player // sid // 以连接标识为索引
snidMap map[int32]*Player // snid sidMap map[int64]*Player
accountMap map[string]*Player // accountid // 以snid为索引
tokenMap map[string]*Player // 客服token snidMap map[int32]*Player
players []*Player // 只有真实玩家 // 以账号为索引
playerOfPlatform map[string]map[int32]*Player // platform:snid;只有真实玩家 accountMap map[string]*Player
// 只有真实玩家,不包括机器人
players []*Player
// 平台id:snid:真实玩家
playerOfPlatform map[string]map[int32]*Player
loading map[string]*PlayerPendingData // accountid,控制访问频率 loading map[string]*PlayerPendingData // accountid,控制访问频率
} }
@ -100,22 +103,15 @@ func (this *PlayerMgr) AddPlayer(sid int64, playerInfo *model.PlayerData, s *net
return false return false
} }
if sid == 0 {
logger.Logger.Warnf("(this *PlayerMgr) AddPlayer player sid == 0:")
return false
}
logger.Logger.Trace("(this *PlayerMgr) AddPlayer Set player ip:", player.Ip) logger.Logger.Trace("(this *PlayerMgr) AddPlayer Set player ip:", player.Ip)
this.sidMap[sid] = player this.sidMap[sid] = player
var oldp *Player var old *Player
if p, exist := this.snidMap[player.SnId]; exist { if p, exist := this.snidMap[player.SnId]; exist {
oldp = p old = p
} }
this.snidMap[player.SnId] = player this.snidMap[player.SnId] = player
this.accountMap[player.AccountId] = player this.accountMap[player.AccountId] = player
if player.customerToken != "" {
this.tokenMap[player.customerToken] = player
}
if !player.IsRob { if !player.IsRob {
var found bool var found bool
for i, p := range this.players { for i, p := range this.players {
@ -129,9 +125,6 @@ func (this *PlayerMgr) AddPlayer(sid int64, playerInfo *model.PlayerData, s *net
if !found { if !found {
this.players = append(this.players, player) this.players = append(this.players, player)
} }
if player.HeadUrl == "" {
player.HeadUrl = niceIdMgr.GetRobHeadUrl(player.Head)
}
//平台玩家管理器 //平台玩家管理器
if pp, exist := this.playerOfPlatform[player.Platform]; exist { if pp, exist := this.playerOfPlatform[player.Platform]; exist {
@ -143,15 +136,14 @@ func (this *PlayerMgr) AddPlayer(sid int64, playerInfo *model.PlayerData, s *net
} }
logger.Logger.Tracef("###%v mount to DBSaver[AddPlayer]", player.Name) logger.Logger.Tracef("###%v mount to DBSaver[AddPlayer]", player.Name)
if oldp != nil { //删除旧的玩家 if old != nil { //删除旧的玩家
DbSaveInst.UnregisterDbSaveTask(oldp) DbSaveInst.UnregisterDbSaveTask(old)
} }
DbSaveInst.RegisterDbSaverTask(player) DbSaveInst.RegisterDbSaverTask(player)
niceIdMgr.NiceIdCheck(player.SnId)
} else {
player.NiceId = niceIdMgr.PopNiceId(player.SnId)
player.HeadUrl = niceIdMgr.GetRobHeadUrlIdx()
} }
internal.FirePlayerLogined(player)
return true return true
} }
@ -168,9 +160,6 @@ func (this *PlayerMgr) DelPlayer(snid int32) bool {
} }
delete(this.snidMap, player.SnId) delete(this.snidMap, player.SnId)
delete(this.accountMap, player.AccountId) delete(this.accountMap, player.AccountId)
if player.customerToken != "" {
delete(this.tokenMap, player.customerToken)
}
if !player.IsRob { if !player.IsRob {
index := -1 index := -1
for i, p := range this.players { for i, p := range this.players {
@ -187,8 +176,6 @@ func (this *PlayerMgr) DelPlayer(snid int32) bool {
if pp, exist := this.playerOfPlatform[player.Platform]; exist { if pp, exist := this.playerOfPlatform[player.Platform]; exist {
delete(pp, player.SnId) delete(pp, player.SnId)
} }
niceIdMgr.PushNiceId(player.NiceId)
} }
for _, v := range internal.GetPlayerLoads() { for _, v := range internal.GetPlayerLoads() {
@ -197,14 +184,16 @@ func (this *PlayerMgr) DelPlayer(snid int32) bool {
player.OnLogouted() player.OnLogouted()
DbSaveInst.UnregisterDbSaveTask(player)
player.Save(true)
return true return true
} }
// DroplinePlayer 玩家掉线或登出 // DropPlayer 玩家掉线或登出
// 1.玩家登出 // 1.玩家登出
// 2.玩家网络断开 // 2.玩家网络断开
// 3.被踢掉线 // 3.被踢掉线
func (this *PlayerMgr) DroplinePlayer(p *Player) { func (this *PlayerMgr) DropPlayer(p *Player) {
delete(this.sidMap, p.sid) delete(this.sidMap, p.sid)
} }
@ -225,8 +214,8 @@ func (this *PlayerMgr) ReholdPlayer(p *Player, newSid int64, newSess *netlib.Ses
this.sidMap[newSid] = p this.sidMap[newSid] = p
} }
// GetPlayer 获取玩家数据(玩家在线) // GetOnlinePlayer 获取玩家数据(玩家在线)
func (this *PlayerMgr) GetPlayer(id int64) *Player { func (this *PlayerMgr) GetOnlinePlayer(id int64) *Player {
if pi, ok := this.sidMap[id]; ok { if pi, ok := this.sidMap[id]; ok {
return pi return pi
} }
@ -267,28 +256,6 @@ func (this *PlayerMgr) GetPlayerByAccount(acc string) *Player {
return nil return nil
} }
func (this *PlayerMgr) GetPlayerByToken(token string) *Player {
if p, ok := this.tokenMap[token]; ok {
return p
}
return nil
}
func (this *PlayerMgr) UpdatePlayerToken(p *Player, newToken string) {
oldToken := p.customerToken
if oldToken != newToken {
if oldToken != "" {
if _, ok := this.tokenMap[oldToken]; ok {
delete(this.tokenMap, oldToken)
}
}
if newToken != "" {
this.tokenMap[newToken] = p
p.customerToken = newToken
}
}
}
// BroadcastMessage 给所有玩家发消息 // BroadcastMessage 给所有玩家发消息
func (this *PlayerMgr) BroadcastMessage(packetid int, rawpack interface{}) bool { func (this *PlayerMgr) BroadcastMessage(packetid int, rawpack interface{}) bool {
sc := &srvproto.BCSessionUnion{} sc := &srvproto.BCSessionUnion{}
@ -320,6 +287,7 @@ func (this *PlayerMgr) BroadcastMessageToPlatform(platform string, packetid int,
} }
} }
// BroadcastDataConfigToPlatform 广播配置数据更新
func (this *PlayerMgr) BroadcastDataConfigToPlatform(platform string, tp int) { func (this *PlayerMgr) BroadcastDataConfigToPlatform(platform string, tp int) {
packetId := int(playerproto.PlayerPacketID_PACKET_SCDataConfig) packetId := int(playerproto.PlayerPacketID_PACKET_SCDataConfig)
pack := &playerproto.SCDataConfig{} pack := &playerproto.SCDataConfig{}
@ -358,7 +326,8 @@ func (this *PlayerMgr) BroadcastMessageToPlatformByFunc(platform string, packeti
} }
} }
// BroadcastMessageToPlatformWithHall 给某个平台所有在大厅中的玩家发消息 // BroadcastMessageToPlatformWithHall 发送大厅消息,不包括在游戏中的玩家
// 如果是好友,支持消息屏蔽
func (this *PlayerMgr) BroadcastMessageToPlatformWithHall(platform string, snid int32, packetid int, rawpack interface{}) { func (this *PlayerMgr) BroadcastMessageToPlatformWithHall(platform string, snid int32, packetid int, rawpack interface{}) {
if platform == "" { if platform == "" {
this.BroadcastMessage(packetid, rawpack) this.BroadcastMessage(packetid, rawpack)
@ -409,9 +378,9 @@ func (this *PlayerMgr) BroadcastMessageToGroup(packetid int, rawpack interface{}
} }
// BroadcastMessageToTarget 给某些玩家发消息 // BroadcastMessageToTarget 给某些玩家发消息
func (this *PlayerMgr) BroadcastMessageToTarget(target []int32, packetid int, rawpack interface{}) { func (this *PlayerMgr) BroadcastMessageToTarget(snIds []int32, packetid int, rawpack interface{}) {
mgs := make(map[*netlib.Session][]*srvproto.MCSessionUnion) mgs := make(map[*netlib.Session][]*srvproto.MCSessionUnion)
for _, v := range target { for _, v := range snIds {
d := this.snidMap[v] d := this.snidMap[v]
if d != nil && d.gateSess != nil && d.IsOnLine() { if d != nil && d.gateSess != nil && d.IsOnLine() {
mgs[d.gateSess] = append(mgs[d.gateSess], &srvproto.MCSessionUnion{ mgs[d.gateSess] = append(mgs[d.gateSess], &srvproto.MCSessionUnion{
@ -515,55 +484,7 @@ func (this *PlayerMgr) SaveAll() {
logger.Logger.Infof("===@PlayerMgr.SaveAll END@===, total:%v saveCnt:%v failCnt:%v nochangeCnt:%v take:%v", count, saveCnt, failCnt, nochangeCnt, time.Now().Sub(start)) logger.Logger.Infof("===@PlayerMgr.SaveAll END@===, total:%v saveCnt:%v failCnt:%v nochangeCnt:%v take:%v", count, saveCnt, failCnt, nochangeCnt, time.Now().Sub(start))
} }
// 黑名单事件 func (this *PlayerMgr) KickByPlatform(name string) {
//func (this *PlayerMgr) OnAddBlackInfo(blackinfo *BlackInfo) {
// if blackinfo.Snid > 0 {
// if p := this.GetPlayerBySnId(blackinfo.Snid); p != nil {
// p.PlayerData.BlacklistType = int32(blackinfo.BlackType)
// p.dirty = true
// p.Time2Save()
// } else {
// task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
// model.UpdatePlayerBlacklistType(blackinfo.Platform, blackinfo.Snid, int32(blackinfo.BlackType))
// return nil
// }), nil, "PlayerMgrOnAddBlackInfo").Start()
// }
// }
//}
//func (this *PlayerMgr) OnEditBlackInfo(blackinfo *BlackInfo) {
// //nothing
// //if blackinfo.Snid > 0 {
// // if p := this.GetPlayerBySnId(blackinfo.Snid); p != nil {
// // p.PlayerData.BlacklistType = int32(blackinfo.BlackType)
// // p.dirty = true
// // p.Time2Save()
// // } else {
// // task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
// // model.UpdatePlayerBlacklistType(blackinfo.Platform, blackinfo.Snid, int32(blackinfo.BlackType))
// // return nil
// // }), nil, "PlayerMgrOnEditBlackInfo").Start()
// // }
// //}
//}
//func (this *PlayerMgr) OnRemoveBlackInfo(blackinfo *BlackInfo) {
// //nothing
// //if blackinfo.Snid > 0 {
// // if p := this.GetPlayerBySnId(blackinfo.Snid); p != nil {
// // p.PlayerData.BlacklistType = 0
// // p.dirty = true
// // p.Time2Save()
// // } else {
// // task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
// // model.UpdatePlayerBlacklistType(blackinfo.Platform, blackinfo.Snid, int32(0))
// // return nil
// // }), nil, "PlayerMgrOnRemoveBlackInfo").Start()
// // }
// //}
//}
func (this *PlayerMgr) KickoutByPlatform(name string) {
for _, p := range this.players { for _, p := range this.players {
if name == "" || p.Platform == name { if name == "" || p.Platform == name {
p.Kickout(common.KickReason_Disconnection) p.Kickout(common.KickReason_Disconnection)
@ -589,9 +510,6 @@ func (this *PlayerMgr) LoadRobots() {
if player != nil { if player != nil {
this.snidMap[player.SnId] = player this.snidMap[player.SnId] = player
this.accountMap[player.AccountId] = player this.accountMap[player.AccountId] = player
if player.customerToken != "" {
this.tokenMap[player.customerToken] = player
}
} }
} }
} }
@ -716,18 +634,6 @@ func (p *PlayerMgr) UpdateHeadUrl(snId int32, url string) {
} }
} }
//func (p *PlayerMgr) ModifyActSwitchToPlayer(platform string, modify bool) {
// if modify { //活动开关修改了才去更新活动开关
// if players, ok := p.playerOfPlatform[platform]; ok {
// for _, p := range players {
// if p != nil && !p.IsRob {
// p.ModifyActSwitch()
// }
// }
// }
// }
//}
/* /*
推荐好友规则 推荐好友规则
1.优先判断在线玩家人数N 1.优先判断在线玩家人数N

View File

@ -89,7 +89,7 @@ func (t *TaskLogin) Call(o *basic.Object) interface{} {
Plt: acc.Platform, Plt: acc.Platform,
AccId: acc.AccountId.Hex(), AccId: acc.AccountId.Hex(),
NickName: "", NickName: "",
HeadUrl: niceIdMgr.GetRobHeadUrlIdx(), HeadUrl: GetRobHeadUrlIdx(),
}) })
if playerData == nil || !tf { if playerData == nil || !tf {
return nil return nil