diff --git a/common/socket/ServerEvent.go b/common/socket/ServerEvent.go index 80d8dd7f0..71f2beef6 100644 --- a/common/socket/ServerEvent.go +++ b/common/socket/ServerEvent.go @@ -7,6 +7,7 @@ import ( "fmt" "io" "log" + "os" "sync/atomic" "time" @@ -98,10 +99,10 @@ func (s *Server) OnClose(c gnet.Conn, err error) (action gnet.Action) { } func (s *Server) OnTick() (delay time.Duration, action gnet.Action) { g.Log().Async().Info(context.Background(), gtime.Now().ISO8601(), "服务器ID", cool.Config.ServerInfo.OnlineID, "链接数", atomic.LoadInt64(&cool.Connected)) - // if s.quit && atomic.LoadInt64(&s.connected) == 0 { - // //执行正常退出逻辑 - // os.Exit(0) - // } + if s.quit && atomic.LoadInt64(&cool.Connected) == 0 { + //执行正常退出逻辑 + os.Exit(0) + } return 30 * time.Second, gnet.None } func (s *Server) OnBoot(eng gnet.Engine) gnet.Action { diff --git a/common/socket/ServerOption.go b/common/socket/ServerOption.go index 134cfff6d..8e1f66597 100644 --- a/common/socket/ServerOption.go +++ b/common/socket/ServerOption.go @@ -23,7 +23,7 @@ type Server struct { codec codec.SocketCodec handler Handler discorse bool - //quit bool + quit bool // batchRead int serverid uint16 port uint16 diff --git a/common/socket/kick.go b/common/socket/kick.go index 3a6240f3f..300cf6125 100644 --- a/common/socket/kick.go +++ b/common/socket/kick.go @@ -40,7 +40,7 @@ func (s *Server) QuitSelf(a int) error { //TODO 这里待退出 fmt.Println("检测到退出请求") - //s.quit = true + s.quit = true if a != 0 { player.Mainplayer.Range(func(key uint32, value *player.Player) bool { if value != nil { diff --git a/logic/controller/fight_boss野怪和地图怪.go b/logic/controller/fight_boss野怪和地图怪.go index 43b105709..600ac7e5b 100644 --- a/logic/controller/fight_boss野怪和地图怪.go +++ b/logic/controller/fight_boss野怪和地图怪.go @@ -200,9 +200,9 @@ func (Controller) OnPlayerFightNpcMonster(data1 *fight.FightNpcMonsterInboundInf if foi.Reason == 0 && foi.WinnerId == p.Info.UserID { exp := uint32(xmlres.PetMAP[int(monster.ID)].YieldingExp) * monster.Level / 7 - addlevel, pookevel := p.CanGetExp() + addlevel, poolevel := p.CanGetExp() addexp := uint32(addlevel) * (exp) - poolexp := uint32(pookevel) * (exp) + poolexp := uint32(poolevel) * (exp) items := &info.S2C_GET_BOSS_MONSTER{ //EV: 45, EXP: poolexp,