diff --git a/src/server/pkg/github.com/name5566/leaf/leaf.go b/src/server/pkg/github.com/name5566/leaf/leaf.go index 5bb4665e..afc93c41 100644 --- a/src/server/pkg/github.com/name5566/leaf/leaf.go +++ b/src/server/pkg/github.com/name5566/leaf/leaf.go @@ -41,7 +41,17 @@ func Run(mods ...module.Module) { // console console.Init() - + defer func() { + if r := recover(); r != nil { + log.Debug("Leaf console error: %v", r) + log.Debug("Leaf closing down\n") + console.Destroy() + cluster.Destroy() + module.Destroy() + game.Destroy() + os.Exit(1) + } + }() // close c := make(chan os.Signal, 1) signal.Notify(c, syscall.SIGTERM, syscall.SIGINT)