diff --git a/common/socket/ServerEvent.go b/common/socket/ServerEvent.go index 70c0e4d31..aa38a508c 100644 --- a/common/socket/ServerEvent.go +++ b/common/socket/ServerEvent.go @@ -77,7 +77,7 @@ func (s *Server) OnClose(c gnet.Conn, err error) (action gnet.Action) { return } func (s *Server) OnTick() (delay time.Duration, action gnet.Action) { - glog.Info(context.Background(), gtime.Now().ISO8601(), "链接数", atomic.LoadInt64(&s.connected)) + glog.Info(context.Background(), gtime.Now().ISO8601(), cool.Config.ServerInfo.OnlineID, "链接数", atomic.LoadInt64(&s.connected)) if s.quit && atomic.LoadInt64(&s.connected) == 0 { //执行正常退出逻辑 os.Exit(0) diff --git a/logic/service/player/player.go b/logic/service/player/player.go index 7d14e47ec..0aa1eb936 100644 --- a/logic/service/player/player.go +++ b/logic/service/player/player.go @@ -52,7 +52,7 @@ func (o *OgrePetInfo) RandSHiny() { co = config.NewShinyService().RandShiny(o.Id) } - if co != nil { + if co != nil && len(o.ShinyInfo) == 0 { o.ShinyInfo = append(o.ShinyInfo, *co) } diff --git a/modules/config/service/server.go b/modules/config/service/server.go index 1889d51ff..441400559 100644 --- a/modules/config/service/server.go +++ b/modules/config/service/server.go @@ -4,11 +4,14 @@ import ( "blazing/cool" "blazing/modules/config/model" "bufio" + "context" "fmt" "os" "sort" "github.com/gogf/gf/v2/database/gdb" + "github.com/gogf/gf/v2/frame/g" + "github.com/gogf/gf/v2/util/gconv" "github.com/qiniu/go-sdk/v7/auth/qbox" "github.com/qiniu/go-sdk/v7/storage" "golang.org/x/crypto/ssh" @@ -24,6 +27,29 @@ func NewServerService() *ServerService { cf := &ServerService{ Service: &cool.Service{ Model: model.NewServerList(), + PageQueryOp: &cool.QueryOp{ + ModifyResult: func(ctx g.Ctx, data interface{}) interface{} { + + r, _ := gconv.Map(data)["list"].(gdb.Result) + for _, v := range r { + t, ok := cool.GetClient(gconv.Uint16(v.Map()["online_id"])) + + if ok { + cool.Logger.Info(context.TODO(), "服务器假踢人") + err := t.KickPerson(0) //实现指定服务器踢人 + + if err == nil { + // tt.Friends = v.Friends + v.GMap().Set("isonline", 1) + + } + + } + + } + return data + }, + }, }, } cfg := storage.Config{ diff --git a/public/logic-logic-linux-amd64 b/public/logic-logic-linux-amd64 index 295753e4c..ab27c29d6 100644 Binary files a/public/logic-logic-linux-amd64 and b/public/logic-logic-linux-amd64 differ diff --git a/public/login-login-linux-amd64 b/public/login-login-linux-amd64 index 3b334cfc1..5b8e8a651 100644 Binary files a/public/login-login-linux-amd64 and b/public/login-login-linux-amd64 differ